From 280f6241dd89487ae4063aafade51fa57ab4e575 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 9 Jun 2023 10:09:02 +1000 Subject: [PATCH 001/103] Migration fix (#5006) - Ensure initial django_q migrations are applied - Why on earth is this failing now? --- InvenTree/stock/migrations/0071_auto_20211205_1733.py | 1 + 1 file changed, 1 insertion(+) diff --git a/InvenTree/stock/migrations/0071_auto_20211205_1733.py b/InvenTree/stock/migrations/0071_auto_20211205_1733.py index 6b0e83bfb1..31cc5f1cc1 100644 --- a/InvenTree/stock/migrations/0071_auto_20211205_1733.py +++ b/InvenTree/stock/migrations/0071_auto_20211205_1733.py @@ -38,6 +38,7 @@ def delete_scheduled(apps, schema_editor): class Migration(migrations.Migration): dependencies = [ + ('django_q', '0007_ormq'), ('stock', '0070_auto_20211128_0151'), ] From 005c8341bf2fd594d4fd1e56399bc108dc76d27e Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Fri, 9 Jun 2023 02:16:30 +0200 Subject: [PATCH 002/103] Improve devdocs (#4813) * move devcontainer docs * rename bare metal pages * fix backlinks * Add getting started for devs * add mermaid * include contrib in docs * use another plugin * include everything * update doc checks * fix install command * remove mermaid * remove inclusion tag * remove empty list item * readd include-markdown * use non-conflicting syntax for include * fix table rendering in mkdocs * make controbuting embedable * re-add mermaid * remove empty section * resturcture * remove mermaid again --- .github/workflows/qc_checks.yaml | 2 +- CONTRIBUTING.md | 8 +++--- docs/docs/develop/contributing.md | 3 +++ docs/docs/{start => develop}/devcontainer.md | 0 docs/docs/develop/starting.md | 27 +++++++++++++++++++ docs/docs/faq.md | 2 +- .../start/{development.md => bare_dev.md} | 6 ++--- .../start/{production.md => bare_prod.md} | 4 +-- docs/docs/start/install.md | 4 +-- docs/docs/start/intro.md | 4 +-- docs/docs/start/serving_files.md | 2 +- docs/mkdocs.yml | 13 ++++++--- docs/requirements.txt | 1 + 13 files changed, 56 insertions(+), 20 deletions(-) create mode 100644 docs/docs/develop/contributing.md rename docs/docs/{start => develop}/devcontainer.md (100%) create mode 100644 docs/docs/develop/starting.md rename docs/docs/start/{development.md => bare_dev.md} (88%) rename docs/docs/start/{production.md => bare_prod.md} (98%) diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml index f78f502fc9..c89cf7a8f2 100644 --- a/.github/workflows/qc_checks.yaml +++ b/.github/workflows/qc_checks.yaml @@ -99,7 +99,7 @@ jobs: python3 ci/version_check.py mkdocs: - name: Style [documentation] + name: Style [Documentation] runs-on: ubuntu-20.04 needs: paths-filter diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 994f2a4a98..2f6f6599b7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -146,7 +146,7 @@ Django are checked by [djlint](https://github.com/Riverside-Healthcare/djlint) t The following rules out of the [default set](https://djlint.com/docs/linter/) are not applied: ```bash -D018: (Django) Internal links should use the {% url ... %} pattern +D018: (Django) Internal links should use the { % url ... % } pattern H006: Img tag should have height and width attributes H008: Attributes should be double quoted H021: Inline styles should be avoided @@ -187,16 +187,16 @@ user_facing_string = _('This string will be exposed to the translation engine!') HTML and javascript files are passed through the django templating engine. Translatable strings are implemented as follows: ```html -{% load i18n %} +{ % load i18n % } -{% trans "This string will be translated" %} - this string will not! +{ % trans "This string will be translated" % } - this string will not! ``` ## Github use ### Tags The tags describe issues and PRs in multiple areas: | Area | Name | Description | -|---|---|---| +| --- | --- | --- | | Triage Labels | | | | | triage:not-checked | Item was not checked by the core team | | | triage:not-approved | Item is not green-light by maintainer | diff --git a/docs/docs/develop/contributing.md b/docs/docs/develop/contributing.md new file mode 100644 index 0000000000..7aad5d3d27 --- /dev/null +++ b/docs/docs/develop/contributing.md @@ -0,0 +1,3 @@ +{! + include-markdown "../../../CONTRIBUTING.md" +!} diff --git a/docs/docs/start/devcontainer.md b/docs/docs/develop/devcontainer.md similarity index 100% rename from docs/docs/start/devcontainer.md rename to docs/docs/develop/devcontainer.md diff --git a/docs/docs/develop/starting.md b/docs/docs/develop/starting.md new file mode 100644 index 0000000000..a47427ba19 --- /dev/null +++ b/docs/docs/develop/starting.md @@ -0,0 +1,27 @@ +--- +title: Getting started +--- + +InvenTree consists of a Django-based backend server, and a HTML / vanilla JS based frontend that uses Bootstrap. The main languages used are Python and Javascript. +As part of the larger project other languages/techniques are used, such as docker (dev/deployment), bash (installer) and markdown (documentation). + +### Getting started +#### Getting to know the basics + +The Django framework is a powerful tool for creating web applications. It is well documented and has a large community. The [Django documentation](https://docs.djangoproject.com/en/stable/) is a good place to start. + +In particular the [tutorial](https://docs.djangoproject.com/en/stable/intro/tutorial01/) is a good way to get to know the basics of Django. +InvenTree follows the best practies for Django so most of the contents should be applicable to InvenTree as well. The REST API is based on the [Django REST framework](https://www.django-rest-framework.org/). + +#### Setting up a development environment + +The recommended way to set up a development environment is to use VSCode devcontainers. The required files are provided with the repo, the docs are on a [dedicated page](./devcontainer.md). + +It is also possible to use [docker development](../start/docker_dev.md) or [bare metal development](../start/bare_dev.md). With these you need to install the required dependencies manually with a dedicated task. +```bash +invoke setup-dev +``` + +#### Following standards + +Before contributing to the project, please read the [contributing guidelines](contributing.md). Pull requests that do not follow the guidelines, do not pass QC checks or lower the test coverage will not be accepted. diff --git a/docs/docs/faq.md b/docs/docs/faq.md index faa600791c..da2b8c4f69 100644 --- a/docs/docs/faq.md +++ b/docs/docs/faq.md @@ -98,7 +98,7 @@ invoke worker ``` !!! info "Supervisor" - A better option is to manage the background worker process using a process manager such as supervisor. Refer to the [production server guide](./start/production.md). + A better option is to manage the background worker process using a process manager such as supervisor. Refer to the [production server guide](./start/bare_prod.md). ## Docker Issues diff --git a/docs/docs/start/development.md b/docs/docs/start/bare_dev.md similarity index 88% rename from docs/docs/start/development.md rename to docs/docs/start/bare_dev.md index 3eed337f6d..fdfb02b4cc 100644 --- a/docs/docs/start/development.md +++ b/docs/docs/start/bare_dev.md @@ -1,8 +1,8 @@ --- -title: Development Server +title: Bare Metal Development Server --- -## Development Server +## Bare Metal Development Server !!! warning "Installation" Before continuing, ensure that the [installation steps](./install.md) have been completed. @@ -10,7 +10,7 @@ title: Development Server InvenTree includes a simple server application, suitable for use in a development environment. !!! warning "Deployment" - Refer to the [production server instructions](./production.md) to implement a much more robust server setup. + Refer to the [production server instructions](./bare_prod.md) to implement a much more robust server setup. ### Running on a Local Machine diff --git a/docs/docs/start/production.md b/docs/docs/start/bare_prod.md similarity index 98% rename from docs/docs/start/production.md rename to docs/docs/start/bare_prod.md index 192bac461b..de70572898 100644 --- a/docs/docs/start/production.md +++ b/docs/docs/start/bare_prod.md @@ -1,8 +1,8 @@ --- -title: Production Server +title: Bare Metal Production Server --- -## Production Server +## Bare Metal Production Server !!! warning "Installation" Before continuing, ensure that the [installation steps](./install.md) have been completed. diff --git a/docs/docs/start/install.md b/docs/docs/start/install.md index e4d659cddd..1d379560a6 100644 --- a/docs/docs/start/install.md +++ b/docs/docs/start/install.md @@ -259,13 +259,13 @@ The InvenTree database is now setup and ready to run. A simple development serve The InvenTree development server is useful for testing and configuration - and it may be wholly sufficient for a small-scale installation. -Refer to the [development server instructions](./development.md) for further information. +Refer to the [development server instructions](./bare_dev.md) for further information. ### Production Server In a production environment, a more robust server setup is required. -Refer to the [production server instructions](./production.md) for further information. +Refer to the [production server instructions](./bare_prod.md) for further information. ## Updating InvenTree diff --git a/docs/docs/start/intro.md b/docs/docs/start/intro.md index 51c30ea610..6286322fa6 100644 --- a/docs/docs/start/intro.md +++ b/docs/docs/start/intro.md @@ -38,7 +38,7 @@ The bulk of the InvenTree code base supports the custom web server application. The webserver code also provides a first-party API for performing database query actions. -Once a database is setup, you need a way of accessing the data. InvenTree provides a "server" application out of the box, but this may not scale particularly well with multiple users. Instead, InvenTree can be served using a webserver such as [Gunicorn](https://gunicorn.org/). For more information see the [deployment documentation](./production.md). +Once a database is setup, you need a way of accessing the data. InvenTree provides a "server" application out of the box, but this may not scale particularly well with multiple users. Instead, InvenTree can be served using a webserver such as [Gunicorn](https://gunicorn.org/). For more information see the [deployment documentation](./bare_prod.md). ### Background Tasks @@ -143,7 +143,7 @@ If you do not wish to use the docker container, you will need to manually instal Refer to the following guides for further instructions: -- [**Bare metal development server setup guide**](./development.md) +- [**Bare metal development server setup guide**](./bare_dev.md) - [**Bare metal production server setup guide**](./install.md) ## Debug Mode diff --git a/docs/docs/start/serving_files.md b/docs/docs/start/serving_files.md index c73ff3ead9..0d9b5a493a 100644 --- a/docs/docs/start/serving_files.md +++ b/docs/docs/start/serving_files.md @@ -6,7 +6,7 @@ title: Serving Static and Media Files In production, the InvenTree web server software *does not* provide hosting of static files, or user-uploaded (media) files. -When running in [production mode](./production.md) (i.e. the `INVENTREE_DEBUG` flag is disabled), a separate web server is required for serving *static* and *media* files. In `DEBUG` mode, the django webserver facilitates delivery of *static* and *media* files, but this is explicitly not suitable for a production environment. +When running in [production mode](./bare_prod.md) (i.e. the `INVENTREE_DEBUG` flag is disabled), a separate web server is required for serving *static* and *media* files. In `DEBUG` mode, the django webserver facilitates delivery of *static* and *media* files, but this is explicitly not suitable for a production environment. !!! into "Read More" You can find further information in the [django documentation](https://docs.djangoproject.com/en/dev/howto/static-files/deployment/). diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 6d4bed838f..ac3361b7bd 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -75,6 +75,10 @@ nav: - Credits: credits.md - Privacy: privacy.md - Terminology: terminology.md + - Development: + - Getting started: develop/starting.md + - Contributing: develop/contributing.md + - Devcontainer: develop/devcontainer.md - Install: - Introduction: start/intro.md - Configuration: start/config.md @@ -85,10 +89,8 @@ nav: - Bare Metal: - Introduction: start/install.md - Installer: start/installer.md - - Production: start/production.md - - Development: start/development.md - - Development: - - Devcontainer: start/devcontainer.md + - Production: start/bare_prod.md + - Development: start/bare_dev.md - Serving Files: start/serving_files.md - Data Backup: start/backup.md - Migrating Data: start/migrate.md @@ -207,6 +209,9 @@ nav: # Plugins plugins: + - include-markdown: + opening_tag: "{!" + closing_tag: "!}" - search - git-revision-date-localized - mkdocs-simple-hooks: diff --git a/docs/requirements.txt b/docs/requirements.txt index b403dd2196..569638391e 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -2,3 +2,4 @@ mkdocs-macros-plugin>=0.7,<1.0 mkdocs-material>=9.0,<10.0 mkdocs-git-revision-date-localized-plugin>=1.1,<2.0 mkdocs-simple-hooks>=0.1,<1.0 +mkdocs-include-markdown-plugin From 5d1d8ec8890e4ee924ae0582d65b0539c9ba8360 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Fri, 9 Jun 2023 02:27:26 +0200 Subject: [PATCH 003/103] Refactor states/status (#4857) * add file for states * move general definition out * add some tests and docs * add tests for invalid definitions * make status_label tag generic * move templatetags * remove unused tag * rename test file * make status label a lookup * rename tags * move import structure * add missing tag * collect states dynamically * fix context function * move api function out * add tests for tags * rename tests * refactor imports * Add test for API function * improve errors and add tests for imporved errors * make test calls simpler * refactor definitions to use enums * switch to enum * refactor definitions to use enums * fix lookup * fix tag name * make _TAG lookup a function * cleanup BaseEnum * make _TAG definition simpler * restructure status codes to enum * reduce LoC * type status codes as int * add specific function for template context * Add definition for lookups * fix filter lookup * TEST: "fix" action lookup * Add missing migrations * Make all group code references explict * change default on models to value * switch to IntEnum * move groups into a seperate class * only request _TAG if it exsists * use value and list * use dedicated groups * fix stock assigment * fix order code * more fixes * fix borked change * fix render lookup * add group * fix import * fix syntax * clenup * fix migrations * fix typo * fix wrong value usage * fix test * remove group section * remove group section * add more test cases * Add more docstring * move choices out of migrations * change import ordeR? * last try before I revert * Update part.migrations.0112 - Add custom migration class which handles errors * Add unit test for migration - Ensure that the new fields are added to the model * Update reference to PR --------- Co-authored-by: Oliver Walters --- InvenTree/InvenTree/api.py | 41 -- InvenTree/InvenTree/context.py | 18 +- InvenTree/InvenTree/settings.py | 1 + InvenTree/InvenTree/status_codes.py | 422 ++++-------------- InvenTree/build/api.py | 9 +- InvenTree/build/models.py | 26 +- InvenTree/build/serializers.py | 4 +- InvenTree/build/tasks.py | 4 +- .../build/templates/build/build_base.html | 6 +- InvenTree/build/templates/build/detail.html | 4 +- InvenTree/build/test_api.py | 6 +- InvenTree/company/models.py | 4 +- InvenTree/generic/__init__.py | 4 + InvenTree/generic/states/__init__.py | 15 + InvenTree/generic/states/api.py | 54 +++ InvenTree/generic/states/states.py | 170 +++++++ InvenTree/generic/states/tags.py | 17 + InvenTree/generic/states/tests.py | 110 +++++ InvenTree/generic/templatetags/__init__.py | 1 + InvenTree/generic/templatetags/generic.py | 10 + InvenTree/order/api.py | 25 +- .../0096_alter_returnorderlineitem_outcome.py | 19 + InvenTree/order/models.py | 61 +-- InvenTree/order/serializers.py | 13 +- InvenTree/order/tasks.py | 7 +- .../order/templates/order/order_base.html | 4 +- .../order/purchase_order_detail.html | 2 +- .../templates/order/return_order_base.html | 4 +- .../templates/order/return_order_detail.html | 2 +- .../templates/order/sales_order_base.html | 4 +- .../templates/order/sales_order_detail.html | 2 +- InvenTree/order/test_api.py | 14 +- InvenTree/order/test_migrations.py | 2 +- InvenTree/part/api.py | 17 +- InvenTree/part/filters.py | 11 +- InvenTree/part/models.py | 21 +- InvenTree/part/serializers.py | 4 +- InvenTree/part/templatetags/status_codes.py | 46 -- InvenTree/part/test_api.py | 10 +- InvenTree/part/test_pricing.py | 2 +- InvenTree/stock/api.py | 3 +- .../migrations/0061_auto_20210511_0911.py | 2 +- .../migrations/0096_auto_20230330_1121.py | 2 +- .../migrations/0102_alter_stockitem_status.py | 20 + InvenTree/stock/models.py | 14 +- .../stock/templates/stock/item_base.html | 4 +- InvenTree/stock/test_api.py | 12 +- InvenTree/stock/test_views.py | 4 +- .../templates/js/translated/status_codes.js | 2 +- InvenTree/templates/js/translated/stock.js | 2 +- .../templates/js/translated/table_filters.js | 2 +- 51 files changed, 677 insertions(+), 586 deletions(-) create mode 100644 InvenTree/generic/__init__.py create mode 100644 InvenTree/generic/states/__init__.py create mode 100644 InvenTree/generic/states/api.py create mode 100644 InvenTree/generic/states/states.py create mode 100644 InvenTree/generic/states/tags.py create mode 100644 InvenTree/generic/states/tests.py create mode 100644 InvenTree/generic/templatetags/__init__.py create mode 100644 InvenTree/generic/templatetags/generic.py create mode 100644 InvenTree/order/migrations/0096_alter_returnorderlineitem_outcome.py delete mode 100644 InvenTree/part/templatetags/status_codes.py create mode 100644 InvenTree/stock/migrations/0102_alter_stockitem_status.py diff --git a/InvenTree/InvenTree/api.py b/InvenTree/InvenTree/api.py index 6f34847529..75c4e4b4f0 100644 --- a/InvenTree/InvenTree/api.py +++ b/InvenTree/InvenTree/api.py @@ -306,47 +306,6 @@ class APISearchView(APIView): return Response(results) -class StatusView(APIView): - """Generic API endpoint for discovering information on 'status codes' for a particular model. - - This class should be implemented as a subclass for each type of status. - For example, the API endpoint /stock/status/ will have information about - all available 'StockStatus' codes - """ - - permission_classes = [ - permissions.IsAuthenticated, - ] - - # Override status_class for implementing subclass - MODEL_REF = 'statusmodel' - - def get_status_model(self, *args, **kwargs): - """Return the StatusCode moedl based on extra parameters passed to the view""" - - status_model = self.kwargs.get(self.MODEL_REF, None) - - if status_model is None: - raise ValidationError(f"StatusView view called without '{self.MODEL_REF}' parameter") - - return status_model - - def get(self, request, *args, **kwargs): - """Perform a GET request to learn information about status codes""" - - status_class = self.get_status_model() - - if not status_class: - raise NotImplementedError("status_class not defined for this endpoint") - - data = { - 'class': status_class.__name__, - 'values': status_class.dict(), - } - - return Response(data) - - class MetadataView(RetrieveUpdateAPI): """Generic API endpoint for reading and editing metadata for a model""" diff --git a/InvenTree/InvenTree/context.py b/InvenTree/InvenTree/context.py index 3803895010..4518d2b951 100644 --- a/InvenTree/InvenTree/context.py +++ b/InvenTree/InvenTree/context.py @@ -4,10 +4,8 @@ import InvenTree.email import InvenTree.status -from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, - ReturnOrderLineStatus, ReturnOrderStatus, - SalesOrderStatus, StockHistoryCode, - StockStatus) +from generic.states import StatusCode +from InvenTree.helpers import inheritors from users.models import RuleSet, check_user_role @@ -57,17 +55,7 @@ def status_codes(request): return {} request._inventree_status_codes = True - - return { - # Expose the StatusCode classes to the templates - 'ReturnOrderStatus': ReturnOrderStatus, - 'ReturnOrderLineStatus': ReturnOrderLineStatus, - 'SalesOrderStatus': SalesOrderStatus, - 'PurchaseOrderStatus': PurchaseOrderStatus, - 'BuildStatus': BuildStatus, - 'StockStatus': StockStatus, - 'StockHistoryCode': StockHistoryCode, - } + return {cls.__name__: cls.template_context() for cls in inheritors(StatusCode)} def user_roles(request): diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 32fb5b4689..d5faf1fbbe 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -196,6 +196,7 @@ INSTALLED_APPS = [ 'stock.apps.StockConfig', 'users.apps.UsersConfig', 'plugin.apps.PluginAppConfig', + 'generic', 'InvenTree.apps.InvenTreeConfig', # InvenTree app runs last # Core django modules diff --git a/InvenTree/InvenTree/status_codes.py b/InvenTree/InvenTree/status_codes.py index 124100a5dc..956773a9e6 100644 --- a/InvenTree/InvenTree/status_codes.py +++ b/InvenTree/InvenTree/status_codes.py @@ -2,377 +2,161 @@ from django.utils.translation import gettext_lazy as _ - -class StatusCode: - """Base class for representing a set of StatusCodes. - - This is used to map a set of integer values to text. - """ - - colors = {} - - @classmethod - def render(cls, key, large=False): - """Render the value as a HTML label.""" - # If the key cannot be found, pass it back - if key not in cls.options.keys(): - return key - - value = cls.options.get(key, key) - color = cls.colors.get(key, 'secondary') - - span_class = f'badge rounded-pill bg-{color}' - - return "{value}".format( - cl=span_class, - value=value - ) - - @classmethod - def list(cls): - """Return the StatusCode options as a list of mapped key / value items.""" - return list(cls.dict().values()) - - @classmethod - def text(cls, key): - """Text for supplied status code.""" - return cls.options.get(key, None) - - @classmethod - def items(cls): - """All status code items.""" - return cls.options.items() - - @classmethod - def keys(cls): - """All status code keys.""" - return cls.options.keys() - - @classmethod - def labels(cls): - """All status code labels.""" - return cls.options.values() - - @classmethod - def names(cls): - """Return a map of all 'names' of status codes in this class - - Will return a dict object, with the attribute name indexed to the integer value. - - e.g. - { - 'PENDING': 10, - 'IN_PROGRESS': 20, - } - """ - keys = cls.keys() - status_names = {} - - for d in dir(cls): - if d.startswith('_'): - continue - if d != d.upper(): - continue - - value = getattr(cls, d, None) - - if value is None: - continue - if callable(value): - continue - if type(value) != int: - continue - if value not in keys: - continue - - status_names[d] = value - - return status_names - - @classmethod - def dict(cls): - """Return a dict representation containing all required information""" - values = {} - - for name, value, in cls.names().items(): - entry = { - 'key': value, - 'name': name, - 'label': cls.label(value), - } - - if hasattr(cls, 'colors'): - if color := cls.colors.get(value, None): - entry['color'] = color - - values[name] = entry - - return values - - @classmethod - def label(cls, value): - """Return the status code label associated with the provided value.""" - return cls.options.get(value, value) - - @classmethod - def value(cls, label): - """Return the value associated with the provided label.""" - for k in cls.options.keys(): - if cls.options[k].lower() == label.lower(): - return k - - raise ValueError("Label not found") +from generic.states import StatusCode class PurchaseOrderStatus(StatusCode): """Defines a set of status codes for a PurchaseOrder.""" # Order status codes - PENDING = 10 # Order is pending (not yet placed) - PLACED = 20 # Order has been placed with supplier - COMPLETE = 30 # Order has been completed - CANCELLED = 40 # Order was cancelled - LOST = 50 # Order was lost - RETURNED = 60 # Order was returned + PENDING = 10, _("Pending"), 'secondary' # Order is pending (not yet placed) + PLACED = 20, _("Placed"), 'primary' # Order has been placed with supplier + COMPLETE = 30, _("Complete"), 'success' # Order has been completed + CANCELLED = 40, _("Cancelled"), 'danger' # Order was cancelled + LOST = 50, _("Lost"), 'warning' # Order was lost + RETURNED = 60, _("Returned"), 'warning' # Order was returned - options = { - PENDING: _("Pending"), - PLACED: _("Placed"), - COMPLETE: _("Complete"), - CANCELLED: _("Cancelled"), - LOST: _("Lost"), - RETURNED: _("Returned"), - } - colors = { - PENDING: 'secondary', - PLACED: 'primary', - COMPLETE: 'success', - CANCELLED: 'danger', - LOST: 'warning', - RETURNED: 'warning', - } +class PurchaseOrderStatusGroups: + """Groups for PurchaseOrderStatus codes.""" # Open orders OPEN = [ - PENDING, - PLACED, + PurchaseOrderStatus.PENDING.value, + PurchaseOrderStatus.PLACED.value, ] # Failed orders FAILED = [ - CANCELLED, - LOST, - RETURNED + PurchaseOrderStatus.CANCELLED.value, + PurchaseOrderStatus.LOST.value, + PurchaseOrderStatus.RETURNED.value ] class SalesOrderStatus(StatusCode): """Defines a set of status codes for a SalesOrder.""" - PENDING = 10 # Order is pending - IN_PROGRESS = 15 # Order has been issued, and is in progress - SHIPPED = 20 # Order has been shipped to customer - CANCELLED = 40 # Order has been cancelled - LOST = 50 # Order was lost - RETURNED = 60 # Order was returned + PENDING = 10, _("Pending"), 'secondary' # Order is pending + IN_PROGRESS = 15, _("In Progress"), 'primary' # Order has been issued, and is in progress + SHIPPED = 20, _("Shipped"), 'success' # Order has been shipped to customer + CANCELLED = 40, _("Cancelled"), 'danger' # Order has been cancelled + LOST = 50, _("Lost"), 'warning' # Order was lost + RETURNED = 60, _("Returned"), 'warning' # Order was returned - options = { - PENDING: _("Pending"), - IN_PROGRESS: _("In Progress"), - SHIPPED: _("Shipped"), - CANCELLED: _("Cancelled"), - LOST: _("Lost"), - RETURNED: _("Returned"), - } - colors = { - PENDING: 'secondary', - IN_PROGRESS: 'primary', - SHIPPED: 'success', - CANCELLED: 'danger', - LOST: 'warning', - RETURNED: 'warning', - } +class SalesOrderStatusGroups: + """Groups for SalesOrderStatus codes.""" # Open orders OPEN = [ - PENDING, - IN_PROGRESS, + SalesOrderStatus.PENDING.value, + SalesOrderStatus.IN_PROGRESS.value, ] # Completed orders COMPLETE = [ - SHIPPED, + SalesOrderStatus.SHIPPED.value, ] class StockStatus(StatusCode): """Status codes for Stock.""" - OK = 10 # Item is OK - ATTENTION = 50 # Item requires attention - DAMAGED = 55 # Item is damaged - DESTROYED = 60 # Item is destroyed - REJECTED = 65 # Item is rejected - LOST = 70 # Item has been lost - QUARANTINED = 75 # Item has been quarantined and is unavailable - RETURNED = 85 # Item has been returned from a customer + OK = 10, _("OK"), 'success' # Item is OK + ATTENTION = 50, _("Attention needed"), 'warning' # Item requires attention + DAMAGED = 55, _("Damaged"), 'warning' # Item is damaged + DESTROYED = 60, _("Destroyed"), 'danger' # Item is destroyed + REJECTED = 65, _("Rejected"), 'danger' # Item is rejected + LOST = 70, _("Lost"), 'dark' # Item has been lost + QUARANTINED = 75, _("Quarantined"), 'info' # Item has been quarantined and is unavailable + RETURNED = 85, _("Returned"), 'warning' # Item has been returned from a customer - options = { - OK: _("OK"), - ATTENTION: _("Attention needed"), - DAMAGED: _("Damaged"), - DESTROYED: _("Destroyed"), - LOST: _("Lost"), - REJECTED: _("Rejected"), - QUARANTINED: _("Quarantined"), - } - colors = { - OK: 'success', - ATTENTION: 'warning', - DAMAGED: 'warning', - DESTROYED: 'danger', - LOST: 'dark', - REJECTED: 'danger', - QUARANTINED: 'info' - } +class StockStatusGroups: + """Groups for StockStatus codes.""" # The following codes correspond to parts that are 'available' or 'in stock' AVAILABLE_CODES = [ - OK, - ATTENTION, - DAMAGED, - RETURNED, + StockStatus.OK.value, + StockStatus.ATTENTION.value, + StockStatus.DAMAGED.value, + StockStatus.RETURNED.value, ] class StockHistoryCode(StatusCode): """Status codes for StockHistory.""" - LEGACY = 0 + LEGACY = 0, _('Legacy stock tracking entry') - CREATED = 1 + CREATED = 1, _('Stock item created') # Manual editing operations - EDITED = 5 - ASSIGNED_SERIAL = 6 + EDITED = 5, _('Edited stock item') + ASSIGNED_SERIAL = 6, _('Assigned serial number') # Manual stock operations - STOCK_COUNT = 10 - STOCK_ADD = 11 - STOCK_REMOVE = 12 + STOCK_COUNT = 10, _('Stock counted') + STOCK_ADD = 11, _('Stock manually added') + STOCK_REMOVE = 12, _('Stock manually removed') # Location operations - STOCK_MOVE = 20 - STOCK_UPDATE = 25 + STOCK_MOVE = 20, _('Location changed') + STOCK_UPDATE = 25, _('Stock updated') # Installation operations - INSTALLED_INTO_ASSEMBLY = 30 - REMOVED_FROM_ASSEMBLY = 31 + INSTALLED_INTO_ASSEMBLY = 30, _('Installed into assembly') + REMOVED_FROM_ASSEMBLY = 31, _('Removed from assembly') - INSTALLED_CHILD_ITEM = 35 - REMOVED_CHILD_ITEM = 36 + INSTALLED_CHILD_ITEM = 35, _('Installed component item') + REMOVED_CHILD_ITEM = 36, _('Removed component item') # Stock splitting operations - SPLIT_FROM_PARENT = 40 - SPLIT_CHILD_ITEM = 42 + SPLIT_FROM_PARENT = 40, _('Split from parent item') + SPLIT_CHILD_ITEM = 42, _('Split child item') # Stock merging operations - MERGED_STOCK_ITEMS = 45 + MERGED_STOCK_ITEMS = 45, _('Merged stock items') # Convert stock item to variant - CONVERTED_TO_VARIANT = 48 + CONVERTED_TO_VARIANT = 48, _('Converted to variant') # Build order codes - BUILD_OUTPUT_CREATED = 50 - BUILD_OUTPUT_COMPLETED = 55 - BUILD_OUTPUT_REJECTED = 56 - BUILD_CONSUMED = 57 + BUILD_OUTPUT_CREATED = 50, _('Build order output created') + BUILD_OUTPUT_COMPLETED = 55, _('Build order output completed') + BUILD_OUTPUT_REJECTED = 56, _('Build order output rejected') + BUILD_CONSUMED = 57, _('Consumed by build order') # Sales order codes - SHIPPED_AGAINST_SALES_ORDER = 60 + SHIPPED_AGAINST_SALES_ORDER = 60, _("Shipped against Sales Order") # Purchase order codes - RECEIVED_AGAINST_PURCHASE_ORDER = 70 + RECEIVED_AGAINST_PURCHASE_ORDER = 70, _('Received against Purchase Order') # Return order codes - RETURNED_AGAINST_RETURN_ORDER = 80 + RETURNED_AGAINST_RETURN_ORDER = 80, _('Returned against Return Order') # Customer actions - SENT_TO_CUSTOMER = 100 - RETURNED_FROM_CUSTOMER = 105 - - options = { - LEGACY: _('Legacy stock tracking entry'), - - CREATED: _('Stock item created'), - - EDITED: _('Edited stock item'), - ASSIGNED_SERIAL: _('Assigned serial number'), - - STOCK_COUNT: _('Stock counted'), - STOCK_ADD: _('Stock manually added'), - STOCK_REMOVE: _('Stock manually removed'), - - STOCK_MOVE: _('Location changed'), - STOCK_UPDATE: _('Stock updated'), - - INSTALLED_INTO_ASSEMBLY: _('Installed into assembly'), - REMOVED_FROM_ASSEMBLY: _('Removed from assembly'), - - INSTALLED_CHILD_ITEM: _('Installed component item'), - REMOVED_CHILD_ITEM: _('Removed component item'), - - SPLIT_FROM_PARENT: _('Split from parent item'), - SPLIT_CHILD_ITEM: _('Split child item'), - - MERGED_STOCK_ITEMS: _('Merged stock items'), - - CONVERTED_TO_VARIANT: _('Converted to variant'), - - SENT_TO_CUSTOMER: _('Sent to customer'), - RETURNED_FROM_CUSTOMER: _('Returned from customer'), - - BUILD_OUTPUT_CREATED: _('Build order output created'), - BUILD_OUTPUT_COMPLETED: _('Build order output completed'), - BUILD_OUTPUT_REJECTED: _('Build order output rejected'), - BUILD_CONSUMED: _('Consumed by build order'), - - SHIPPED_AGAINST_SALES_ORDER: _("Shipped against Sales Order"), - - RECEIVED_AGAINST_PURCHASE_ORDER: _('Received against Purchase Order'), - - RETURNED_AGAINST_RETURN_ORDER: _('Returned against Return Order'), - } + SENT_TO_CUSTOMER = 100, _('Sent to customer') + RETURNED_FROM_CUSTOMER = 105, _('Returned from customer') class BuildStatus(StatusCode): """Build status codes.""" - PENDING = 10 # Build is pending / active - PRODUCTION = 20 # BuildOrder is in production - CANCELLED = 30 # Build was cancelled - COMPLETE = 40 # Build is complete + PENDING = 10, _("Pending"), 'secondary' # Build is pending / active + PRODUCTION = 20, _("Production"), 'primary' # BuildOrder is in production + CANCELLED = 30, _("Cancelled"), 'danger' # Build was cancelled + COMPLETE = 40, _("Complete"), 'success' # Build is complete - options = { - PENDING: _("Pending"), - PRODUCTION: _("Production"), - CANCELLED: _("Cancelled"), - COMPLETE: _("Complete"), - } - colors = { - PENDING: 'secondary', - PRODUCTION: 'primary', - COMPLETE: 'success', - CANCELLED: 'danger', - } +class BuildStatusGroups: + """Groups for BuildStatus codes.""" ACTIVE_CODES = [ - PENDING, - PRODUCTION, + BuildStatus.PENDING.value, + BuildStatus.PRODUCTION.value, ] @@ -380,68 +164,40 @@ class ReturnOrderStatus(StatusCode): """Defines a set of status codes for a ReturnOrder""" # Order is pending, waiting for receipt of items - PENDING = 10 + PENDING = 10, _("Pending"), 'secondary' # Items have been received, and are being inspected - IN_PROGRESS = 20 + IN_PROGRESS = 20, _("In Progress"), 'primary' - COMPLETE = 30 - CANCELLED = 40 + COMPLETE = 30, _("Complete"), 'success' + CANCELLED = 40, _("Cancelled"), 'danger' + + +class ReturnOrderStatusGroups: + """Groups for ReturnOrderStatus codes.""" OPEN = [ - PENDING, - IN_PROGRESS, + ReturnOrderStatus.PENDING.value, + ReturnOrderStatus.IN_PROGRESS.value, ] - options = { - PENDING: _("Pending"), - IN_PROGRESS: _("In Progress"), - COMPLETE: _("Complete"), - CANCELLED: _("Cancelled"), - } - - colors = { - PENDING: 'secondary', - IN_PROGRESS: 'primary', - COMPLETE: 'success', - CANCELLED: 'danger', - } - class ReturnOrderLineStatus(StatusCode): """Defines a set of status codes for a ReturnOrderLineItem""" - PENDING = 10 + PENDING = 10, _("Pending"), 'secondary' # Item is to be returned to customer, no other action - RETURN = 20 + RETURN = 20, _("Return"), 'success' # Item is to be repaired, and returned to customer - REPAIR = 30 + REPAIR = 30, _("Repair"), 'primary' # Item is to be replaced (new item shipped) - REPLACE = 40 + REPLACE = 40, _("Replace"), 'warning' # Item is to be refunded (cannot be repaired) - REFUND = 50 + REFUND = 50, _("Refund"), 'info' # Item is rejected - REJECT = 60 - - options = { - PENDING: _('Pending'), - RETURN: _('Return'), - REPAIR: _('Repair'), - REFUND: _('Refund'), - REPLACE: _('Replace'), - REJECT: _('Reject') - } - - colors = { - PENDING: 'secondary', - RETURN: 'success', - REPAIR: 'primary', - REFUND: 'info', - REPLACE: 'warning', - REJECT: 'danger', - } + REJECT = 60, _("Reject"), 'danger' diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index b4d5853b41..e0f9a4f8bb 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -9,9 +9,10 @@ from rest_framework.exceptions import ValidationError from django_filters.rest_framework import DjangoFilterBackend from django_filters import rest_framework as rest_filters -from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView, MetadataView, StatusView +from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView, MetadataView +from generic.states import StatusView from InvenTree.helpers import str2bool, isNull, DownloadFile -from InvenTree.status_codes import BuildStatus +from InvenTree.status_codes import BuildStatus, BuildStatusGroups from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI import build.admin @@ -41,9 +42,9 @@ class BuildFilter(rest_filters.FilterSet): def filter_active(self, queryset, name, value): """Filter the queryset to either include or exclude orders which are active.""" if str2bool(value): - return queryset.filter(status__in=BuildStatus.ACTIVE_CODES) + return queryset.filter(status__in=BuildStatusGroups.ACTIVE_CODES) else: - return queryset.exclude(status__in=BuildStatus.ACTIVE_CODES) + return queryset.exclude(status__in=BuildStatusGroups.ACTIVE_CODES) overdue = rest_filters.BooleanFilter(label='Build is overdue', method='filter_overdue') diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index af2e3cf630..726d99187d 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -21,7 +21,7 @@ from mptt.exceptions import InvalidMove from rest_framework import serializers -from InvenTree.status_codes import BuildStatus, StockStatus, StockHistoryCode +from InvenTree.status_codes import BuildStatus, StockStatus, StockHistoryCode, BuildStatusGroups from build.validators import generate_next_build_reference, validate_build_order_reference @@ -69,7 +69,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. verbose_name = _("Build Order") verbose_name_plural = _("Build Orders") - OVERDUE_FILTER = Q(status__in=BuildStatus.ACTIVE_CODES) & ~Q(target_date=None) & Q(target_date__lte=datetime.now().date()) + OVERDUE_FILTER = Q(status__in=BuildStatusGroups.ACTIVE_CODES) & ~Q(target_date=None) & Q(target_date__lte=datetime.now().date()) # Global setting for specifying reference pattern REFERENCE_PATTERN_SETTING = 'BUILDORDER_REFERENCE_PATTERN' @@ -129,10 +129,10 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. return queryset # Order was completed within the specified range - completed = Q(status=BuildStatus.COMPLETE) & Q(completion_date__gte=min_date) & Q(completion_date__lte=max_date) + completed = Q(status=BuildStatus.COMPLETE.value) & Q(completion_date__gte=min_date) & Q(completion_date__lte=max_date) # Order target date falls within specified range - pending = Q(status__in=BuildStatus.ACTIVE_CODES) & ~Q(target_date=None) & Q(target_date__gte=min_date) & Q(target_date__lte=max_date) + pending = Q(status__in=BuildStatusGroups.ACTIVE_CODES) & ~Q(target_date=None) & Q(target_date__gte=min_date) & Q(target_date__lte=max_date) # TODO - Construct a queryset for "overdue" orders @@ -231,7 +231,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. status = models.PositiveIntegerField( verbose_name=_('Build Status'), - default=BuildStatus.PENDING, + default=BuildStatus.PENDING.value, choices=BuildStatus.items(), validators=[MinValueValidator(0)], help_text=_('Build status code') @@ -331,7 +331,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. @property def active(self): """Return True if this build is active.""" - return self.status in BuildStatus.ACTIVE_CODES + return self.status in BuildStatusGroups.ACTIVE_CODES @property def bom_items(self): @@ -503,7 +503,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. self.completion_date = datetime.now().date() self.completed_by = user - self.status = BuildStatus.COMPLETE + self.status = BuildStatus.COMPLETE.value self.save() # Remove untracked allocated stock @@ -585,7 +585,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. self.completion_date = datetime.now().date() self.completed_by = user - self.status = BuildStatus.CANCELLED + self.status = BuildStatus.CANCELLED.value self.save() trigger_event('build.cancelled', id=self.pk) @@ -729,7 +729,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. _add_tracking_entry(output, user) if self.status == BuildStatus.PENDING: - self.status = BuildStatus.PRODUCTION + self.status = BuildStatus.PRODUCTION.value self.save() @transaction.atomic @@ -831,7 +831,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. # Update build output item output.is_building = False - output.status = StockStatus.REJECTED + output.status = StockStatus.REJECTED.value output.location = location output.save(add_note=False) @@ -851,7 +851,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. notes=notes, deltas={ 'location': location.pk, - 'status': StockStatus.REJECTED, + 'status': StockStatus.REJECTED.value, 'buildorder': self.pk, } ) @@ -865,7 +865,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. """ # Select the location for the build output location = kwargs.get('location', self.destination) - status = kwargs.get('status', StockStatus.OK) + status = kwargs.get('status', StockStatus.OK.value) notes = kwargs.get('notes', '') # List the allocated BuildItem objects for the given output @@ -1187,7 +1187,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. - PENDING - HOLDING """ - return self.status in BuildStatus.ACTIVE_CODES + return self.status in BuildStatusGroups.ACTIVE_CODES @property def is_complete(self): diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 6ee194fcb8..193b9f6217 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -490,8 +490,8 @@ class BuildOutputCompleteSerializer(serializers.Serializer): ) status = serializers.ChoiceField( - choices=list(StockStatus.items()), - default=StockStatus.OK, + choices=StockStatus.items(), + default=StockStatus.OK.value, label=_("Status"), ) diff --git a/InvenTree/build/tasks.py b/InvenTree/build/tasks.py index 26ee2f1cda..6d63720e96 100644 --- a/InvenTree/build/tasks.py +++ b/InvenTree/build/tasks.py @@ -15,7 +15,7 @@ import build.models import InvenTree.email import InvenTree.helpers_model import InvenTree.tasks -from InvenTree.status_codes import BuildStatus +from InvenTree.status_codes import BuildStatusGroups from InvenTree.ready import isImportingData import part.models as part_models @@ -158,7 +158,7 @@ def check_overdue_build_orders(): overdue_orders = build.models.Build.objects.filter( target_date=yesterday, - status__in=BuildStatus.ACTIVE_CODES + status__in=BuildStatusGroups.ACTIVE_CODES ) for bo in overdue_orders: diff --git a/InvenTree/build/templates/build/build_base.html b/InvenTree/build/templates/build/build_base.html index b0aed7ba38..57c5c23470 100644 --- a/InvenTree/build/templates/build/build_base.html +++ b/InvenTree/build/templates/build/build_base.html @@ -2,7 +2,7 @@ {% load static %} {% load i18n %} -{% load status_codes %} +{% load generic %} {% load inventree_extras %} {% block page_title %} @@ -150,7 +150,7 @@ src="{% static 'img/blank_image.png' %}" {% trans "Status" %} - {% build_status_label build.status %} + {% status_label 'build' build.status %} {% if build.target_date %} @@ -217,7 +217,7 @@ src="{% static 'img/blank_image.png' %}" {% block page_data %}

- {% build_status_label build.status large=True %} + {% status_label 'build' build.status large=True %} {% if build.is_overdue %} {% trans "Overdue" %} {% endif %} diff --git a/InvenTree/build/templates/build/detail.html b/InvenTree/build/templates/build/detail.html index 95ae46c8eb..ea870d8c44 100644 --- a/InvenTree/build/templates/build/detail.html +++ b/InvenTree/build/templates/build/detail.html @@ -2,7 +2,7 @@ {% load static %} {% load i18n %} {% load inventree_extras %} -{% load status_codes %} +{% load generic %} {% block sidebar %} {% include "build/sidebar.html" %} @@ -60,7 +60,7 @@ {% trans "Status" %} - {% build_status_label build.status %} + {% status_label 'build' build.status %} diff --git a/InvenTree/build/test_api.py b/InvenTree/build/test_api.py index 98b59ce8bd..b998ad3cae 100644 --- a/InvenTree/build/test_api.py +++ b/InvenTree/build/test_api.py @@ -298,7 +298,7 @@ class BuildTest(BuildAPITest): expected_code=400, ) - bo.status = BuildStatus.CANCELLED + bo.status = BuildStatus.CANCELLED.value bo.save() # Now, we should be able to delete @@ -843,7 +843,7 @@ class BuildListTest(BuildAPITest): builds = self.get(self.url, data={'active': True}) self.assertEqual(len(builds.data), 1) - builds = self.get(self.url, data={'status': BuildStatus.COMPLETE}) + builds = self.get(self.url, data={'status': BuildStatus.COMPLETE.value}) self.assertEqual(len(builds.data), 4) builds = self.get(self.url, data={'overdue': False}) @@ -863,7 +863,7 @@ class BuildListTest(BuildAPITest): reference="BO-0006", quantity=10, title='Just some thing', - status=BuildStatus.PRODUCTION, + status=BuildStatus.PRODUCTION.value, target_date=in_the_past ) diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index ad40a41255..c41fa39a6f 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -30,7 +30,7 @@ from common.settings import currency_code_default from InvenTree.fields import InvenTreeURLField, RoundingDecimalField from InvenTree.models import (InvenTreeAttachment, InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin) -from InvenTree.status_codes import PurchaseOrderStatus +from InvenTree.status_codes import PurchaseOrderStatusGroups def rename_company_image(instance, filename): @@ -697,7 +697,7 @@ class SupplierPart(MetadataMixin, InvenTreeBarcodeMixin, common.models.MetaMixin def open_orders(self): """Return a database query for PurchaseOrder line items for this SupplierPart, limited to purchase orders that are open / outstanding.""" - return self.purchase_order_line_items.prefetch_related('order').filter(order__status__in=PurchaseOrderStatus.OPEN) + return self.purchase_order_line_items.prefetch_related('order').filter(order__status__in=PurchaseOrderStatusGroups.OPEN) def on_order(self): """Return the total quantity of items currently on order. diff --git a/InvenTree/generic/__init__.py b/InvenTree/generic/__init__.py new file mode 100644 index 0000000000..188874354b --- /dev/null +++ b/InvenTree/generic/__init__.py @@ -0,0 +1,4 @@ +"""The generic module provides high-level functionality that is used in multiple places. + +The generic module is split into sub-modules. Each sub-module provides a specific set of functionality. Each sub-module should be 100% tested within the sub-module. +""" diff --git a/InvenTree/generic/states/__init__.py b/InvenTree/generic/states/__init__.py new file mode 100644 index 0000000000..5137b7c3f4 --- /dev/null +++ b/InvenTree/generic/states/__init__.py @@ -0,0 +1,15 @@ +"""States are used to track the logical state of an object. + +The logic value of a state is stored in the database as an integer. The logic value is used for business logic and should not be easily changed therefore. +There is a rendered state for each state value. The rendered state is used for display purposes and can be changed easily. + +States can be extended with custom options for each InvenTree instance - those options are stored in the database and need to link back to state values. +""" + +from .api import StatusView +from .states import StatusCode + +__all__ = [ + StatusView, + StatusCode, +] diff --git a/InvenTree/generic/states/api.py b/InvenTree/generic/states/api.py new file mode 100644 index 0000000000..70e6256232 --- /dev/null +++ b/InvenTree/generic/states/api.py @@ -0,0 +1,54 @@ +"""Generic implementation of status api functions for InvenTree models.""" + +import inspect + +from rest_framework import permissions +from rest_framework.response import Response +from rest_framework.serializers import ValidationError +from rest_framework.views import APIView + +from .states import StatusCode + + +class StatusView(APIView): + """Generic API endpoint for discovering information on 'status codes' for a particular model. + + This class should be implemented as a subclass for each type of status. + For example, the API endpoint /stock/status/ will have information about + all available 'StockStatus' codes + """ + + permission_classes = [ + permissions.IsAuthenticated, + ] + + # Override status_class for implementing subclass + MODEL_REF = 'statusmodel' + + def get_status_model(self, *args, **kwargs): + """Return the StatusCode moedl based on extra parameters passed to the view""" + + status_model = self.kwargs.get(self.MODEL_REF, None) + + if status_model is None: + raise ValidationError(f"StatusView view called without '{self.MODEL_REF}' parameter") + + return status_model + + def get(self, request, *args, **kwargs): + """Perform a GET request to learn information about status codes""" + + status_class = self.get_status_model() + + if not inspect.isclass(status_class): + raise NotImplementedError("`status_class` not a class") + + if not issubclass(status_class, StatusCode): + raise NotImplementedError("`status_class` not a valid StatusCode class") + + data = { + 'class': status_class.__name__, + 'values': status_class.dict(), + } + + return Response(data) diff --git a/InvenTree/generic/states/states.py b/InvenTree/generic/states/states.py new file mode 100644 index 0000000000..f53b008ea1 --- /dev/null +++ b/InvenTree/generic/states/states.py @@ -0,0 +1,170 @@ +"""Generic implementation of status for InvenTree models.""" +import enum +import re + + +class BaseEnum(enum.IntEnum): + """An `Enum` capabile of having its members have docstrings. + + Based on https://stackoverflow.com/questions/19330460/how-do-i-put-docstrings-on-enums + """ + + def __new__(cls, *args): + """Assign values on creation.""" + obj = object.__new__(cls) + obj._value_ = args[0] + return obj + + def __eq__(self, obj): + """Override equality operator to allow comparison with int.""" + if type(self) == type(obj): + return super().__eq__(obj) + return self.value == obj + + def __ne__(self, obj): + """Override inequality operator to allow comparison with int.""" + if type(self) == type(obj): + return super().__ne__(obj) + return self.value != obj + + +class StatusCode(BaseEnum): + """Base class for representing a set of StatusCodes. + + Use enum syntax to define the status codes, e.g. + ```python + PENDING = 10, _("Pending"), 'secondary' + ``` + + The values of the status can be accessed with `StatusCode.PENDING.value`. + + Additionally there are helpers to access all additional attributes `text`, `label`, `color`. + """ + + def __new__(cls, *args): + """Define object out of args.""" + obj = int.__new__(cls) + obj._value_ = args[0] + + # Normal item definition + if len(args) == 1: + obj.label = args[0] + obj.color = 'secondary' + else: + obj.label = args[1] + obj.color = args[2] if len(args) > 2 else 'secondary' + + return obj + + @classmethod + def _is_element(cls, d): + """Check if the supplied value is a valid status code.""" + if d.startswith('_'): + return False + if d != d.upper(): + return False + + value = getattr(cls, d, None) + + if value is None: + return False + if callable(value): + return False + if type(value.value) != int: + return False + return True + + @classmethod + def values(cls, key=None): + """Return a dict representation containing all required information""" + elements = [itm for itm in cls if cls._is_element(itm.name)] + if key is None: + return elements + + ret = [itm for itm in elements if itm.value == key] + if ret: + return ret[0] + return None + + @classmethod + def render(cls, key, large=False): + """Render the value as a HTML label.""" + # If the key cannot be found, pass it back + item = cls.values(key) + if item is None: + return key + + return f"{item.label}" + + @classmethod + def tag(cls): + """Return tag for this status code.""" + # Return the tag if it is defined + if hasattr(cls, '_TAG') and bool(cls._TAG): + return cls._TAG.value + + # Try to find a default tag + # Remove `Status` from the class name + ref_name = cls.__name__.removesuffix('Status') + # Convert to snake case + return re.sub(r'(?Pending") + self.assertEqual(GeneralStatus.render(20), "Placed") + # render with invalid key + self.assertEqual(GeneralStatus.render(100), 100) + + # list + self.assertEqual(GeneralStatus.list(), [{'color': 'secondary', 'key': 10, 'label': 'Pending', 'name': 'PENDING'}, {'color': 'primary', 'key': 20, 'label': 'Placed', 'name': 'PLACED'}, {'color': 'success', 'key': 30, 'label': 'Complete', 'name': 'COMPLETE'}]) + + # text + self.assertEqual(GeneralStatus.text(10), 'Pending') + self.assertEqual(GeneralStatus.text(20), 'Placed') + + # items + self.assertEqual(list(GeneralStatus.items()), [(10, 'Pending'), (20, 'Placed'), (30, 'Complete')]) + + # keys + self.assertEqual(list(GeneralStatus.keys()), ([10, 20, 30])) + + # labels + self.assertEqual(list(GeneralStatus.labels()), ['Pending', 'Placed', 'Complete']) + + # names + self.assertEqual(GeneralStatus.names(), {'PENDING': 10, 'PLACED': 20, 'COMPLETE': 30}) + + # dict + self.assertEqual(GeneralStatus.dict(), { + 'PENDING': {'key': 10, 'name': 'PENDING', 'label': 'Pending', 'color': 'secondary'}, + 'PLACED': {'key': 20, 'name': 'PLACED', 'label': 'Placed', 'color': 'primary'}, + 'COMPLETE': {'key': 30, 'name': 'COMPLETE', 'label': 'Complete', 'color': 'success'}, + }) + + # label + self.assertEqual(GeneralStatus.label(10), 'Pending') + + def test_tag_function(self): + """Test that the status code tag functions.""" + from .tags import status_label + + self.assertEqual(status_label('general', 10), "Pending") + + # invalid type + with self.assertRaises(ValueError) as e: + status_label('invalid', 10) + self.assertEqual(str(e.exception), "Unknown status type 'invalid'") + + # Test non-existent key + self.assertEqual(status_label('general', 100), '100') + + def test_api(self): + """Test StatusView API view.""" + view = StatusView.as_view() + rqst = RequestFactory().get('status/',) + force_authenticate(rqst, user=self.user) + + # Correct call + resp = view(rqst, **{StatusView.MODEL_REF: GeneralStatus}) + self.assertEqual(resp.data, {'class': 'GeneralStatus', 'values': {'COMPLETE': {'key': 30, 'name': 'COMPLETE', 'label': 'Complete', 'color': 'success'}, 'PENDING': {'key': 10, 'name': 'PENDING', 'label': 'Pending', 'color': 'secondary'}, 'PLACED': {'key': 20, 'name': 'PLACED', 'label': 'Placed', 'color': 'primary'}}}) + + # No status defined + resp = view(rqst, **{StatusView.MODEL_REF: None}) + self.assertEqual(resp.status_code, 400) + self.assertEqual(str(resp.rendered_content, 'utf-8'), '["StatusView view called without \'statusmodel\' parameter"]') + + # Invalid call - not a class + with self.assertRaises(NotImplementedError) as e: + resp = view(rqst, **{StatusView.MODEL_REF: 'invalid'}) + self.assertEqual(str(e.exception), "`status_class` not a class") + + # Invalid call - not the right class + with self.assertRaises(NotImplementedError) as e: + resp = view(rqst, **{StatusView.MODEL_REF: object}) + self.assertEqual(str(e.exception), "`status_class` not a valid StatusCode class") diff --git a/InvenTree/generic/templatetags/__init__.py b/InvenTree/generic/templatetags/__init__.py new file mode 100644 index 0000000000..8292854247 --- /dev/null +++ b/InvenTree/generic/templatetags/__init__.py @@ -0,0 +1 @@ +"""Template tags for generic *things*.""" diff --git a/InvenTree/generic/templatetags/generic.py b/InvenTree/generic/templatetags/generic.py new file mode 100644 index 0000000000..af33e9d36b --- /dev/null +++ b/InvenTree/generic/templatetags/generic.py @@ -0,0 +1,10 @@ +"""Template tags for generic *things*.""" + +from django import template + +register = template.Library() +from generic.states.tags import status_label # noqa: E402 + +__all__ = [ + status_label, +] diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 322ec71ab8..0e6071ebab 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -16,15 +16,18 @@ from rest_framework.response import Response from common.models import InvenTreeSetting, ProjectCode from common.settings import settings from company.models import SupplierPart +from generic.states import StatusView from InvenTree.api import (APIDownloadMixin, AttachmentMixin, - ListCreateDestroyAPIView, MetadataView, StatusView) + ListCreateDestroyAPIView, MetadataView) from InvenTree.filters import SEARCH_ORDER_FILTER, SEARCH_ORDER_FILTER_ALIAS from InvenTree.helpers import DownloadFile, str2bool from InvenTree.helpers_model import construct_absolute_url, get_base_url from InvenTree.mixins import (CreateAPI, ListAPI, ListCreateAPI, RetrieveUpdateDestroyAPI) -from InvenTree.status_codes import (PurchaseOrderStatus, ReturnOrderLineStatus, - ReturnOrderStatus, SalesOrderStatus) +from InvenTree.status_codes import (PurchaseOrderStatus, + PurchaseOrderStatusGroups, + ReturnOrderLineStatus, ReturnOrderStatus, + SalesOrderStatus, SalesOrderStatusGroups) from order import models, serializers from order.admin import (PurchaseOrderExtraLineResource, PurchaseOrderLineItemResource, PurchaseOrderResource, @@ -431,9 +434,9 @@ class PurchaseOrderLineItemFilter(LineItemFilter): """Filter by "pending" status (order status = pending)""" if str2bool(value): - return queryset.filter(order__status__in=PurchaseOrderStatus.OPEN) + return queryset.filter(order__status__in=PurchaseOrderStatusGroups.OPEN) else: - return queryset.exclude(order__status__in=PurchaseOrderStatus.OPEN) + return queryset.exclude(order__status__in=PurchaseOrderStatusGroups.OPEN) received = rest_filters.BooleanFilter(label='received', method='filter_received') @@ -448,7 +451,7 @@ class PurchaseOrderLineItemFilter(LineItemFilter): return queryset.filter(q) else: # Only count "pending" orders - return queryset.exclude(q).filter(order__status__in=PurchaseOrderStatus.OPEN) + return queryset.exclude(q).filter(order__status__in=PurchaseOrderStatusGroups.OPEN) class PurchaseOrderLineItemMixin: @@ -984,12 +987,12 @@ class SalesOrderAllocationList(ListAPI): # Filter only "open" orders # Filter only allocations which have *not* shipped queryset = queryset.filter( - line__order__status__in=SalesOrderStatus.OPEN, + line__order__status__in=SalesOrderStatusGroups.OPEN, shipment__shipment_date=None, ) else: queryset = queryset.exclude( - line__order__status__in=SalesOrderStatus.OPEN, + line__order__status__in=SalesOrderStatusGroups.OPEN, shipment__shipment_date=None ) @@ -1471,21 +1474,21 @@ class OrderCalendarExport(ICalFeed): if obj['include_completed'] is False: # Do not include completed orders from list in this case # Completed status = 30 - outlist = models.PurchaseOrder.objects.filter(target_date__isnull=False).filter(status__lt=PurchaseOrderStatus.COMPLETE) + outlist = models.PurchaseOrder.objects.filter(target_date__isnull=False).filter(status__lt=PurchaseOrderStatus.COMPLETE.value) else: outlist = models.PurchaseOrder.objects.filter(target_date__isnull=False) elif obj["ordertype"] == 'sales-order': if obj['include_completed'] is False: # Do not include completed (=shipped) orders from list in this case # Shipped status = 20 - outlist = models.SalesOrder.objects.filter(target_date__isnull=False).filter(status__lt=SalesOrderStatus.SHIPPED) + outlist = models.SalesOrder.objects.filter(target_date__isnull=False).filter(status__lt=SalesOrderStatus.SHIPPED.value) else: outlist = models.SalesOrder.objects.filter(target_date__isnull=False) elif obj["ordertype"] == 'return-order': if obj['include_completed'] is False: # Do not include completed orders from list in this case # Complete status = 30 - outlist = models.ReturnOrder.objects.filter(target_date__isnull=False).filter(status__lt=ReturnOrderStatus.COMPLETE) + outlist = models.ReturnOrder.objects.filter(target_date__isnull=False).filter(status__lt=ReturnOrderStatus.COMPLETE.value) else: outlist = models.ReturnOrder.objects.filter(target_date__isnull=False) else: diff --git a/InvenTree/order/migrations/0096_alter_returnorderlineitem_outcome.py b/InvenTree/order/migrations/0096_alter_returnorderlineitem_outcome.py new file mode 100644 index 0000000000..ac95830807 --- /dev/null +++ b/InvenTree/order/migrations/0096_alter_returnorderlineitem_outcome.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.19 on 2023-06-04 17:43 + +from django.db import migrations, models +import InvenTree.status_codes + + +class Migration(migrations.Migration): + + dependencies = [ + ('order', '0095_salesordershipment_delivery_date'), + ] + + operations = [ + migrations.AlterField( + model_name='returnorderlineitem', + name='outcome', + field=models.PositiveIntegerField(choices=InvenTree.status_codes.ReturnOrderLineStatus.items(), default=10, help_text='Outcome for this line item', verbose_name='Outcome'), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 34cb951564..f7301e2894 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -41,9 +41,12 @@ from InvenTree.helpers_model import getSetting, notify_responsible from InvenTree.models import (InvenTreeAttachment, InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, ReferenceIndexingMixin) -from InvenTree.status_codes import (PurchaseOrderStatus, ReturnOrderLineStatus, - ReturnOrderStatus, SalesOrderStatus, - StockHistoryCode, StockStatus) +from InvenTree.status_codes import (PurchaseOrderStatus, + PurchaseOrderStatusGroups, + ReturnOrderLineStatus, ReturnOrderStatus, + ReturnOrderStatusGroups, SalesOrderStatus, + SalesOrderStatusGroups, StockHistoryCode, + StockStatus) from part import models as PartModels from plugin.events import trigger_event @@ -294,7 +297,7 @@ class PurchaseOrder(TotalPriceMixin, Order): @classmethod def get_status_class(cls): """Return the PurchasOrderStatus class""" - return PurchaseOrderStatus + return PurchaseOrderStatusGroups @classmethod def api_defaults(cls, request): @@ -333,10 +336,10 @@ class PurchaseOrder(TotalPriceMixin, Order): return queryset # Construct a queryset for "received" orders within the range - received = Q(status=PurchaseOrderStatus.COMPLETE) & Q(complete_date__gte=min_date) & Q(complete_date__lte=max_date) + received = Q(status=PurchaseOrderStatus.COMPLETE.value) & Q(complete_date__gte=min_date) & Q(complete_date__lte=max_date) # Construct a queryset for "pending" orders within the range - pending = Q(status__in=PurchaseOrderStatus.OPEN) & ~Q(target_date=None) & Q(target_date__gte=min_date) & Q(target_date__lte=max_date) + pending = Q(status__in=PurchaseOrderStatusGroups.OPEN) & ~Q(target_date=None) & Q(target_date__gte=min_date) & Q(target_date__lte=max_date) # TODO - Construct a queryset for "overdue" orders within the range @@ -361,7 +364,7 @@ class PurchaseOrder(TotalPriceMixin, Order): ] ) - status = models.PositiveIntegerField(default=PurchaseOrderStatus.PENDING, choices=PurchaseOrderStatus.items(), + status = models.PositiveIntegerField(default=PurchaseOrderStatus.PENDING.value, choices=PurchaseOrderStatus.items(), help_text=_('Purchase order status')) @property @@ -479,7 +482,7 @@ class PurchaseOrder(TotalPriceMixin, Order): Order must be currently PENDING. """ if self.status == PurchaseOrderStatus.PENDING: - self.status = PurchaseOrderStatus.PLACED + self.status = PurchaseOrderStatus.PLACED.value self.issue_date = datetime.now().date() self.save() @@ -500,7 +503,7 @@ class PurchaseOrder(TotalPriceMixin, Order): Order must be currently PLACED. """ if self.status == PurchaseOrderStatus.PLACED: - self.status = PurchaseOrderStatus.COMPLETE + self.status = PurchaseOrderStatus.COMPLETE.value self.complete_date = datetime.now().date() self.save() @@ -520,7 +523,7 @@ class PurchaseOrder(TotalPriceMixin, Order): @property def is_open(self): """Return True if the PurchaseOrder is 'open'""" - return self.status in PurchaseOrderStatus.OPEN + return self.status in PurchaseOrderStatusGroups.OPEN def can_cancel(self): """A PurchaseOrder can only be cancelled under the following circumstances. @@ -537,7 +540,7 @@ class PurchaseOrder(TotalPriceMixin, Order): def cancel_order(self): """Marks the PurchaseOrder as CANCELLED.""" if self.can_cancel(): - self.status = PurchaseOrderStatus.CANCELLED + self.status = PurchaseOrderStatus.CANCELLED.value self.save() trigger_event('purchaseorder.cancelled', id=self.pk) @@ -574,7 +577,7 @@ class PurchaseOrder(TotalPriceMixin, Order): return self.lines.count() > 0 and self.pending_line_items().count() == 0 @transaction.atomic - def receive_line_item(self, line, location, quantity, user, status=StockStatus.OK, **kwargs): + def receive_line_item(self, line, location, quantity, user, status=StockStatus.OK.value, **kwargs): """Receive a line item (or partial line item) against this PurchaseOrder.""" # Extract optional batch code for the new stock item batch_code = kwargs.get('batch_code', '') @@ -701,7 +704,7 @@ class SalesOrder(TotalPriceMixin, Order): @classmethod def get_status_class(cls): """Return the SalesOrderStatus class""" - return SalesOrderStatus + return SalesOrderStatusGroups @classmethod def api_defaults(cls, request): @@ -739,10 +742,10 @@ class SalesOrder(TotalPriceMixin, Order): return queryset # Construct a queryset for "completed" orders within the range - completed = Q(status__in=SalesOrderStatus.COMPLETE) & Q(shipment_date__gte=min_date) & Q(shipment_date__lte=max_date) + completed = Q(status__in=SalesOrderStatusGroups.COMPLETE) & Q(shipment_date__gte=min_date) & Q(shipment_date__lte=max_date) # Construct a queryset for "pending" orders within the range - pending = Q(status__in=SalesOrderStatus.OPEN) & ~Q(target_date=None) & Q(target_date__gte=min_date) & Q(target_date__lte=max_date) + pending = Q(status__in=SalesOrderStatusGroups.OPEN) & ~Q(target_date=None) & Q(target_date__gte=min_date) & Q(target_date__lte=max_date) # TODO: Construct a queryset for "overdue" orders within the range @@ -783,7 +786,7 @@ class SalesOrder(TotalPriceMixin, Order): return self.customer status = models.PositiveIntegerField( - default=SalesOrderStatus.PENDING, + default=SalesOrderStatus.PENDING.value, choices=SalesOrderStatus.items(), verbose_name=_('Status'), help_text=_('Purchase order status') ) @@ -813,7 +816,7 @@ class SalesOrder(TotalPriceMixin, Order): @property def is_open(self): """Return True if this order is 'open' (either 'pending' or 'in_progress')""" - return self.status in SalesOrderStatus.OPEN + return self.status in SalesOrderStatusGroups.OPEN @property def stock_allocations(self): @@ -881,7 +884,7 @@ class SalesOrder(TotalPriceMixin, Order): """Change this order from 'PENDING' to 'IN_PROGRESS'""" if self.status == SalesOrderStatus.PENDING: - self.status = SalesOrderStatus.IN_PROGRESS + self.status = SalesOrderStatus.IN_PROGRESS.value self.issue_date = datetime.now().date() self.save() @@ -892,7 +895,7 @@ class SalesOrder(TotalPriceMixin, Order): if not self.can_complete(**kwargs): return False - self.status = SalesOrderStatus.SHIPPED + self.status = SalesOrderStatus.SHIPPED.value self.shipped_by = user self.shipment_date = datetime.now() @@ -921,7 +924,7 @@ class SalesOrder(TotalPriceMixin, Order): if not self.can_cancel(): return False - self.status = SalesOrderStatus.CANCELLED + self.status = SalesOrderStatus.CANCELLED.value self.save() for line in self.lines.all(): @@ -1696,7 +1699,7 @@ class ReturnOrder(TotalPriceMixin, Order): @classmethod def get_status_class(cls): """Return the ReturnOrderStatus class""" - return ReturnOrderStatus + return ReturnOrderStatusGroups @classmethod def api_defaults(cls, request): @@ -1742,7 +1745,7 @@ class ReturnOrder(TotalPriceMixin, Order): return self.customer status = models.PositiveIntegerField( - default=ReturnOrderStatus.PENDING, + default=ReturnOrderStatus.PENDING.value, choices=ReturnOrderStatus.items(), verbose_name=_('Status'), help_text=_('Return order status') ) @@ -1773,7 +1776,7 @@ class ReturnOrder(TotalPriceMixin, Order): @property def is_open(self): """Return True if this order is outstanding""" - return self.status in ReturnOrderStatus.OPEN + return self.status in ReturnOrderStatusGroups.OPEN @property def is_received(self): @@ -1784,7 +1787,7 @@ class ReturnOrder(TotalPriceMixin, Order): def cancel_order(self): """Cancel this ReturnOrder (if not already cancelled)""" if self.status != ReturnOrderStatus.CANCELLED: - self.status = ReturnOrderStatus.CANCELLED + self.status = ReturnOrderStatus.CANCELLED.value self.save() trigger_event('returnorder.cancelled', id=self.pk) @@ -1794,7 +1797,7 @@ class ReturnOrder(TotalPriceMixin, Order): """Complete this ReturnOrder (if not already completed)""" if self.status == ReturnOrderStatus.IN_PROGRESS: - self.status = ReturnOrderStatus.COMPLETE + self.status = ReturnOrderStatus.COMPLETE.value self.complete_date = datetime.now().date() self.save() @@ -1809,7 +1812,7 @@ class ReturnOrder(TotalPriceMixin, Order): """Issue this ReturnOrder (if currently pending)""" if self.status == ReturnOrderStatus.PENDING: - self.status = ReturnOrderStatus.IN_PROGRESS + self.status = ReturnOrderStatus.IN_PROGRESS.value self.issue_date = datetime.now().date() self.save() @@ -1833,7 +1836,7 @@ class ReturnOrder(TotalPriceMixin, Order): stock_item = line.item deltas = { - 'status': StockStatus.QUARANTINED, + 'status': StockStatus.QUARANTINED.value, 'returnorder': self.pk, 'location': location.pk, } @@ -1842,7 +1845,7 @@ class ReturnOrder(TotalPriceMixin, Order): deltas['customer'] = stock_item.customer.pk # Update the StockItem - stock_item.status = StockStatus.QUARANTINED + stock_item.status = StockStatus.QUARANTINED.value stock_item.location = location stock_item.customer = None stock_item.sales_order = None @@ -1926,7 +1929,7 @@ class ReturnOrderLineItem(OrderLineItem): return self.received_date is not None outcome = models.PositiveIntegerField( - default=ReturnOrderLineStatus.PENDING, + default=ReturnOrderLineStatus.PENDING.value, choices=ReturnOrderLineStatus.items(), verbose_name=_('Outcome'), help_text=_('Outcome for this line item') ) diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index f8c3c0dcc4..d0dee4740b 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -27,8 +27,9 @@ from InvenTree.serializers import (InvenTreeAttachmentSerializer, InvenTreeDecimalField, InvenTreeModelSerializer, InvenTreeMoneySerializer) -from InvenTree.status_codes import (PurchaseOrderStatus, ReturnOrderStatus, - SalesOrderStatus, StockStatus) +from InvenTree.status_codes import (PurchaseOrderStatusGroups, + ReturnOrderStatus, SalesOrderStatusGroups, + StockStatus) from part.serializers import PartBriefSerializer from users.serializers import OwnerSerializer @@ -381,7 +382,7 @@ class PurchaseOrderLineItemSerializer(InvenTreeModelSerializer): def validate_purchase_order(self, purchase_order): """Validation for the 'purchase_order' field""" - if purchase_order.status not in PurchaseOrderStatus.OPEN: + if purchase_order.status not in PurchaseOrderStatusGroups.OPEN: raise ValidationError(_('Order is not open')) return purchase_order @@ -518,8 +519,8 @@ class PurchaseOrderLineItemReceiveSerializer(serializers.Serializer): ) status = serializers.ChoiceField( - choices=list(StockStatus.items()), - default=StockStatus.OK, + choices=StockStatus.items(), + default=StockStatus.OK.value, label=_('Status'), ) @@ -906,7 +907,7 @@ class SalesOrderLineItemSerializer(InvenTreeModelSerializer): queryset = queryset.annotate( overdue=Case( When( - Q(order__status__in=SalesOrderStatus.OPEN) & order.models.SalesOrderLineItem.OVERDUE_FILTER, then=Value(True, output_field=BooleanField()), + Q(order__status__in=SalesOrderStatusGroups.OPEN) & order.models.SalesOrderLineItem.OVERDUE_FILTER, then=Value(True, output_field=BooleanField()), ), default=Value(False, output_field=BooleanField()), ) diff --git a/InvenTree/order/tasks.py b/InvenTree/order/tasks.py index e04906bd00..225c3a7976 100644 --- a/InvenTree/order/tasks.py +++ b/InvenTree/order/tasks.py @@ -7,7 +7,8 @@ from django.utils.translation import gettext_lazy as _ import common.notifications import InvenTree.helpers_model import order.models -from InvenTree.status_codes import PurchaseOrderStatus, SalesOrderStatus +from InvenTree.status_codes import (PurchaseOrderStatusGroups, + SalesOrderStatusGroups) from InvenTree.tasks import ScheduledTask, scheduled_task from plugin.events import trigger_event @@ -68,7 +69,7 @@ def check_overdue_purchase_orders(): overdue_orders = order.models.PurchaseOrder.objects.filter( target_date=yesterday, - status__in=PurchaseOrderStatus.OPEN + status__in=PurchaseOrderStatusGroups.OPEN, ) for po in overdue_orders: @@ -131,7 +132,7 @@ def check_overdue_sales_orders(): overdue_orders = order.models.SalesOrder.objects.filter( target_date=yesterday, - status__in=SalesOrderStatus.OPEN + status__in=SalesOrderStatusGroups.OPEN, ) for po in overdue_orders: diff --git a/InvenTree/order/templates/order/order_base.html b/InvenTree/order/templates/order/order_base.html index 4eb6c55659..436636b8f8 100644 --- a/InvenTree/order/templates/order/order_base.html +++ b/InvenTree/order/templates/order/order_base.html @@ -3,7 +3,7 @@ {% load i18n %} {% load static %} {% load inventree_extras %} -{% load status_codes %} +{% load generic %} {% block page_title %} {% inventree_title %} | {% trans "Purchase Order" %} @@ -121,7 +121,7 @@ src="{% static 'img/blank_image.png' %}" {% trans "Order Status" %} - {% purchase_order_status_label order.status %} + {% status_label 'purchase_order' order.status %} {% if order.is_overdue %} {% trans "Overdue" %} {% endif %} diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index e484b245c4..1994be41da 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -1,7 +1,7 @@ {% extends "order/order_base.html" %} {% load inventree_extras %} -{% load status_codes %} +{% load generic %} {% load i18n %} {% load static %} diff --git a/InvenTree/order/templates/order/return_order_base.html b/InvenTree/order/templates/order/return_order_base.html index 9288e41f37..d701112b0b 100644 --- a/InvenTree/order/templates/order/return_order_base.html +++ b/InvenTree/order/templates/order/return_order_base.html @@ -3,7 +3,7 @@ {% load i18n %} {% load static %} {% load inventree_extras %} -{% load status_codes %} +{% load generic %} {% block page_title %} {% inventree_title %} | {% trans "Return Order" %} @@ -113,7 +113,7 @@ src="{% static 'img/blank_image.png' %}" {% trans "Order Status" %} - {% return_order_status_label order.status %} + {% status_label 'return_order' order.status %} {% if order.is_overdue %} {% trans "Overdue" %} {% endif %} diff --git a/InvenTree/order/templates/order/return_order_detail.html b/InvenTree/order/templates/order/return_order_detail.html index 56a943308f..b0542ba188 100644 --- a/InvenTree/order/templates/order/return_order_detail.html +++ b/InvenTree/order/templates/order/return_order_detail.html @@ -1,7 +1,7 @@ {% extends "order/return_order_base.html" %} {% load inventree_extras %} -{% load status_codes %} +{% load generic %} {% load i18n %} {% load static %} diff --git a/InvenTree/order/templates/order/sales_order_base.html b/InvenTree/order/templates/order/sales_order_base.html index be8dac2bab..b149a440eb 100644 --- a/InvenTree/order/templates/order/sales_order_base.html +++ b/InvenTree/order/templates/order/sales_order_base.html @@ -3,7 +3,7 @@ {% load i18n %} {% load static %} {% load inventree_extras %} -{% load status_codes %} +{% load generic %} {% block page_title %} {% inventree_title %} | {% trans "Sales Order" %} @@ -118,7 +118,7 @@ src="{% static 'img/blank_image.png' %}" {% trans "Order Status" %} - {% sales_order_status_label order.status %} + {% status_label 'sales_order' order.status %} {% if order.is_overdue %} {% trans "Overdue" %} {% endif %} diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index ede1e30711..8a43c3ee1b 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -1,7 +1,7 @@ {% extends "order/sales_order_base.html" %} {% load inventree_extras %} -{% load status_codes %} +{% load generic %} {% load i18n %} {% load static %} diff --git a/InvenTree/order/test_api.py b/InvenTree/order/test_api.py index 436b21c938..99ee7bc894 100644 --- a/InvenTree/order/test_api.py +++ b/InvenTree/order/test_api.py @@ -17,7 +17,7 @@ from common.settings import currency_codes from company.models import Company from InvenTree.status_codes import (PurchaseOrderStatus, ReturnOrderLineStatus, ReturnOrderStatus, SalesOrderStatus, - StockStatus) + SalesOrderStatusGroups, StockStatus) from InvenTree.unit_test import InvenTreeAPITestCase from order import models from part.models import Part @@ -562,7 +562,7 @@ class PurchaseOrderTest(OrderTest): # Test without completed orders response = self.get(url, expected_code=200, format=None) - number_orders = len(models.PurchaseOrder.objects.filter(target_date__isnull=False).filter(status__lt=PurchaseOrderStatus.COMPLETE)) + number_orders = len(models.PurchaseOrder.objects.filter(target_date__isnull=False).filter(status__lt=PurchaseOrderStatus.COMPLETE.value)) # Transform content to a Calendar object calendar = Calendar.from_ical(response.content) @@ -743,7 +743,7 @@ class PurchaseOrderReceiveTest(OrderTest): # Mark the order as "placed" so we can receive line items order = models.PurchaseOrder.objects.get(pk=1) - order.status = PurchaseOrderStatus.PLACED + order.status = PurchaseOrderStatus.PLACED.value order.save() def test_empty(self): @@ -944,7 +944,7 @@ class PurchaseOrderReceiveTest(OrderTest): # Before posting "valid" data, we will mark the purchase order as "pending" # In this case we do expect an error! order = models.PurchaseOrder.objects.get(pk=1) - order.status = PurchaseOrderStatus.PENDING + order.status = PurchaseOrderStatus.PENDING.value order.save() response = self.post( @@ -956,7 +956,7 @@ class PurchaseOrderReceiveTest(OrderTest): self.assertIn('can only be received against', str(response.data)) # Now, set the PurchaseOrder back to "PLACED" so the items can be received - order.status = PurchaseOrderStatus.PLACED + order.status = PurchaseOrderStatus.PLACED.value order.save() # Receive two separate line items against this order @@ -1388,7 +1388,7 @@ class SalesOrderTest(OrderTest): # Test without completed orders response = self.get(url, expected_code=200, format=None) - number_orders = len(models.SalesOrder.objects.filter(target_date__isnull=False).filter(status__lt=SalesOrderStatus.SHIPPED)) + number_orders = len(models.SalesOrder.objects.filter(target_date__isnull=False).filter(status__lt=SalesOrderStatus.SHIPPED.value)) # Transform content to a Calendar object calendar = Calendar.from_ical(response.content) @@ -1621,7 +1621,7 @@ class SalesOrderDownloadTest(OrderTest): file, required_cols=required_cols, excluded_cols=excluded_cols, - required_rows=models.SalesOrder.objects.filter(status__in=SalesOrderStatus.OPEN).count(), + required_rows=models.SalesOrder.objects.filter(status__in=SalesOrderStatusGroups.OPEN).count(), delimiter='\t', ) diff --git a/InvenTree/order/test_migrations.py b/InvenTree/order/test_migrations.py index a45f09fc48..8bcdbeae8e 100644 --- a/InvenTree/order/test_migrations.py +++ b/InvenTree/order/test_migrations.py @@ -109,7 +109,7 @@ class TestShipmentMigration(MigratorTestCase): reference=f'SO{ii}', customer=customer, description='A sales order for stuffs', - status=SalesOrderStatus.PENDING, + status=SalesOrderStatus.PENDING.value, ) order.save() diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index d18ac8ea20..4af7ed98dd 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -29,8 +29,9 @@ from InvenTree.mixins import (CreateAPI, CustomRetrieveUpdateDestroyAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI, UpdateAPI) from InvenTree.permissions import RolePermission -from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, - SalesOrderStatus) +from InvenTree.status_codes import (BuildStatusGroups, + PurchaseOrderStatusGroups, + SalesOrderStatusGroups) from part.admin import PartCategoryResource, PartResource from . import serializers as part_serializers @@ -479,7 +480,7 @@ class PartScheduling(RetrieveAPI): # Add purchase order (incoming stock) information po_lines = order.models.PurchaseOrderLineItem.objects.filter( part__part=part, - order__status__in=PurchaseOrderStatus.OPEN, + order__status__in=PurchaseOrderStatusGroups.OPEN, ) for line in po_lines: @@ -502,7 +503,7 @@ class PartScheduling(RetrieveAPI): # Add sales order (outgoing stock) information so_lines = order.models.SalesOrderLineItem.objects.filter( part=part, - order__status__in=SalesOrderStatus.OPEN, + order__status__in=SalesOrderStatusGroups.OPEN, ) for line in so_lines: @@ -522,7 +523,7 @@ class PartScheduling(RetrieveAPI): # Add build orders (incoming stock) information build_orders = Build.objects.filter( part=part, - status__in=BuildStatus.ACTIVE_CODES + status__in=BuildStatusGroups.ACTIVE_CODES ) for build in build_orders: @@ -567,12 +568,12 @@ class PartScheduling(RetrieveAPI): # An "inherited" BOM item filters down to variant parts also children = bom_item.part.get_descendants(include_self=True) builds = Build.objects.filter( - status__in=BuildStatus.ACTIVE_CODES, + status__in=BuildStatusGroups.ACTIVE_CODES, part__in=children, ) else: builds = Build.objects.filter( - status__in=BuildStatus.ACTIVE_CODES, + status__in=BuildStatusGroups.ACTIVE_CODES, part=bom_item.part, ) @@ -1197,7 +1198,7 @@ class PartList(PartMixin, APIDownloadMixin, ListCreateAPI): if stock_to_build is not None: # Get active builds - builds = Build.objects.filter(status__in=BuildStatus.ACTIVE_CODES) + builds = Build.objects.filter(status__in=BuildStatusGroups.ACTIVE_CODES) # Store parts with builds needing stock parts_needed_to_complete_builds = [] # Filter required parts diff --git a/InvenTree/part/filters.py b/InvenTree/part/filters.py index aa0015ea94..70555a0a78 100644 --- a/InvenTree/part/filters.py +++ b/InvenTree/part/filters.py @@ -28,8 +28,9 @@ from sql_util.utils import SubquerySum import part.models import stock.models -from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, - SalesOrderStatus) +from InvenTree.status_codes import (BuildStatusGroups, + PurchaseOrderStatusGroups, + SalesOrderStatusGroups) def annotate_on_order_quantity(reference: str = ''): @@ -46,7 +47,7 @@ def annotate_on_order_quantity(reference: str = ''): # Filter only 'active' purhase orders # Filter only line with outstanding quantity order_filter = Q( - order__status__in=PurchaseOrderStatus.OPEN, + order__status__in=PurchaseOrderStatusGroups.OPEN, quantity__gt=F('received'), ) @@ -111,7 +112,7 @@ def annotate_build_order_allocations(reference: str = ''): """ # Build filter only returns 'active' build orders - build_filter = Q(build__status__in=BuildStatus.ACTIVE_CODES) + build_filter = Q(build__status__in=BuildStatusGroups.ACTIVE_CODES) return Coalesce( SubquerySum( @@ -137,7 +138,7 @@ def annotate_sales_order_allocations(reference: str = ''): # Order filter only returns incomplete shipments for open orders order_filter = Q( - line__order__status__in=SalesOrderStatus.OPEN, + line__order__status__in=SalesOrderStatusGroups.OPEN, shipment__shipment_date=None, ) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 984016ede0..b775960b70 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -51,8 +51,9 @@ from InvenTree.helpers import (decimal2money, decimal2string, normalize, from InvenTree.models import (DataImportMixin, InvenTreeAttachment, InvenTreeBarcodeMixin, InvenTreeNotesMixin, InvenTreeTree, MetadataMixin) -from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, - SalesOrderStatus) +from InvenTree.status_codes import (BuildStatusGroups, PurchaseOrderStatus, + PurchaseOrderStatusGroups, + SalesOrderStatus, SalesOrderStatusGroups) from order import models as OrderModels from stock import models as StockModels @@ -1070,7 +1071,7 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) # Now, get a list of outstanding build orders which require this part builds = BuildModels.Build.objects.filter( part__in=self.get_used_in(), - status__in=BuildStatus.ACTIVE_CODES + status__in=BuildStatusGroups.ACTIVE_CODES ) return builds @@ -1104,7 +1105,7 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) # Get a list of line items for open orders which match this part open_lines = OrderModels.SalesOrderLineItem.objects.filter( - order__status__in=SalesOrderStatus.OPEN, + order__status__in=SalesOrderStatusGroups.OPEN, part=self ) @@ -1117,7 +1118,7 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) """Return the quantity of this part required for active sales orders.""" # Get a list of line items for open orders which match this part open_lines = OrderModels.SalesOrderLineItem.objects.filter( - order__status__in=SalesOrderStatus.OPEN, + order__status__in=SalesOrderStatusGroups.OPEN, part=self ) @@ -1329,7 +1330,7 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) Builds marked as 'complete' or 'cancelled' are ignored """ - return self.builds.filter(status__in=BuildStatus.ACTIVE_CODES) + return self.builds.filter(status__in=BuildStatusGroups.ACTIVE_CODES) @property def quantity_being_built(self): @@ -1401,13 +1402,13 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) if pending is True: # Look only for 'open' orders which have not shipped queryset = queryset.filter( - line__order__status__in=SalesOrderStatus.OPEN, + line__order__status__in=SalesOrderStatusGroups.OPEN, shipment__shipment_date=None, ) elif pending is False: # Look only for 'closed' orders or orders which have shipped queryset = queryset.exclude( - line__order__status__in=SalesOrderStatus.OPEN, + line__order__status__in=SalesOrderStatusGroups.OPEN, shipment__shipment_date=None, ) @@ -2161,7 +2162,7 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) # Look at any incomplete line item for open orders lines = sp.purchase_order_line_items.filter( - order__status__in=PurchaseOrderStatus.OPEN, + order__status__in=PurchaseOrderStatusGroups.OPEN, quantity__gt=F('received'), ) @@ -2559,7 +2560,7 @@ class PartPricing(common.models.MetaMixin): # Find all line items for completed orders which reference this part line_items = OrderModels.PurchaseOrderLineItem.objects.filter( - order__status=PurchaseOrderStatus.COMPLETE, + order__status=PurchaseOrderStatus.COMPLETE.value, received__gt=0, part__part=self.part, ) diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 97a1de33a0..2a209633d4 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -25,7 +25,7 @@ import InvenTree.status import part.filters import part.tasks import stock.models -from InvenTree.status_codes import BuildStatus +from InvenTree.status_codes import BuildStatusGroups from InvenTree.tasks import offload_task from .models import (BomItem, BomItemSubstitute, Part, PartAttachment, @@ -532,7 +532,7 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize # Filter to limit builds to "active" build_filter = Q( - status__in=BuildStatus.ACTIVE_CODES + status__in=BuildStatusGroups.ACTIVE_CODES ) # Annotate with the total 'building' quantity diff --git a/InvenTree/part/templatetags/status_codes.py b/InvenTree/part/templatetags/status_codes.py deleted file mode 100644 index 9eef869678..0000000000 --- a/InvenTree/part/templatetags/status_codes.py +++ /dev/null @@ -1,46 +0,0 @@ -"""Provide templates for the various model status codes.""" - -from django import template -from django.utils.safestring import mark_safe - -from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, - ReturnOrderStatus, SalesOrderStatus, - StockStatus) - -register = template.Library() - - -@register.simple_tag -def purchase_order_status_label(key, *args, **kwargs): - """Render a PurchaseOrder status label.""" - return mark_safe(PurchaseOrderStatus.render(key, large=kwargs.get('large', False))) - - -@register.simple_tag -def sales_order_status_label(key, *args, **kwargs): - """Render a SalesOrder status label.""" - return mark_safe(SalesOrderStatus.render(key, large=kwargs.get('large', False))) - - -@register.simple_tag -def return_order_status_label(key, *args, **kwargs): - """Render a ReturnOrder status label""" - return mark_safe(ReturnOrderStatus.render(key, large=kwargs.get('large', False))) - - -@register.simple_tag -def stock_status_label(key, *args, **kwargs): - """Render a StockItem status label.""" - return mark_safe(StockStatus.render(key, large=kwargs.get('large', False))) - - -@register.simple_tag -def stock_status_text(key, *args, **kwargs): - """Render the text value of a StockItem status value""" - return mark_safe(StockStatus.text(key)) - - -@register.simple_tag -def build_status_label(key, *args, **kwargs): - """Render a Build status label.""" - return mark_safe(BuildStatus.render(key, large=kwargs.get('large', False))) diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index 7944961e18..2d66770318 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -18,7 +18,7 @@ import company.models import order.models from common.models import InvenTreeSetting from company.models import Company, SupplierPart -from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatus, +from InvenTree.status_codes import (BuildStatus, PurchaseOrderStatusGroups, StockStatus) from InvenTree.unit_test import InvenTreeAPITestCase from part.models import (BomItem, BomItemSubstitute, Part, PartCategory, @@ -1628,7 +1628,7 @@ class PartDetailTests(PartAPITestBase): # How many parts are 'on order' for this part? lines = order.models.PurchaseOrderLineItem.objects.filter( part__part__pk=1, - order__status__in=PurchaseOrderStatus.OPEN, + order__status__in=PurchaseOrderStatusGroups.OPEN, ) on_order = 0 @@ -1857,7 +1857,7 @@ class PartAPIAggregationTest(InvenTreeAPITestCase): StockItem.objects.create(part=cls.part, quantity=300) # Now create another 400 units which are LOST - StockItem.objects.create(part=cls.part, quantity=400, status=StockStatus.LOST) + StockItem.objects.create(part=cls.part, quantity=400, status=StockStatus.LOST.value) def get_part_data(self): """Helper function for retrieving part data""" @@ -1992,7 +1992,7 @@ class PartAPIAggregationTest(InvenTreeAPITestCase): quantity=10, title='Making some assemblies', reference='BO-9999', - status=BuildStatus.PRODUCTION, + status=BuildStatus.PRODUCTION.value, ) bom_item = BomItem.objects.get(pk=6) @@ -2133,7 +2133,7 @@ class PartAPIAggregationTest(InvenTreeAPITestCase): for line_item in sp.purchase_order_line_items.all(): po = line_item.order - if po.status in PurchaseOrderStatus.OPEN: + if po.status in PurchaseOrderStatusGroups.OPEN: remaining = line_item.quantity - line_item.received if remaining > 0: diff --git a/InvenTree/part/test_pricing.py b/InvenTree/part/test_pricing.py index 9c62cba977..18dc5c170a 100644 --- a/InvenTree/part/test_pricing.py +++ b/InvenTree/part/test_pricing.py @@ -345,7 +345,7 @@ class PartPricingTests(InvenTreeTestCase): self.assertIsNone(pricing.purchase_cost_min) self.assertIsNone(pricing.purchase_cost_max) - po.status = PurchaseOrderStatus.COMPLETE + po.status = PurchaseOrderStatus.COMPLETE.value po.save() pricing.update_purchase_cost() diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 06e4af3788..3a45debe9c 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -22,8 +22,9 @@ from build.models import Build from build.serializers import BuildSerializer from company.models import Company, SupplierPart from company.serializers import CompanySerializer, SupplierPartSerializer +from generic.states import StatusView from InvenTree.api import (APIDownloadMixin, AttachmentMixin, - ListCreateDestroyAPIView, MetadataView, StatusView) + ListCreateDestroyAPIView, MetadataView) from InvenTree.filters import (ORDER_FILTER, SEARCH_ORDER_FILTER, SEARCH_ORDER_FILTER_ALIAS) from InvenTree.helpers import (DownloadFile, extract_serial_numbers, isNull, diff --git a/InvenTree/stock/migrations/0061_auto_20210511_0911.py b/InvenTree/stock/migrations/0061_auto_20210511_0911.py index e26079cb6c..aacaf01edc 100644 --- a/InvenTree/stock/migrations/0061_auto_20210511_0911.py +++ b/InvenTree/stock/migrations/0061_auto_20210511_0911.py @@ -190,7 +190,7 @@ def update_history(apps, schema_editor): tracking_type = StockHistoryCode.RECEIVED_AGAINST_PURCHASE_ORDER if tracking_type is not None: - entry.tracking_type = tracking_type + entry.tracking_type = tracking_type.value updated = True if updated: diff --git a/InvenTree/stock/migrations/0096_auto_20230330_1121.py b/InvenTree/stock/migrations/0096_auto_20230330_1121.py index 0e7c92cfc7..b2dd16cc03 100644 --- a/InvenTree/stock/migrations/0096_auto_20230330_1121.py +++ b/InvenTree/stock/migrations/0096_auto_20230330_1121.py @@ -43,7 +43,7 @@ def update_stock_history(apps, schema_editor): history.deltas['salesorder'] = item.sales_order.pk # Change the history type - history.tracking_type = StockHistoryCode.SHIPPED_AGAINST_SALES_ORDER + history.tracking_type = StockHistoryCode.SHIPPED_AGAINST_SALES_ORDER.value history.save() n += 1 diff --git a/InvenTree/stock/migrations/0102_alter_stockitem_status.py b/InvenTree/stock/migrations/0102_alter_stockitem_status.py new file mode 100644 index 0000000000..7b8cf4d239 --- /dev/null +++ b/InvenTree/stock/migrations/0102_alter_stockitem_status.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.19 on 2023-06-04 17:43 + +import django.core.validators +from django.db import migrations, models +import InvenTree.status_codes + + +class Migration(migrations.Migration): + + dependencies = [ + ('stock', '0101_stockitemtestresult_metadata'), + ] + + operations = [ + migrations.AlterField( + model_name='stockitem', + name='status', + field=models.PositiveIntegerField(choices=InvenTree.status_codes.StockStatus.items(), default=10, validators=[django.core.validators.MinValueValidator(0)]), + ), + ] diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index a3c838504e..12092d3eba 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -34,8 +34,8 @@ from InvenTree.fields import InvenTreeModelMoneyField, InvenTreeURLField from InvenTree.models import (InvenTreeAttachment, InvenTreeBarcodeMixin, InvenTreeNotesMixin, InvenTreeTree, MetadataMixin, extract_int) -from InvenTree.status_codes import (SalesOrderStatus, StockHistoryCode, - StockStatus) +from InvenTree.status_codes import (SalesOrderStatusGroups, StockHistoryCode, + StockStatus, StockStatusGroups) from part import models as PartModels from plugin.events import trigger_event from users.models import Owner @@ -334,7 +334,7 @@ class StockItem(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, commo customer=None, consumed_by=None, is_building=False, - status__in=StockStatus.AVAILABLE_CODES + status__in=StockStatusGroups.AVAILABLE_CODES ) # A query filter which can be used to filter StockItem objects which have expired @@ -806,7 +806,7 @@ class StockItem(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, commo ) status = models.PositiveIntegerField( - default=StockStatus.OK, + default=StockStatus.OK.value, choices=StockStatus.items(), validators=[MinValueValidator(0)]) @@ -1082,12 +1082,12 @@ class StockItem(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, commo if active is True: query = query.filter( - line__order__status__in=SalesOrderStatus.OPEN, + line__order__status__in=SalesOrderStatusGroups.OPEN, shipment__shipment_date=None ) elif active is False: query = query.exclude( - line__order__status__in=SalesOrderStatus.OPEN + line__order__status__in=SalesOrderStatusGroups.OPEN, ).exclude( shipment__shipment_date=None ) @@ -1346,7 +1346,7 @@ class StockItem(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, commo entry = StockItemTracking.objects.create( item=self, - tracking_type=entry_type, + tracking_type=entry_type.value, user=user, date=datetime.now(), notes=notes, diff --git a/InvenTree/stock/templates/stock/item_base.html b/InvenTree/stock/templates/stock/item_base.html index da04f739da..618413b562 100644 --- a/InvenTree/stock/templates/stock/item_base.html +++ b/InvenTree/stock/templates/stock/item_base.html @@ -2,7 +2,7 @@ {% load static %} {% load plugin_extras %} {% load inventree_extras %} -{% load status_codes %} +{% load generic %} {% load i18n %} {% load l10n %} @@ -421,7 +421,7 @@ {% trans "Status" %} - {% stock_status_label item.status %} + {% status_label 'stock' item.status %} {% if item.expiry_date %} diff --git a/InvenTree/stock/test_api.py b/InvenTree/stock/test_api.py index cd513b1fb0..d8c0a9cf35 100644 --- a/InvenTree/stock/test_api.py +++ b/InvenTree/stock/test_api.py @@ -385,11 +385,11 @@ class StockItemListTest(StockAPITestCase): def test_filter_by_status(self): """Filter StockItem by 'status' field.""" codes = { - StockStatus.OK: 27, - StockStatus.DESTROYED: 1, - StockStatus.LOST: 1, - StockStatus.DAMAGED: 0, - StockStatus.REJECTED: 0, + StockStatus.OK.value: 27, + StockStatus.DESTROYED.value: 1, + StockStatus.LOST.value: 1, + StockStatus.DAMAGED.value: 0, + StockStatus.REJECTED.value: 0, } for code in codes.keys(): @@ -1465,7 +1465,7 @@ class StockAssignTest(StockAPITestCase): stock_item = StockItem.objects.create( part=part.models.Part.objects.get(pk=1), - status=StockStatus.DESTROYED, + status=StockStatus.DESTROYED.value, quantity=5, ) diff --git a/InvenTree/stock/test_views.py b/InvenTree/stock/test_views.py index 6177f0f0a1..be2c58733c 100644 --- a/InvenTree/stock/test_views.py +++ b/InvenTree/stock/test_views.py @@ -112,7 +112,7 @@ class StockOwnershipTest(StockViewTestCase): """Helper function to get response to API change.""" return self.client.patch( reverse('api-stock-detail', args=(self.test_item_id,)), - {'status': StockStatus.DAMAGED}, + {'status': StockStatus.DAMAGED.value}, content_type='application/json', ) @@ -156,7 +156,7 @@ class StockOwnershipTest(StockViewTestCase): # Check that user is allowed to change item self.assertTrue(item.check_ownership(self.user)) # Owner is group -> True self.assertTrue(location.check_ownership(self.user)) # Owner is group -> True - self.assertContains(self.assert_api_change(), f'"status":{StockStatus.DAMAGED}', status_code=200) + self.assertContains(self.assert_api_change(), f'"status":{StockStatus.DAMAGED.value}', status_code=200) # Change group new_group = Group.objects.create(name='new_group') diff --git a/InvenTree/templates/js/translated/status_codes.js b/InvenTree/templates/js/translated/status_codes.js index 8702944730..63c2648f91 100644 --- a/InvenTree/templates/js/translated/status_codes.js +++ b/InvenTree/templates/js/translated/status_codes.js @@ -1,5 +1,5 @@ {% load i18n %} -{% load status_codes %} +{% load generic %} {% load inventree_extras %} /* globals diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index e2aa8d72a3..ffc66816bb 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -1,6 +1,6 @@ {% load i18n %} {% load inventree_extras %} -{% load status_codes %} +{% load generic %} /* globals addCachedAlert, diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index abeba38d00..6c422a3cae 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -1,5 +1,5 @@ {% load i18n %} -{% load status_codes %} +{% load generic %} {% load inventree_extras %} /* globals From d710efb64b5d14e7fecf795f7d27ee1e1b1c7aaf Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Fri, 9 Jun 2023 02:30:03 +0200 Subject: [PATCH 004/103] remove concurrency checks (#5002) Fixes https://github.com/inventree/InvenTree/issues/4999 --- .github/workflows/docker.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 40772ecbfc..a82b2feec5 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -29,9 +29,6 @@ jobs: # Build the docker image build: - concurrency: - group: ${{ github.workflow }}-${{ github.event_name }} - cancel-in-progress: true runs-on: ubuntu-latest permissions: contents: read From aebff26ad35c70a94ea59a87443b811339192c4d Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 10 Jun 2023 19:56:44 +1000 Subject: [PATCH 005/103] New Crowdin updates (#4976) * 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 * 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 | 1291 +++++------ InvenTree/locale/da/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/de/LC_MESSAGES/django.po | 1337 +++++------ InvenTree/locale/el/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/en/LC_MESSAGES/django.po | 560 ++--- InvenTree/locale/es/LC_MESSAGES/django.po | 1303 +++++------ InvenTree/locale/es_MX/LC_MESSAGES/django.po | 560 ++--- InvenTree/locale/fa/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/fi/LC_MESSAGES/django.po | 1989 +++++++++-------- InvenTree/locale/fr/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/he/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/hu/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/id/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/it/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/ja/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/ko/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/nl/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/no/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/pl/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/pt/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/pt_br/LC_MESSAGES/django.po | 560 ++--- InvenTree/locale/ru/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/sl/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/sv/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/th/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/tr/LC_MESSAGES/django.po | 1291 +++++------ InvenTree/locale/vi/LC_MESSAGES/django.po | 1313 +++++------ InvenTree/locale/zh/LC_MESSAGES/django.po | 1291 +++++------ .../locale/zh_Hans/LC_MESSAGES/django.po | 576 ++--- 29 files changed, 18085 insertions(+), 17224 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index b45632fdba..0a36730df4 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -52,12 +52,12 @@ msgstr "Zadejte datum" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Zadaná primární e-mailová adresa je neplatná." msgid "The provided email domain is not approved." msgstr "Zadaná e-mailová doména není povolena." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -237,7 +237,7 @@ msgstr "Chybějící soubor" msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Vyberte soubor k přiložení" msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -279,9 +279,9 @@ msgstr "Komentář k souboru" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Neplatný výběr" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Název" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Musí být platné číslo" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL souboru vzdáleného obrázku" msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Čeština" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Dánština" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Němčina" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Řečtina" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Angličtina" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Španělština" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Španělština (Mexiko)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Perština" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "Finština" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Francouzština" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebrejština" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Maďarština" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italština" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japonština" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Korejština" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Nizozemština" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norština" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polština" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugalština" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugalština (Brazilská)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Ruština" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Slovinština" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Švédština" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Thajština" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turečtina" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamština" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Čínština" @@ -618,196 +617,199 @@ msgstr "Email backend není nakonfigurován" msgid "InvenTree system health checks failed" msgstr "Kontroly zdraví systému InvenTree selhaly" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Nevyřízeno" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Umístěno" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Hotovo" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Zrušeno" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Ztraceno" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Vráceno" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "Zpracovává se" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Odesláno" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Vyžaduje pozornost" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Poškozeno" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Zničeno" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Odmítnuto" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "V karanténě" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Původní položka sledování zásob" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Položka zásob vytvořena" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Položka zásob upravena" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Přiřazeno výrobní číslo" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Stav zásob sečten" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Zásoba přidána ručně" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Zásoba odebrána ručně" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Umístění změněno" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "Stav zásob byl aktualizován" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Nainstalováno do sestavy" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Odstraněno ze sestavy" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Instalovaná položka komponenty" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Odstraněná komponenta" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Rozdělit od nadřazené položky" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Rozdělit podřazený předmět" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Sloučené položky zásob" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Převedeno na variantu" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Odesláno zákazníkovi" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Vráceno od zákazníka" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Výstup objednávky byl vytvořen" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Výstup objednávky sestavení dokončen" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "Výstup objednávky sestavení byl odmítnut" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Spotřebováno podle objednávky" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "Odesláno v souladu se zákaznickou objednávkou" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "Přijato proti objednávce" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "Vráceno proti vratce" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Odesláno zákazníkovi" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Vráceno od zákazníka" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Výroba" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "Vrátit zpět" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "Oprava" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "Vrácení peněz" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "Náhrada" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Vrácení peněz" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "Odmítnout" @@ -855,7 +857,7 @@ msgstr "Informace o systému" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" @@ -887,9 +889,9 @@ msgstr "Neplatná volba nadřazeného sestavení" msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Stav sestavení" msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1031,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Cílové datum dokončení" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Datum dokončení" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Uživatel, který vydal tento příkaz k sestavení" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Odpovědný" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" @@ -1139,11 +1141,11 @@ msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlav msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" @@ -1165,8 +1167,8 @@ msgstr "Sestavení" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Možné zakoupit" @@ -2297,8 +2299,8 @@ msgstr "Možné zakoupit" msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Prodejné" @@ -2306,10 +2308,10 @@ msgstr "Prodejné" msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Sledovatelné" @@ -2317,10 +2319,10 @@ msgstr "Sledovatelné" msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Nehmotné (virtuální)" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Zvolte díl" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Výrobce" @@ -3642,7 +3644,7 @@ msgstr "Název parametru" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Hodnota parametru" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "Smazat obrázek" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Zákazník" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Činnost nebyla specifikována" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 4720a56faa..809327568a 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -52,12 +52,12 @@ msgstr "Angiv dato" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Den indtastede email adresse er ikke gyldig." msgid "The provided email domain is not approved." msgstr "Det angivne e-mail domæne er ikke godkendt." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -237,7 +237,7 @@ msgstr "Manglende fil" msgid "Missing external link" msgstr "Manglende eksternt link" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Vælg fil, der skal vedhæftes" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -279,9 +279,9 @@ msgstr "Fil kommentar" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Ugyldigt valg" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Navn" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL til ekstern billedfil" msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Tjekkisk" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Græsk" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Spansk (Mexikansk)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Hollandsk" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilien)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Kinesisk" @@ -618,196 +617,199 @@ msgstr "E-mail backend ej konfigureret" msgid "InvenTree system health checks failed" msgstr "Helbredstjek af InvenTree system mislykkedes" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Afventende" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Placeret" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Fuldført" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Annulleret" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Mistet" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Returneret" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Afsendt" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Opmærksomhed påkrævet" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Beskadiget" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Destrueret" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Afvist" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "I karantæne" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Forældet lager sporings post" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Lager-element oprettet" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Redigeret lager-element" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Serienummer tildelt" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Lagerbeholdning optalt" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Lagerbeholdning tilføjet manuelt" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Lagerbeholdning fjernet manuelt" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Lokation ændret" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Monteret i samling" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Fjernet fra samling" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Installeret komponent element" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Fjernet komponent element" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Opdel fra overordnet element" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Opdel underordnet element" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Flettede lagervarer" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Konverteret til variant" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Sendt til kunde" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Returneret fra kunde" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Byggeordre output genereret" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Byggeorder output fuldført" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Brugt efter byggeordre" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Sendt til kunde" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Returneret fra kunde" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Produktion" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Systemoplysninger" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" @@ -887,9 +889,9 @@ msgstr "Ugyldigt valg for overordnet produktion" msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Produktions Status" msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Batch Kode" @@ -1029,7 +1031,7 @@ msgstr "Batch Kode" msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Projekteret afslutningsdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Dato for afslutning" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Ansvarlig" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1167,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN skal matche regex mønster {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 4e5482a50f..00b8c159e9 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -27,19 +27,19 @@ msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" #: InvenTree/conversion.py:62 msgid "No value provided" -msgstr "" +msgstr "Kein Wert angegeben" #: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" -msgstr "" +msgstr "Angegebener Wert ist keine gültige Zahl" #: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" -msgstr "" +msgstr "Angegebener Wert hat eine ungültige Einheit" #: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" -msgstr "" +msgstr "Angegebener Wert konnte nicht in die angegebene Einheit umgewandelt werden" #: InvenTree/exceptions.py:90 msgid "Error details can be found in the admin panel" @@ -52,12 +52,12 @@ msgstr "Datum eingeben" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Die angegebene primäre E-Mail-Adresse ist ungültig." msgid "The provided email domain is not approved." msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -237,7 +237,7 @@ msgstr "Fehlende Datei" msgid "Missing external link" msgstr "Fehlender externer Link" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Datei zum Anhängen auswählen" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -279,9 +279,9 @@ msgstr "Datei-Kommentar" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Ungültige Auswahl" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Name" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL der Remote-Bilddatei" msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Tschechisch" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Dänisch" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Spanisch (Mexikanisch)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Persisch" -#: InvenTree/settings.py:721 -msgid "Finnish" -msgstr "" - #: InvenTree/settings.py:722 +msgid "Finnish" +msgstr "Beenden" + +#: InvenTree/settings.py:723 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Ungarisch" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugiesisch" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Slowenisch" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Chinesisch" @@ -618,202 +617,205 @@ msgstr "E-Mail-Backend nicht konfiguriert" msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Ausstehend" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Platziert" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Fertig" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Storniert" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Verloren" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Zurückgegeben" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "In Bearbeitung" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Versendet" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "erfordert Eingriff" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Beschädigt" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Zerstört" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Zurückgewiesen" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "In Quarantäne" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Alter Bestand-Verfolgungs-Eintrag" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Lagerartikel erstellt" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Lagerartikel bearbeitet" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Seriennummer hinzugefügt" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Bestand gezählt" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Bestand manuell hinzugefügt" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Bestand manuell entfernt" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Standort geändert" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "Lagerbestand aktualisiert" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "In Baugruppe installiert" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Aus Baugruppe entfernt" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Komponente installiert" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Komponente entfernt" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Vom übergeordneten Element geteilt" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "In Variante umgewandelt" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Zum Kunden geschickt" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Rücksendung vom Kunden" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Endprodukt erstellt" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Endprodukt fertiggestellt" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "" +msgstr "Endprodukt abgelehnt" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Durch Bauauftrag verbraucht" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" -msgstr "" +msgstr "Versandt gegen Verkaufsauftrag" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" -msgstr "" +msgstr "Gegen Bestellung empfangen" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" -msgstr "" +msgstr "Zurückgeschickt gegen Rücksendeauftrag" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Zum Kunden geschickt" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Rücksendung vom Kunden" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "in Arbeit" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" -msgstr "" +msgstr "Zurück" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "Reparatur" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "Rückerstattung" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "Ersetzen" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Rückerstattung" + +#: InvenTree/status_codes.py:203 msgid "Reject" -msgstr "" +msgstr "Ablehnen" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "" +msgstr "Ungültige physikalische Einheit" #: InvenTree/validators.py:40 msgid "Not a valid currency code" @@ -855,7 +857,7 @@ msgstr "Systeminformationen" msgid "About InvenTree" msgstr "Über InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" @@ -887,9 +889,9 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Losnummer" @@ -1029,7 +1031,7 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "geplantes Fertigstellungsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Verantwortlicher Benutzer" @@ -1120,15 +1122,15 @@ msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" #: build/models.py:820 build/serializers.py:217 msgid "Quantity cannot be greater than the output quantity" -msgstr "" +msgstr "Menge kann nicht größer als die Ausgangsmenge sein" #: build/models.py:1272 msgid "Build item must specify a build output, as master part is marked as trackable" @@ -1139,11 +1141,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete 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:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" @@ -1165,8 +1167,8 @@ msgstr "Bauauftrag" msgid "Build to allocate parts" msgstr "Bauauftrag starten um Teile zuzuweisen" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Quell-Lagerartikel" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Ganzzahl für verfolgbare Teile erforderlich" 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:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Seriennummern automatisch zuweisen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" @@ -1305,8 +1307,8 @@ msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1327,27 +1329,27 @@ msgstr "Lagerort" #: build/serializers.py:416 msgid "Stock location for scrapped outputs" -msgstr "" +msgstr "Lagerort für ausgemusterte Ausgänge" #: build/serializers.py:422 msgid "Discard Allocations" -msgstr "" +msgstr "Zuteilungen verwerfen" #: build/serializers.py:423 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen" #: build/serializers.py:428 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" #: build/serializers.py:489 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zuge msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" @@ -1435,8 +1437,8 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1456,7 +1458,7 @@ msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag" msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" @@ -1473,7 +1475,7 @@ msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben wer msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" @@ -1528,7 +1530,7 @@ msgstr "Bauauftrag {bo} ist jetzt überfällig" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Miniaturansicht" #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 @@ -1637,8 +1639,8 @@ 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:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "Bauauftrag war fällig am %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Überfällig" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Fertig" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1709,11 +1711,11 @@ msgstr "Bauauftrag löschen" #: build/templates/build/build_base.html:283 msgid "Build Order QR Code" -msgstr "" +msgstr "Bauftrags-QR-Code" #: build/templates/build/build_base.html:295 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "Barcode mit Bauauftrag verknüpfen" #: build/templates/build/detail.html:15 msgid "Build Details" @@ -1727,7 +1729,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:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Ziel-Lager" @@ -1966,7 +1968,7 @@ msgstr "Aktualisiert" msgid "Timestamp of last update" msgstr "Zeitstempel der letzten Aktualisierung" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Vorlage" @@ -2269,10 +2271,10 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Baugruppe" @@ -2280,8 +2282,8 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Komponente" @@ -2289,7 +2291,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Kaufbar" @@ -2297,8 +2299,8 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Verkäuflich" @@ -2306,10 +2308,10 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Nachverfolgbar" @@ -2317,10 +2319,10 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Virtuell" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "Endpunkt, an dem dieser Webhook empfangen wird" msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Aktiv" @@ -3392,9 +3395,8 @@ msgstr "Titel" msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" @@ -3410,7 +3412,7 @@ msgstr "Gelesen" msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Kontakt-Email" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Teil auswählen" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Hersteller" @@ -3642,7 +3644,7 @@ msgstr "Parametername" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Zulieferer" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "Zuliefererbeschreibung des Teils" msgid "Note" msgstr "Notiz" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" @@ -3763,7 +3765,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "Vielfache" @@ -3780,7 +3782,7 @@ msgstr "Mehrere bestellen" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Verfügbar" @@ -3854,8 +3856,8 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "Bild löschen" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Kunde" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "Gesamtpreis" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "Keine passende Bestellung gefunden" msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Bestellung" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "Unbekannt" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:254 +#: order/models.py:257 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:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "Empfangen von" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "Versand von" -#: order/models.py:854 +#: order/models.py:857 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:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 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:864 +#: order/models.py:867 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:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "Kontext" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "Bestellung" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "Empfangen" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1222 +#: order/models.py:1225 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:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1589 +#: order/models.py:1592 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:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "Position" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "Position" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "Position" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "Überfällige Bestellung" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Bestellung {po} ist jetzt überfällig" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "Überfälliger Auftrag" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Auftrag {so} ist jetzt überfällig" @@ -5309,12 +5311,12 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Name des Teils" @@ -5323,19 +5325,19 @@ msgstr "Name des Teils" msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "Version" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5356,11 +5358,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5384,7 +5386,7 @@ msgstr "Benutzt in" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "Zugeordnet" @@ -5393,11 +5395,11 @@ msgstr "Zugeordnet" msgid "Building" msgstr "Im Bau" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -5414,7 +5416,7 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "Teil IPN" @@ -5451,35 +5453,35 @@ msgstr "Niedrigster Preis" msgid "Maximum Price" msgstr "Höchster Preis" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "Gültig" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standard-Lagerort" @@ -5497,106 +5499,106 @@ msgstr "Verfügbarer Bestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "Strukturell" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden." -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "Symbol" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "Symbol (optional)" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, 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:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN muss zu Regex-Muster {pat} passen" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Category" msgstr "Kategorie" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1028 +#: part/models.py:1029 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:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "Benutzer, der für diesen Teil verantwortlich ist" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" msgid "Date" msgstr "Datum" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Bericht" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3232 +#: part/models.py:3238 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:3249 +#: part/models.py:3255 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:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "Benötigt" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3288 +#: part/models.py:3294 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:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3294 +#: part/models.py:3300 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:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "Wert" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "Stufe" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "Optional" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "überprüft" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:3811 +#: part/models.py:3817 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:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:3817 +#: part/models.py:3823 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:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -7141,10 +7142,6 @@ msgstr "Teilbild nicht gefunden" msgid "Part Pricing" msgstr "Teilbepreisung" -#: plugin/apps.py:55 -msgid "Your environment 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:27 msgid "No action specified" msgstr "Keine Aktion angegeben" @@ -7237,7 +7234,7 @@ msgstr "Plugin-Konfiguration" msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "Schlüssel" @@ -7253,23 +7250,19 @@ msgstr "Name des Plugins" msgid "Is the plugin active" msgstr "Ist das Plugin aktiv" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "Nicht verfügbar" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "Beispiel-Plugin" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "Integriertes Plugin" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "Methode" @@ -7277,21 +7270,17 @@ msgstr "Methode" msgid "No author found" msgstr "Kein Autor gefunden" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "Kein Datum gefunden" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "Auswahleinstellungen" msgid "A setting with multiple choices" msgstr "Eine Einstellung mit mehreren Optionen" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "Quell-URL" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 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:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "Paket-Name" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 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:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "Plugin-Installation bestätigen" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 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:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "Installation nicht bestätigt" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "Entweder Paketname oder URL muss angegeben werden" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "Ergebnis" @@ -7543,7 +7540,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:141 msgid "No result" -msgstr "" +msgstr "Kein Ergebnis" #: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 @@ -7624,27 +7621,27 @@ msgstr "Löschen wenn leer" msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" -msgstr "" +msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -7803,104 +7800,104 @@ msgstr "Preis für eine Einheit bei Einkauf" msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1389 +#: stock/models.py:1390 #, 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:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:1678 +#: stock/models.py:1679 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:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "Test Notizen" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "Plugins" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Plugin installieren" @@ -8689,49 +8686,28 @@ msgstr "Plugin installieren" msgid "External plugins are not enabled for this InvenTree installation" msgstr "Externe Plugins sind für diese InvenTree-Installation nicht aktiviert" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "Version" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "Aktive Plugins" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "Inaktive Plugins" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "Plugin-Fehlerstapel" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "Stufe" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Meldung" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "Integriert" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "Beispiel" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "Plugin-Informationen" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "Version" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "keine Versionsinformation angegeben" @@ -8764,6 +8740,11 @@ msgstr "Dieses Plugin wurde in einem lokalen Serverpfad gefunden" msgid "Installation path" msgstr "Installationspfad" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "Integriert" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "Dies ist ein integriertes Plugin, das nicht deaktiviert werden kann" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "Bestand niedrig" @@ -11095,10 +11076,58 @@ msgstr "Maximale Anzahl" msgid "Minimum Stock Level" msgstr "Minimaler Lagerbestand" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "Beispiel" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "Das Plugin wurde installiert" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "Fehler beim Abrufen der Währungsdaten" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "Bestellstatus" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "ausstehend" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "Mir zugewiesen" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "Bestand an Varianten zulassen" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "Hat Preis" @@ -12124,12 +12153,12 @@ msgstr "Lagerorte einschließen" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "Unterkategorien einschließen" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "Abonniert" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "Losnummer" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "Aktive Teile" @@ -12284,52 +12313,52 @@ msgstr "Test bestanden" msgid "Include Installed Items" msgstr "Installierte Elemente einschließen" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "Bauauftrags-Status" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "Verfügbarer Lagerbestand" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "Auf Lager" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "Käuflich" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "Hat Inventureinträge" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index f7ac6d4db6..8f0e0179f1 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -52,12 +52,12 @@ msgstr "Εισάγετε ημερομηνία" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Η παρεχόμενη κύρια διεύθυνση ηλεκτρονι msgid "The provided email domain is not approved." msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυδρομείου δεν έχει εγκριθεί." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -237,7 +237,7 @@ msgstr "Το αρχείο λείπει" msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -279,9 +279,9 @@ msgstr "Σχόλιο αρχείου" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Όνομα" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Τσέχικα" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Γερμανικά" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Ελληνικά" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Αγγλικά" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Ισπανικά" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Ισπανικά (Μεξικό)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Φαρσί / Περσικά" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Γαλλικά" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Εβραϊκά" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Ούγγρικα" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Ιταλικά" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Ιαπωνικά" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Κορεάτικα" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Dutch" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Νορβηγικά" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Πολωνικά" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Πορτογαλικά" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Πορτογαλικά (Βραζιλίας)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Ρωσικά" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Σουηδικά" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Ταϊλανδέζικα" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Τούρκικα" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Βιετναμέζικα" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Κινέζικα" @@ -618,196 +617,199 @@ msgstr "Δεν έχει ρυθμιστεί διεύθυνση ηλεκτρονι msgid "InvenTree system health checks failed" msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Σε εκκρεμότητα" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Τοποθετήθηκε" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Ολοκληρώθηκε" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Ακυρώθηκε" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Χάθηκε" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Επιστράφηκε" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Αποστάλθηκε" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "ΟΚ" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Απαιτείται προσοχή" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Κατεστραμμένο" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Καταστράφηκε" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Απορρίφθηκε" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "Σε Καραντίνα" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Καταχώρηση παλαιού αποθέματος" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Το αντικείμενο αποθεμάτων δημιουργήθηκε" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Έγινε συγχώνευση αποθεμάτων" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Εκχωρημένος σειριακός κωδικός" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Απόθεμα που μετρήθηκε" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Προστέθηκε απόθεμα χειροκίνητα" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Αφαιρέθηκε απόθεμα χειροκίνητα" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Η τοποθεσία τροποποιήθηκε" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Εγκαταστάθηκε στη συναρμολόγηση" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Αφαιρέθηκε από τη συναρμολόγηση" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Εγκαταστάθηκε αντικείμενο" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Αφαιρέθηκε αντικείμενο" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχείο" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Μετατράπηκε σε παραλλαγή" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Απεστάλη στον πελάτη" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Επιστράφηκε από πελάτη" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Δημιουργήθηκε η έξοδος παραγγελίας" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Η έξοδος της σειράς κατασκευής ολοκληρώθηκε" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Κατανάλωση με εντολή κατασκευής" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Απεστάλη στον πελάτη" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Επιστράφηκε από πελάτη" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Παραγωγή" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Πληροφορίες συστήματος" msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" @@ -887,9 +889,9 @@ msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Κατάσταση Κατασκευής" msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" @@ -1029,7 +1031,7 @@ msgstr "Κωδικός Παρτίδας" msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Υπεύθυνος" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1139,11 +1141,11 @@ msgstr "Το στοιχείο κατασκευής πρέπει να ορίζε msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1165,8 +1167,8 @@ msgstr "Κατασκευή" msgid "Build to allocate parts" msgstr "Κατασκευή για εκχώρηση τμημάτων" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Ακέραιη ποσότητα που απαιτείται για αν msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Το IPN πρέπει να ταιριάζει με το μοτίβο regex {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index f86f89811d..fcd5f93774 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: 2023-06-01 21:56+0000\n" +"POT-Creation-Date: 2023-06-05 11:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -56,7 +56,7 @@ msgstr "" #: order/models.py:1086 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3004 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 @@ -280,9 +280,9 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3012 +#: part/models.py:3100 part/models.py:3179 part/models.py:3199 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -327,11 +327,10 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 #: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: part/models.py:3399 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -349,7 +348,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 #: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: part/models.py:868 part/models.py:3415 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -421,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3873 +#: InvenTree/serializers.py:60 part/models.py:3896 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2851 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -621,7 +620,7 @@ msgstr "" #: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 #: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" @@ -890,7 +889,7 @@ msgstr "" #: build/models.py:156 order/models.py:356 order/models.py:762 #: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3774 part/templates/part/upload_bom.html:54 +#: part/models.py:3797 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -920,10 +919,10 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 #: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3531 -#: part/models.py:3639 part/models.py:3739 part/models.py:4053 +#: part/models.py:390 part/models.py:2864 part/models.py:2978 +#: part/models.py:3118 part/models.py:3137 part/models.py:3156 +#: part/models.py:3177 part/models.py:3269 part/models.py:3554 +#: part/models.py:3662 part/models.py:3762 part/models.py:4076 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1072,7 +1071,7 @@ msgstr "" #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1193,7 +1192,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2176 #: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3755 +#: part/forms.py:47 part/models.py:2991 part/models.py:3778 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1298,7 +1297,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:668 +#: build/serializers.py:326 stock/api.py:669 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1436,8 +1435,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3662 -#: part/models.py:4045 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3685 +#: part/models.py:4068 msgid "BOM Item" msgstr "" @@ -1664,16 +1663,16 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" @@ -2260,9 +2259,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3536 +#: common/models.py:1162 part/admin.py:55 part/models.py:3559 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2273,7 +2272,7 @@ msgstr "" #: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2282,7 +2281,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2299,7 +2298,7 @@ msgid "Parts are purchaseable by default" msgstr "" #: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2310,7 +2309,7 @@ msgstr "" #: common/models.py:1197 part/admin.py:56 part/models.py:1007 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2321,7 +2320,7 @@ msgstr "" #: common/models.py:1204 part/admin.py:57 part/models.py:1027 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3312,8 +3311,9 @@ msgstr "" #: common/models.py:2360 part/admin.py:50 part/models.py:1022 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3393,9 +3393,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3599,7 +3598,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3654,7 +3653,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:986 part/models.py:3406 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3687,7 +3686,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3721,7 +3720,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3777 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3730,11 +3729,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1918 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1918 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3764,7 +3763,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1920 msgid "multiple" msgstr "" @@ -3781,7 +3780,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3865,7 +3864,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4570,7 +4569,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" @@ -5310,12 +5309,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3643 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3666 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3647 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3670 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5385,7 +5384,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5394,11 +5393,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2929 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2935 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5438,7 +5437,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3651 +#: part/admin.py:274 part/models.py:3674 msgid "Part IPN" msgstr "" @@ -5498,7 +5497,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3592 part/templates/part/category.html:16 +#: part/models.py:74 part/models.py:3615 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5573,7 +5572,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3648 +#: part/models.py:845 part/models.py:3671 msgid "Part name" msgstr "" @@ -5597,7 +5596,7 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3591 +#: part/models.py:882 part/models.py:3197 part/models.py:3614 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5703,154 +5702,153 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1920 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2852 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2869 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2870 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2875 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2876 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2881 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2882 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2887 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2888 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2893 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2894 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2899 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2900 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2905 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2906 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2911 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2912 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2917 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2918 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2923 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2924 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2930 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2936 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2941 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2942 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2947 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2948 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2953 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2954 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2959 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2960 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2979 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2984 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2985 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2992 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2996 part/models.py:3079 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5860,330 +5858,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2997 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3005 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3013 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3018 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3019 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3024 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3025 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3087 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3092 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3093 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3101 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3237 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3254 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3274 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3275 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3280 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3281 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3286 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3287 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3292 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3293 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3298 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3299 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3345 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3350 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3368 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3384 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3400 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3406 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3416 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3422 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3423 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3428 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3429 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3510 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3531 +#: part/models.py:3554 msgid "Parent Part" msgstr "" -#: part/models.py:3536 part/models.py:3597 part/models.py:3598 +#: part/models.py:3559 part/models.py:3620 part/models.py:3621 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3541 +#: part/models.py:3564 msgid "Data" msgstr "" -#: part/models.py:3541 +#: part/models.py:3564 msgid "Parameter Value" msgstr "" -#: part/models.py:3602 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3625 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3603 +#: part/models.py:3626 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3640 +#: part/models.py:3663 msgid "Part ID or part name" msgstr "" -#: part/models.py:3644 +#: part/models.py:3667 msgid "Unique part ID value" msgstr "" -#: part/models.py:3652 +#: part/models.py:3675 msgid "Part IPN value" msgstr "" -#: part/models.py:3655 +#: part/models.py:3678 msgid "Level" msgstr "" -#: part/models.py:3656 +#: part/models.py:3679 msgid "BOM level" msgstr "" -#: part/models.py:3740 +#: part/models.py:3763 msgid "Select parent part" msgstr "" -#: part/models.py:3748 +#: part/models.py:3771 msgid "Sub part" msgstr "" -#: part/models.py:3749 +#: part/models.py:3772 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3755 +#: part/models.py:3778 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3759 part/templates/part/upload_bom.html:58 +#: part/models.py:3782 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3760 +#: part/models.py:3783 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3765 templates/js/translated/bom.js:967 +#: part/models.py:3788 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3766 +#: part/models.py:3789 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3770 part/templates/part/upload_bom.html:55 +#: part/models.py:3793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3771 +#: part/models.py:3794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3774 +#: part/models.py:3797 msgid "BOM item reference" msgstr "" -#: part/models.py:3777 +#: part/models.py:3800 msgid "BOM item notes" msgstr "" -#: part/models.py:3781 +#: part/models.py:3804 msgid "Checksum" msgstr "" -#: part/models.py:3781 +#: part/models.py:3804 msgid "BOM line checksum" msgstr "" -#: part/models.py:3786 templates/js/translated/table_filters.js:144 +#: part/models.py:3809 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3787 +#: part/models.py:3810 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3792 part/templates/part/upload_bom.html:57 +#: part/models.py:3815 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3793 +#: part/models.py:3816 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3798 part/templates/part/upload_bom.html:56 +#: part/models.py:3821 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3799 +#: part/models.py:3822 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3885 stock/models.py:577 +#: part/models.py:3908 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3894 part/models.py:3896 +#: part/models.py:3917 part/models.py:3919 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4012 +#: part/models.py:4035 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4033 +#: part/models.py:4056 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4046 +#: part/models.py:4069 msgid "Parent BOM item" msgstr "" -#: part/models.py:4054 +#: part/models.py:4077 msgid "Substitute part" msgstr "" -#: part/models.py:4069 +#: part/models.py:4092 msgid "Part 1" msgstr "" -#: part/models.py:4073 +#: part/models.py:4096 msgid "Part 2" msgstr "" -#: part/models.py:4073 +#: part/models.py:4096 msgid "Select Related Part" msgstr "" -#: part/models.py:4091 +#: part/models.py:4114 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4095 +#: part/models.py:4118 msgid "Duplicate relationship already exists" msgstr "" @@ -7142,10 +7140,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7197,7 +7191,7 @@ msgid "InvenTree Notifications" msgstr "" #: plugin/builtin/integration/core_notifications.py:35 -msgid "Integrated outgoing notificaton methods" +msgid "Integrated outgoing notification methods" msgstr "" #: plugin/builtin/integration/core_notifications.py:40 @@ -7238,7 +7232,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7254,23 +7248,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 templates/InvenTree/settings/plugin_details.html:47 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7278,21 +7268,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7329,38 +7315,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7629,23 +7623,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:580 +#: stock/api.py:581 msgid "Quantity is required" msgstr "" -#: stock/api.py:587 +#: stock/api.py:588 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:613 +#: stock/api.py:614 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:622 +#: stock/api.py:623 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:640 +#: stock/api.py:641 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8682,7 +8676,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8690,45 +8684,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8761,6 +8738,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -9153,7 +9135,7 @@ msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user_display.html:97 -msgid "Show only sufficent" +msgid "Show only sufficient" msgstr "" #: templates/InvenTree/settings/user_display.html:99 @@ -10877,7 +10859,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11092,10 +11074,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12069,23 +12099,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12106,7 +12136,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12121,12 +12151,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12168,7 +12198,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12281,52 +12311,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index c2d10cddf6..4d9fdf2506 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-04 23:49\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -52,12 +52,12 @@ msgstr "Ingrese la fecha" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "La dirección de correo electrónico principal proporcionada no es váli msgid "The provided email domain is not approved." msgstr "El dominio de correo electrónico proporcionado no está aprobado." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -237,7 +237,7 @@ msgstr "Archivo no encontrado" msgid "Missing external link" msgstr "Falta enlace externo" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Seleccionar archivo para adjuntar" msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -279,9 +279,9 @@ msgstr "Comentario del archivo" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Selección no válida" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Nombre" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Error de servidor" msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" -msgstr "Debe ser un numero valido" +msgstr "Debe ser un número válido" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL de imagen remota" msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Checo" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Danés" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Alemán" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Griego" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Inglés" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Español" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Español (México)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Persa" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "Finlandés" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Francés" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebreo" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japonés" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Holandés" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Noruego" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polaco" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugués" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugués (Brasileño)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Ruso" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Esloveno" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Sueco" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Tailandés" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Chino" @@ -618,196 +617,199 @@ msgstr "No se ha configurado el backend de correo" msgid "InvenTree system health checks failed" msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Pendiente" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Colocado" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Terminado" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Cancelado" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Perdida" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Devuelto" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "En progreso" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Enviado" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Atención necesaria" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Dañado" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Destruido" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Rechazado" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "En cuarentena" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Entrada antigua de rastreo de stock" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Artículo de stock creado" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" -msgstr "Elemento de stock editado" +msgstr "Artículo de almacén editado" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Número de serie asignado" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Stock contado" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Stock añadido manualmente" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Stock eliminado manualmente" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Ubicación cambiada" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "Existencia actualizada" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Instalado en el ensamblaje" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Retirado del ensamblaje" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Artículo del componente instalado" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Elemento de componente eliminado" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Separar del artículo principal" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Dividir artículo secundario" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Artículos de stock combinados" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Convertir a variante" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Enviar al cliente" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Devolución del cliente" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Trabajo de ensamblaje creado" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Construir orden de salida completado" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Consumido por orden de construcción" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "Enviado contra orden de venta" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "Recibido contra la orden de compra" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "Devuelto contra orden de devolución" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Enviar al cliente" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Devolución del cliente" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Producción" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "Devolución" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "Reparación" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "Reembolso" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "Reemplazo" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Reembolso" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "Rechazo" @@ -855,7 +857,7 @@ msgstr "Información del sistema" msgid "About InvenTree" msgstr "Acerca de InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" @@ -887,9 +889,9 @@ msgstr "Opción no válida para la construcción padre" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Estado de la construcción" msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Numero de lote" @@ -1029,7 +1031,7 @@ msgstr "Numero de lote" msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Fecha límite de finalización" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Fecha de finalización" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Responsable" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" @@ -1139,11 +1141,11 @@ msgstr "Item de construcción o armado debe especificar un resultado o salida, y msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" @@ -1165,8 +1167,8 @@ msgstr "Construcción o Armado" msgid "Build to allocate parts" msgstr "Armar para asignar partes" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Producto original de stock" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Cantidad entera requerida para partes rastreables" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" @@ -1305,8 +1307,8 @@ msgstr "Los siguientes números seriales ya existen o son inválidos" msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "Aceptar que los artículos de stock no se han asignado completamente a e msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Aceptar incompleto" @@ -1435,8 +1437,8 @@ msgstr "La cantidad de construcción requerida aún no se ha completado" msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Item de Lista de Materiales" @@ -1456,7 +1458,7 @@ msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcció msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" @@ -1473,7 +1475,7 @@ msgstr "La salida de construcción no se puede especificar para la asignación d msgid "This stock item has already been allocated to this build output" msgstr "Este artículo de stock ya ha sido asignado a esta salida de construcción" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "Esta construcción vence el %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Vencido" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Completados" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "Fuente de stock" msgid "Stock can be taken from any available location." msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Destinación" @@ -1966,7 +1968,7 @@ msgstr "Actualizado" msgid "Timestamp of last update" msgstr "Fecha y hora de la última actualización" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "Copiar plantillas de parámetros de categoría" msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Plantilla" @@ -2269,10 +2271,10 @@ msgstr "Plantilla" msgid "Parts are templates by default" msgstr "Las partes son plantillas por defecto" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Montaje" @@ -2280,8 +2282,8 @@ msgstr "Montaje" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Componente" @@ -2289,7 +2291,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Comprable" @@ -2297,8 +2299,8 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Vendible" @@ -2306,10 +2308,10 @@ msgstr "Vendible" msgid "Parts are salable by default" msgstr "Las partes se pueden vender por defecto" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Rastreable" @@ -2317,10 +2319,10 @@ msgstr "Rastreable" msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Virtual" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "Cantidad de salto de precio" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "Punto final en el que se recibe este webhook" msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Activo" @@ -3392,9 +3395,8 @@ msgstr "Titulo" msgid "Published" msgstr "Publicado" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" @@ -3410,7 +3412,7 @@ msgstr "Leer" msgid "Was this news item read?" msgstr "¿Esta noticia fue leída?" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Correo electrónico de contacto" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Seleccionar parte" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Fabricante" @@ -3619,7 +3621,7 @@ msgstr "MPN" #: company/models.py:301 msgid "Manufacturer Part Number" -msgstr "Número de Parte del Fabricante" +msgstr "Número de parte de fabricante" #: company/models.py:307 msgid "URL for external manufacturer part link" @@ -3642,7 +3644,7 @@ msgstr "Nombre del parámetro" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Valor del parámetro" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Proveedor" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "Descripción de la parte del proveedor" msgid "Note" msgstr "Nota" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "costo base" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" @@ -3763,7 +3765,7 @@ msgstr "Cantidad de paquete" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "múltiple" @@ -3780,7 +3782,7 @@ msgstr "Pedido múltiple" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Disponible" @@ -3854,8 +3856,8 @@ msgstr "Descargar desde URL" msgid "Delete image" msgstr "Borrar imagen" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "Borrar imagen" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Cliente" @@ -4346,7 +4348,7 @@ msgstr "Código QC" msgid "QR code" msgstr "Código QR" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "Código QR" msgid "Total Price" msgstr "Precio Total" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "No se encontró ninguna orden de compra coincidente" msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Orden de compra" msgid "Return Order" msgstr "Orden de devolución" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "Desconocido" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "Precio total para este pedido" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "Moneda de pedido" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "El contacto no coincide con la empresa seleccionada" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "Descripción del pedido (opcional)" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Enlace a Url externa" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha." -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "Creado por" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "Usuario o grupo responsable de este pedido" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "Punto de contacto para este pedido" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "Estado de la orden de compra" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "Compañía de la que se están encargando los artículos" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "Referencia del proveedor" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "Código de referencia de pedido del proveedor" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "recibido por" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "Fecha de emisión" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "Fecha de expedición del pedido" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "enviado por" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "El pedido no se puede completar porque no se han asignado partes" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "El pedido no se puede completar porque hay envíos incompletos" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "El pedido no se puede completar porque hay artículos de línea incompletos" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "Referencia de línea en la orden" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "Notas del artículo de línea" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Fecha objetivo para este artículo de línea (dejar en blanco para usar la fecha de destino de la orden)" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "Descripción del artículo de línea (opcional)" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "Contexto" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "eliminado" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "Orden" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "Recibido" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "¿Dónde quiere el comprador almacenar este objeto?" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una parte virtual no puede ser asignada a un pedido de venta" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "Envío" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "No se puede asignar stock a una línea sin una parte" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "Línea" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "Ítem" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "Compañía de la que se están devolviendo los artículos" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "Sólo los artículos serializados pueden ser asignados a una orden de devolución" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "La fecha en la que se recibió este artículo de devolución" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "Resultado" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "Salida para este artículo de línea" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "Costo asociado con la devolución o reparación para este artículo de línea" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con artículos de línea incompletos" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "El pedido tiene artículos de línea incompletos" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "El pedido no está abierto" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "Debe especificar la parte del proveedor" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "La orden de compra debe especificarse" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "El proveedor debe coincidir con la orden de compra" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "Artículo en línea" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "La línea del artículo no coincide con la orden de compra" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "Introduzca el código de lote para los artículos de almacén entrantes" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "Introduzca números de serie para artículos de almacén entrantes" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "Código de barras escaneado" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "Código de barras en uso" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "Se deben proporcionar artículos de línea" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "Se requiere ubicación de destino" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "Artículo en línea no está asociado con este pedido" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "Los siguientes números de serie ya están asignados" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "Artículo de línea de orden de devolución" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "El artículo de línea no coincide con la orden de devolución" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "El artículo de línea ya ha sido recibido" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "Moneda de precio de línea" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "Orden de compra atrasada" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "La orden de compra {po} está atrasada" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "Orden de venta atrasada" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "La orden de venta {so} está atrasada" @@ -5309,12 +5311,12 @@ msgstr "Actualizado el precio unitario de {part} a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de Parte" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nombre de parte" @@ -5323,19 +5325,19 @@ msgstr "Nombre de parte" msgid "Part Description" msgstr "Descripción de parte" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "Revisión" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Palabras claves" @@ -5356,11 +5358,11 @@ msgstr "ID de ubicación predeterminada" msgid "Default Supplier ID" msgstr "ID de proveedor predeterminado" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -5384,7 +5386,7 @@ msgstr "Usado en" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "Asignadas" @@ -5393,11 +5395,11 @@ msgstr "Asignadas" msgid "Building" msgstr "En construcción" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "Costo máximo" @@ -5414,7 +5416,7 @@ msgstr "Nombre del padre" msgid "Category Path" msgstr "Ruta de Categoría" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "ID de artículo de BOM" msgid "Parent IPN" msgstr "IPN del padre" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "IPN de la parte" @@ -5451,35 +5453,35 @@ msgstr "Precio mínimo" msgid "Maximum Price" msgstr "Precio máximo" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "Orden de compra entrante" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "Orden de venta saliente" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "Válido" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "Esta opción debe ser seleccionada" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Ubicación Predeterminada" @@ -5497,106 +5499,106 @@ msgstr "Stock Disponible" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Categorías de parte" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para partes de esta categoría" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "Estructural" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Las partes no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas." -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "Palabras clave predeterminadas" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "Palabras clave por defecto para partes en esta categoría" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "Icono" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "Icono (opcional)" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "Opción no válida para la parte principal" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "La parte '{p1}' se utiliza en BOM para '{p2}' (recursivo)" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "El IPN debe coincidir con la expresión regular {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Ya existe un artículo de almacén con este número de serie" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued msgid "Category" msgstr "Categoría" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "Número de parte interna" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Proveedor por defecto" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "Parte de proveedor predeterminada" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "Usuario responsable de esta parte" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "Fecha" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Informe" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "Ya existe una prueba con este nombre para esta parte" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "Requerido" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "Datos" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "ID de parte o nombre de parte" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "Nivel" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "Nivel de BOM" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "Opcional" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "Consumible" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "Validado" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "Permitir variantes" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -6866,7 +6867,7 @@ msgstr "Rango de precios" #: part/templates/part/part_base.html:354 msgid "Latest Serial Number" -msgstr "Último Número Serial" +msgstr "Último número de serie" #: part/templates/part/part_base.html:358 #: stock/templates/stock/item_base.html:323 @@ -7141,10 +7142,6 @@ msgstr "Imagen de parte no encontrada" msgid "Part Pricing" msgstr "Precio de parte" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "Su entorno tiene una versión desactualizada de git. Esto evita que InvenTree cargue los detalles del complemento." - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "No se especificó ninguna acción" @@ -7237,7 +7234,7 @@ msgstr "Configuración del complemento" msgid "Plugin Configurations" msgstr "Configuraciones del Plug-in" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "Clave" @@ -7253,23 +7250,19 @@ msgstr "Nombre del complemento" msgid "Is the plugin active" msgstr "Está activo el complemento" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "No disponible" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "Complemento de ejemplo" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "Complemento integrado" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Complemento" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "Método" @@ -7277,21 +7270,17 @@ msgstr "Método" msgid "No author found" msgstr "No se encontró autor" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "No se encontró fecha" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "Configuración de Elección" msgid "A setting with multiple choices" msgstr "Un ajuste con múltiples opciones" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "URL de origen" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Fuente del paquete - puede ser un registro personalizado o una ruta VCS" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "Nombre de Paquete" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Nombre del paquete Plug-in - también puede contener un indicador de versión" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "Confirmar instalación del complemento" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Esto instalará este plug-in en la instancia actual. La instancia entrará en mantenimiento." -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "Instalación no confirmada" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "Debe proporcionar cualquier nombre de paquete de la URL" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "No se han proporcionado objetos válidos a la plantilla" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "Resultados de la Prueba" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "Prueba" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "Resultado" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "Fecha de Expiración" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "Precio de compra único en el momento de la compra" msgid "Converted to part" msgstr "Convertido a parte" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "La parte no está establecida como rastreable" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "Cantidad debe ser un entero" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "La cantidad no debe exceder la cantidad disponible de existencias ({n})" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "Los números de serie deben ser una lista de enteros" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "La cantidad no coincide con los números de serie" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "Números de serie ya existen" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "Artículo de stock ha sido asignado a un pedido de venta" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "Artículo de stock está instalado en otro artículo" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "Artículo de stock contiene otros artículos" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "Artículo de stock ha sido asignado a un cliente" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "El artículo de stock está en producción" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "Los artículos de stock deben referirse a la misma parte" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "Los artículos de stock deben referirse a la misma parte del proveedor" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "Los códigos de estado del stock deben coincidir" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stock no se puede mover porque no está en stock" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "Notas de entrada" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "Debe proporcionarse un valor para esta prueba" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "El archivo adjunto debe ser subido para esta prueba" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "Nombre del test" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "Resultado de la prueba" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "Valor de salida de prueba" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "Adjunto de resultados de prueba" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "Notas de prueba" @@ -8156,7 +8153,7 @@ msgstr "Duplicar artículo" #: stock/templates/stock/item_base.html:121 msgid "Edit stock item" -msgstr "Elemento de stock editado" +msgstr "Editar artículo de almacén" #: stock/templates/stock/item_base.html:124 msgid "Delete stock item" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "Complementos" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Instalar complemento" @@ -8689,49 +8686,28 @@ msgstr "Instalar complemento" msgid "External plugins are not enabled for this InvenTree installation" msgstr "Los complementos externos no están habilitados para esta instalación de InvenTree" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "Versión" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "Complementos activos" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "Complementos inactivos" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "Pila de error de complementos" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "Etapa" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Mensaje" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "Integrado" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "Muestra" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "Información de Plugin" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "Versión" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "no se proporcionó información de versión" @@ -8764,6 +8740,11 @@ msgstr "Este complemento fue encontrado en una ruta del servidor local" msgid "Installation path" msgstr "Ruta de instalación" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "Integrado" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "Este es un complemento incorporado que no puede ser desactivado" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "Copiar Factura de Materiales" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "Stock bajo" @@ -11095,10 +11076,58 @@ msgstr "Cantidad máxima" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "Muestra" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "El Plugin fue Instalado" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "Tiene código de proyecto" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "Estado del pedido" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "Pendiente" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "Asignado a mí" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "Permitir stock de variante" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "Tiene precio" @@ -12124,12 +12153,12 @@ msgstr "Incluir ubicaciones" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "Incluir subcategorías" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "Suscrito" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "Código de lote" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "Partes activas" @@ -12284,52 +12313,52 @@ msgstr "Prueba aprobada" msgid "Include Installed Items" msgstr "Incluye artículos instalados" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "Estado de la construcción" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "Incluye partes en subcategorías" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "Mostrar partes activas" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "Existencias disponibles" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "Tiene unidades" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "Tiene IPN" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" -msgstr "La parte tiene número de parte interno" +msgstr "La parte tiene un número de parte interno" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "En existencia" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "Comprable" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "Tiene entradas de inventario" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "Tiene opciones" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index f86f89811d..fcd5f93774 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: 2023-06-01 21:56+0000\n" +"POT-Creation-Date: 2023-06-05 11:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -56,7 +56,7 @@ msgstr "" #: order/models.py:1086 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3004 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 @@ -280,9 +280,9 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3012 +#: part/models.py:3100 part/models.py:3179 part/models.py:3199 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -327,11 +327,10 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 #: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: part/models.py:3399 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -349,7 +348,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 #: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: part/models.py:868 part/models.py:3415 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -421,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3873 +#: InvenTree/serializers.py:60 part/models.py:3896 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2851 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -621,7 +620,7 @@ msgstr "" #: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 #: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" @@ -890,7 +889,7 @@ msgstr "" #: build/models.py:156 order/models.py:356 order/models.py:762 #: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3774 part/templates/part/upload_bom.html:54 +#: part/models.py:3797 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -920,10 +919,10 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 #: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3531 -#: part/models.py:3639 part/models.py:3739 part/models.py:4053 +#: part/models.py:390 part/models.py:2864 part/models.py:2978 +#: part/models.py:3118 part/models.py:3137 part/models.py:3156 +#: part/models.py:3177 part/models.py:3269 part/models.py:3554 +#: part/models.py:3662 part/models.py:3762 part/models.py:4076 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1072,7 +1071,7 @@ msgstr "" #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1193,7 +1192,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2176 #: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3755 +#: part/forms.py:47 part/models.py:2991 part/models.py:3778 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1298,7 +1297,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:668 +#: build/serializers.py:326 stock/api.py:669 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1436,8 +1435,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3662 -#: part/models.py:4045 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3685 +#: part/models.py:4068 msgid "BOM Item" msgstr "" @@ -1664,16 +1663,16 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" @@ -2260,9 +2259,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3536 +#: common/models.py:1162 part/admin.py:55 part/models.py:3559 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2273,7 +2272,7 @@ msgstr "" #: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2282,7 +2281,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2299,7 +2298,7 @@ msgid "Parts are purchaseable by default" msgstr "" #: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2310,7 +2309,7 @@ msgstr "" #: common/models.py:1197 part/admin.py:56 part/models.py:1007 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2321,7 +2320,7 @@ msgstr "" #: common/models.py:1204 part/admin.py:57 part/models.py:1027 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3312,8 +3311,9 @@ msgstr "" #: common/models.py:2360 part/admin.py:50 part/models.py:1022 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3393,9 +3393,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3599,7 +3598,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3654,7 +3653,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:986 part/models.py:3406 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3687,7 +3686,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3721,7 +3720,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3777 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3730,11 +3729,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1918 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1918 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3764,7 +3763,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1920 msgid "multiple" msgstr "" @@ -3781,7 +3780,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3865,7 +3864,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4570,7 +4569,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" @@ -5310,12 +5309,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3643 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3666 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3647 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3670 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5385,7 +5384,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5394,11 +5393,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2929 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2935 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5438,7 +5437,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3651 +#: part/admin.py:274 part/models.py:3674 msgid "Part IPN" msgstr "" @@ -5498,7 +5497,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3592 part/templates/part/category.html:16 +#: part/models.py:74 part/models.py:3615 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5573,7 +5572,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3648 +#: part/models.py:845 part/models.py:3671 msgid "Part name" msgstr "" @@ -5597,7 +5596,7 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3591 +#: part/models.py:882 part/models.py:3197 part/models.py:3614 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5703,154 +5702,153 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1920 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2852 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2869 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2870 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2875 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2876 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2881 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2882 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2887 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2888 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2893 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2894 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2899 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2900 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2905 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2906 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2911 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2912 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2917 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2918 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2923 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2924 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2930 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2936 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2941 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2942 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2947 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2948 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2953 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2954 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2959 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2960 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2979 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2984 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2985 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2992 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2996 part/models.py:3079 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5860,330 +5858,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2997 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3005 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3013 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3018 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3019 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3024 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3025 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3087 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3092 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3093 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3101 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3237 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3254 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3274 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3275 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3280 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3281 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3286 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3287 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3292 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3293 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3298 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3299 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3345 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3350 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3368 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3384 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3400 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3406 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3416 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3422 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3423 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3428 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3429 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3510 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3531 +#: part/models.py:3554 msgid "Parent Part" msgstr "" -#: part/models.py:3536 part/models.py:3597 part/models.py:3598 +#: part/models.py:3559 part/models.py:3620 part/models.py:3621 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3541 +#: part/models.py:3564 msgid "Data" msgstr "" -#: part/models.py:3541 +#: part/models.py:3564 msgid "Parameter Value" msgstr "" -#: part/models.py:3602 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3625 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3603 +#: part/models.py:3626 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3640 +#: part/models.py:3663 msgid "Part ID or part name" msgstr "" -#: part/models.py:3644 +#: part/models.py:3667 msgid "Unique part ID value" msgstr "" -#: part/models.py:3652 +#: part/models.py:3675 msgid "Part IPN value" msgstr "" -#: part/models.py:3655 +#: part/models.py:3678 msgid "Level" msgstr "" -#: part/models.py:3656 +#: part/models.py:3679 msgid "BOM level" msgstr "" -#: part/models.py:3740 +#: part/models.py:3763 msgid "Select parent part" msgstr "" -#: part/models.py:3748 +#: part/models.py:3771 msgid "Sub part" msgstr "" -#: part/models.py:3749 +#: part/models.py:3772 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3755 +#: part/models.py:3778 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3759 part/templates/part/upload_bom.html:58 +#: part/models.py:3782 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3760 +#: part/models.py:3783 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3765 templates/js/translated/bom.js:967 +#: part/models.py:3788 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3766 +#: part/models.py:3789 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3770 part/templates/part/upload_bom.html:55 +#: part/models.py:3793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3771 +#: part/models.py:3794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3774 +#: part/models.py:3797 msgid "BOM item reference" msgstr "" -#: part/models.py:3777 +#: part/models.py:3800 msgid "BOM item notes" msgstr "" -#: part/models.py:3781 +#: part/models.py:3804 msgid "Checksum" msgstr "" -#: part/models.py:3781 +#: part/models.py:3804 msgid "BOM line checksum" msgstr "" -#: part/models.py:3786 templates/js/translated/table_filters.js:144 +#: part/models.py:3809 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3787 +#: part/models.py:3810 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3792 part/templates/part/upload_bom.html:57 +#: part/models.py:3815 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3793 +#: part/models.py:3816 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3798 part/templates/part/upload_bom.html:56 +#: part/models.py:3821 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3799 +#: part/models.py:3822 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3885 stock/models.py:577 +#: part/models.py:3908 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3894 part/models.py:3896 +#: part/models.py:3917 part/models.py:3919 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4012 +#: part/models.py:4035 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4033 +#: part/models.py:4056 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4046 +#: part/models.py:4069 msgid "Parent BOM item" msgstr "" -#: part/models.py:4054 +#: part/models.py:4077 msgid "Substitute part" msgstr "" -#: part/models.py:4069 +#: part/models.py:4092 msgid "Part 1" msgstr "" -#: part/models.py:4073 +#: part/models.py:4096 msgid "Part 2" msgstr "" -#: part/models.py:4073 +#: part/models.py:4096 msgid "Select Related Part" msgstr "" -#: part/models.py:4091 +#: part/models.py:4114 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4095 +#: part/models.py:4118 msgid "Duplicate relationship already exists" msgstr "" @@ -7142,10 +7140,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7197,7 +7191,7 @@ msgid "InvenTree Notifications" msgstr "" #: plugin/builtin/integration/core_notifications.py:35 -msgid "Integrated outgoing notificaton methods" +msgid "Integrated outgoing notification methods" msgstr "" #: plugin/builtin/integration/core_notifications.py:40 @@ -7238,7 +7232,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7254,23 +7248,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 templates/InvenTree/settings/plugin_details.html:47 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7278,21 +7268,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7329,38 +7315,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7629,23 +7623,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:580 +#: stock/api.py:581 msgid "Quantity is required" msgstr "" -#: stock/api.py:587 +#: stock/api.py:588 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:613 +#: stock/api.py:614 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:622 +#: stock/api.py:623 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:640 +#: stock/api.py:641 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8682,7 +8676,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8690,45 +8684,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8761,6 +8738,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -9153,7 +9135,7 @@ msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user_display.html:97 -msgid "Show only sufficent" +msgid "Show only sufficient" msgstr "" #: templates/InvenTree/settings/user_display.html:99 @@ -10877,7 +10859,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11092,10 +11074,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12069,23 +12099,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12106,7 +12136,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12121,12 +12151,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12168,7 +12198,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12281,52 +12311,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index e7e26d47ec..cd76634ccc 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:53\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -52,12 +52,12 @@ msgstr "تاریخ را وارد کنید" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "آدرس ایمیل اصلی ارائه شده معتبر نیست." msgid "The provided email domain is not approved." msgstr "دامنه ایمیل ارائه شده تایید نشده است." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "" @@ -237,7 +237,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -279,9 +279,9 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "آدرس فایل تصویری از راه دور" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "" @@ -618,196 +617,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +889,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1031,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1167,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index a51d8d504e..1718b7e25e 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:53\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -19,11 +19,11 @@ msgstr "" #: InvenTree/api.py:65 msgid "API endpoint not found" -msgstr "API-rajapinta ei löydy" +msgstr "API-rajapintaa ei löydy" #: InvenTree/api.py:299 msgid "User does not have permission to view this model" -msgstr "Käyttäjän käyttöoikeustaso ei riitä kohteen tarkastelemiseen" +msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" #: InvenTree/conversion.py:62 msgid "No value provided" @@ -52,12 +52,12 @@ msgstr "Anna päivämäärä" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,17 +121,17 @@ msgstr "Annettu ensisijainen sähköpostiosoite ei kelpaa." msgid "The provided email domain is not approved." msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" -msgstr "" +msgstr "Annettu määrä on virheellinen" #: InvenTree/helpers.py:470 msgid "Empty serial number string" -msgstr "" +msgstr "Tyhjä sarjanumero" #: InvenTree/helpers.py:500 msgid "Duplicate serial" -msgstr "" +msgstr "Duplikaatti sarjanumero" #: InvenTree/helpers.py:533 InvenTree/helpers.py:568 #, python-brace-format @@ -150,12 +150,12 @@ msgstr "" #: InvenTree/helpers.py:618 msgid "No serial numbers found" -msgstr "" +msgstr "Sarjanumeroita ei löytynyt" #: InvenTree/helpers.py:621 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" -msgstr "" +msgstr "Yksilöllisten sarjanumeroiden määrän ({s}) on vastattava määrää ({q})" #: InvenTree/helpers.py:751 msgid "Remove HTML tags from this value" @@ -183,7 +183,7 @@ msgstr "Kuva on liian iso" #: InvenTree/helpers_model.py:162 msgid "Image download exceeded maximum size" -msgstr "" +msgstr "Kuvan lataus ylitti enimmäiskoon" #: InvenTree/helpers_model.py:167 msgid "Remote server returned empty response" @@ -219,7 +219,7 @@ msgstr "" #: InvenTree/models.py:345 msgid "Reference field cannot be empty" -msgstr "" +msgstr "Viitekenttä ei voi olla tyhjä" #: InvenTree/models.py:352 msgid "Reference must match required pattern" @@ -227,7 +227,7 @@ msgstr "" #: InvenTree/models.py:383 msgid "Reference number is too large" -msgstr "" +msgstr "Viitenumero on liian suuri" #: InvenTree/models.py:465 msgid "Missing file" @@ -237,7 +237,7 @@ msgstr "Puuttuva tiedosto" msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Valitse liitettävä tiedosto" msgid "Link" msgstr "Linkki" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -279,9 +279,9 @@ msgstr "Tiedoston kommentti" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -289,7 +289,7 @@ msgstr "Käyttäjä" #: InvenTree/models.py:507 msgid "upload date" -msgstr "" +msgstr "latauspäivä" #: InvenTree/models.py:529 msgid "Filename must not be empty" @@ -302,19 +302,19 @@ msgstr "Virheellinen liitteen hakemisto" #: InvenTree/models.py:548 #, python-brace-format msgid "Filename contains illegal character '{c}'" -msgstr "" +msgstr "Tiedostonimi sisältää kielletyn merkin '{c}'" #: InvenTree/models.py:551 msgid "Filename missing extension" -msgstr "" +msgstr "Tiedostonimen pääte puuttuu" #: InvenTree/models.py:558 msgid "Attachment with this filename already exists" -msgstr "" +msgstr "Samanniminen liite on jo olemassa" #: InvenTree/models.py:565 msgid "Error renaming file" -msgstr "" +msgstr "Virhe tiedoston uudelleennimeämisessä" #: InvenTree/models.py:604 msgid "Duplicate names cannot exist under the same parent" @@ -322,15 +322,14 @@ msgstr "" #: InvenTree/models.py:623 msgid "Invalid choice" -msgstr "" +msgstr "Virheellinen valinta" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -339,7 +338,7 @@ msgstr "" #: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 #: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 msgid "Name" -msgstr "" +msgstr "Nimi" #: InvenTree/models.py:655 build/models.py:164 #: build/templates/build/detail.html:24 common/models.py:111 @@ -347,8 +346,8 @@ msgstr "" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -373,11 +372,11 @@ msgstr "" #: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 #: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 msgid "Description" -msgstr "" +msgstr "Kuvaus" #: InvenTree/models.py:656 msgid "Description (optional)" -msgstr "" +msgstr "Kuvaus (valinnainen)" #: InvenTree/models.py:664 msgid "parent" @@ -386,7 +385,7 @@ msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 #: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 msgid "Path" -msgstr "" +msgstr "Polku" #: InvenTree/models.py:767 msgid "Markdown notes (optional)" @@ -394,7 +393,7 @@ msgstr "" #: InvenTree/models.py:794 msgid "Barcode Data" -msgstr "" +msgstr "Viivakoodin Tiedot" #: InvenTree/models.py:795 msgid "Third party barcode data" @@ -414,50 +413,50 @@ msgstr "" #: InvenTree/models.py:900 msgid "Server Error" -msgstr "" +msgstr "Palvelinvirhe" #: InvenTree/models.py:901 msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" -msgstr "" +msgstr "Täytyy olla kelvollinen luku" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "" +msgstr "Valuutta" #: InvenTree/serializers.py:93 msgid "Select currency from available options" -msgstr "" +msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" #: InvenTree/serializers.py:364 msgid "Filename" -msgstr "" +msgstr "Tiedostonimi" #: InvenTree/serializers.py:401 msgid "Invalid value" -msgstr "" +msgstr "Virheellinen arvo" #: InvenTree/serializers.py:423 msgid "Data File" -msgstr "" +msgstr "Datatiedosto" #: InvenTree/serializers.py:424 msgid "Select data file for upload" -msgstr "" +msgstr "Valitse lähetettävä datatiedosto" #: InvenTree/serializers.py:445 msgid "Unsupported file type" -msgstr "" +msgstr "Tiedostotyyppiä ei tueta" #: InvenTree/serializers.py:451 msgid "File is too large" -msgstr "" +msgstr "Tiedosto on liian suuri" #: InvenTree/serializers.py:472 msgid "No columns found in file" @@ -483,7 +482,7 @@ msgstr "Vaadittu sarake puuttuu: '{name}'" #: InvenTree/serializers.py:687 #, python-brace-format msgid "Duplicate column: '{col}'" -msgstr "" +msgstr "Duplikaatti sarake: '{col}'" #: InvenTree/serializers.py:713 #: templates/InvenTree/settings/mixins/urls.html:14 @@ -498,111 +497,111 @@ msgstr "Kuvatiedoston URL" msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "tšekki" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "tanska" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "saksa" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "kreikka" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "englanti" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "espanja" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "espanja (Meksiko)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "farsi / persia" -#: InvenTree/settings.py:721 -msgid "Finnish" -msgstr "" - #: InvenTree/settings.py:722 +msgid "Finnish" +msgstr "suomi" + +#: InvenTree/settings.py:723 msgid "French" msgstr "ranska" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "heprea" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "unkari" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "italia" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "japani" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "korea" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "hollanti" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "norja" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "puola" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "portugali" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "portugali (Brasilia)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "venäjä" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "slovenia" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "ruotsi" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "thai" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "turkki" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "vietnam" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "kiina" @@ -618,196 +617,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "InvenTree järjestelmän terveystarkastukset epäonnistui" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Odottaa" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Valmis" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Peruttu" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Kadonnut" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Palautettu" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "Kesken" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Lähetetty" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Huomiota tarvitaan" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Vahingoittunut" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Tuhottu" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Hylätty" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "Asetettu karanteeniin" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" -msgstr "" +msgstr "Varastotuote luotu" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" -msgstr "" +msgstr "Sijainti muutettu" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" -msgstr "" +msgstr "Varasto päivitetty" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -833,29 +835,29 @@ msgstr "" #: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" -msgstr "" +msgstr "Muokkaa käyttäjätietoja" #: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 msgid "Set Password" -msgstr "" +msgstr "Aseta salasana" #: InvenTree/views.py:443 msgid "Password fields must match" -msgstr "" +msgstr "Salasanat eivät täsmää" #: InvenTree/views.py:452 msgid "Wrong password provided" -msgstr "" +msgstr "Virheellinen salasana" #: InvenTree/views.py:651 templates/navbar.html:157 msgid "System Information" -msgstr "" +msgstr "Järjestelmän tiedot" #: InvenTree/views.py:658 templates/navbar.html:168 msgid "About InvenTree" -msgstr "" +msgstr "Tietoja InvenTree:stä" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +889,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -964,7 +966,7 @@ msgstr "" #: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 #: templates/js/translated/stock.js:2968 msgid "Part" -msgstr "" +msgstr "Osa" #: build/models.py:189 msgid "Select part to build" @@ -1020,7 +1022,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1031,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1088,7 +1090,7 @@ msgstr "" #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 msgid "External Link" -msgstr "" +msgstr "Ulkoinen linkki" #: build/models.py:295 msgid "Build Priority" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1167,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1181,7 +1183,7 @@ msgstr "" #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:2714 msgid "Stock Item" -msgstr "" +msgstr "Varastotuote" #: build/models.py:1456 msgid "Source stock item" @@ -1190,9 +1192,9 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1232,7 +1234,7 @@ msgstr "" #: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 #: templates/js/translated/stock.js:2843 msgid "Quantity" -msgstr "" +msgstr "Määrä" #: build/models.py:1469 msgid "Stock quantity to allocate to build" @@ -1279,11 +1281,11 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" -msgstr "" +msgstr "Sarjanumerot" #: build/serializers.py:277 msgid "Enter serial numbers for build outputs" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1323,7 +1325,7 @@ msgstr "" #: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 #: templates/js/translated/stock.js:2608 msgid "Location" -msgstr "" +msgstr "Sijainti" #: build/serializers.py:416 msgid "Stock location for scrapped outputs" @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1357,7 +1359,7 @@ msgstr "" #: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 #: templates/js/translated/stock.js:2859 msgid "Status" -msgstr "" +msgstr "Tila" #: build/serializers.py:501 msgid "Accept Incomplete Allocation" @@ -1385,7 +1387,7 @@ msgstr "" #: build/serializers.py:606 msgid "Not permitted" -msgstr "" +msgstr "Ei sallittu" #: build/serializers.py:607 msgid "Accept as consumed by this build order" @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1563,7 +1565,7 @@ msgstr "" #: templates/js/translated/barcode.js:479 #: templates/js/translated/barcode.js:484 msgid "Unlink Barcode" -msgstr "" +msgstr "Poista viivakoodin linkitys" #: build/templates/build/build_base.html:48 #: company/templates/company/supplier_part.html:44 @@ -1574,7 +1576,7 @@ msgstr "" #: stock/templates/stock/item_base.html:50 #: stock/templates/stock/location.html:60 msgid "Link Barcode" -msgstr "" +msgstr "Linkitä viivakoodi" #: build/templates/build/build_base.html:57 #: order/templates/order/order_base.html:46 @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" -msgstr "" +msgstr "Myöhässä" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" -msgstr "" +msgstr "Valmis" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1701,7 +1703,7 @@ msgstr "" #: build/templates/build/build_base.html:211 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 msgid "Priority" -msgstr "" +msgstr "Prioriteetti" #: build/templates/build/build_base.html:273 msgid "Delete Build Order" @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1890,7 +1892,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" -msgstr "" +msgstr "Liitteet" #: build/templates/build/detail.html:327 msgid "Build Notes" @@ -1923,7 +1925,7 @@ msgstr "" #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" -msgstr "" +msgstr "Tiedostomuotoa ei tueta: {fmt}" #: common/files.py:65 msgid "Error reading file (invalid encoding)" @@ -1943,15 +1945,15 @@ msgstr "" #: common/forms.py:13 msgid "File" -msgstr "" +msgstr "Tiedosto" #: common/forms.py:14 msgid "Select file to upload" -msgstr "" +msgstr "Valitse lähetettävä tiedosto" #: common/forms.py:28 msgid "{name.title()} File" -msgstr "" +msgstr "{name.title()} Tiedosto" #: common/forms.py:29 #, python-brace-format @@ -1960,13 +1962,13 @@ msgstr "" #: common/models.py:68 msgid "Updated" -msgstr "" +msgstr "Päivitetty" #: common/models.py:69 msgid "Timestamp of last update" -msgstr "" +msgstr "Viimeisimmän päivityksen aikaleima" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2010,20 +2012,20 @@ msgstr "" #: common/models.py:844 msgid "No group" -msgstr "" +msgstr "Ei ryhmää" #: common/models.py:869 msgid "An empty domain is not allowed." -msgstr "" +msgstr "Verkkotunnus ei saa olla tyhjä." #: common/models.py:871 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "" +msgstr "Virheellinen verkkotunnus: {domain}" #: common/models.py:928 msgid "Restart required" -msgstr "" +msgstr "Uudelleenkäynnistys vaaditaan" #: common/models.py:929 msgid "A setting has been changed which requires a server restart" @@ -2055,11 +2057,11 @@ msgstr "" #: common/models.py:957 company/models.py:101 company/models.py:102 msgid "Company name" -msgstr "" +msgstr "Yrityksen nimi" #: common/models.py:958 msgid "Internal company name" -msgstr "" +msgstr "Yrityksen sisäinen nimi" #: common/models.py:963 msgid "Base URL" @@ -2071,7 +2073,7 @@ msgstr "" #: common/models.py:971 msgid "Default Currency" -msgstr "" +msgstr "Oletusvaluutta" #: common/models.py:972 msgid "Select base currency for pricing calculations" @@ -2129,19 +2131,19 @@ msgstr "" #: common/models.py:1064 common/models.py:1075 common/models.py:1299 #: common/models.py:1323 common/models.py:1446 common/models.py:1695 msgid "days" -msgstr "" +msgstr "päivää" #: common/models.py:1032 msgid "Automatic Backup" -msgstr "" +msgstr "Automaattinen varmuuskopionti" #: common/models.py:1033 msgid "Enable automatic backup of database and media files" -msgstr "" +msgstr "Ota käyttöön tietokannan ja mediatiedostojen automaattinen varmuuskopiointi" #: common/models.py:1039 msgid "Auto Backup Interval" -msgstr "" +msgstr "Automaattisen varmuuskopioinnin aikaväli" #: common/models.py:1040 msgid "Specify number of days between automated backup events" @@ -2173,7 +2175,7 @@ msgstr "" #: common/models.py:1083 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "" +msgstr "Viivakoodituki" #: common/models.py:1084 msgid "Enable barcode scanner support" @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,25 +2282,25 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" -msgstr "" +msgstr "Komponentti" #: common/models.py:1177 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" -msgstr "" +msgstr "Ostettavissa" #: common/models.py:1184 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,21 +2308,21 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" -msgstr "" +msgstr "Seurattavissa" #: common/models.py:1198 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -2450,7 +2452,7 @@ msgstr "" #: common/models.py:1332 msgid "Internal Prices" -msgstr "" +msgstr "Sisäiset hinnat" #: common/models.py:1333 msgid "Enable internal prices for parts" @@ -2458,7 +2460,7 @@ msgstr "" #: common/models.py:1339 msgid "Internal Price Override" -msgstr "" +msgstr "Sisäisen hinnan ohitus" #: common/models.py:1340 msgid "If available, internal prices override price range calculations" @@ -2498,7 +2500,7 @@ msgstr "" #: common/models.py:1377 msgid "Page Size" -msgstr "" +msgstr "Sivun koko" #: common/models.py:1378 msgid "Default page size for PDF reports" @@ -2530,7 +2532,7 @@ msgstr "" #: common/models.py:1409 msgid "Autofill Serial Numbers" -msgstr "" +msgstr "Täytä sarjanumerot automaattisesti" #: common/models.py:1410 msgid "Autofill serial numbers in forms" @@ -2674,7 +2676,7 @@ msgstr "" #: common/models.py:1535 msgid "Enable password forgot" -msgstr "" +msgstr "Salli salasananpalautus" #: common/models.py:1536 msgid "Enable password forgot function on the login pages" @@ -2682,7 +2684,7 @@ msgstr "" #: common/models.py:1542 msgid "Enable registration" -msgstr "" +msgstr "Salli rekisteröinti" #: common/models.py:1543 msgid "Enable self-registration for users on the login pages" @@ -2690,15 +2692,15 @@ msgstr "" #: common/models.py:1549 msgid "Enable SSO" -msgstr "" +msgstr "Salli SSO" #: common/models.py:1550 msgid "Enable SSO on the login pages" -msgstr "" +msgstr "Salli SSO kirjautumissivuilla" #: common/models.py:1556 msgid "Enable SSO registration" -msgstr "" +msgstr "Salli SSO rekisteröinti" #: common/models.py:1557 msgid "Enable self-registration via SSO for users on the login pages" @@ -2706,7 +2708,7 @@ msgstr "" #: common/models.py:1563 msgid "Email required" -msgstr "" +msgstr "Sähköposti vaaditaan" #: common/models.py:1564 msgid "Require user to supply mail on signup" @@ -2722,7 +2724,7 @@ msgstr "" #: common/models.py:1577 msgid "Mail twice" -msgstr "" +msgstr "Sähköpostiosoite kahdesti" #: common/models.py:1578 msgid "On signup ask users twice for their mail" @@ -2730,7 +2732,7 @@ msgstr "" #: common/models.py:1584 msgid "Password twice" -msgstr "" +msgstr "Salasana kahdesti" #: common/models.py:1585 msgid "On signup ask users twice for their password" @@ -2738,7 +2740,7 @@ msgstr "" #: common/models.py:1591 msgid "Allowed domains" -msgstr "" +msgstr "Sallitut verkkotunnukset" #: common/models.py:1592 msgid "Restrict signup to certain domains (comma-separated, starting with @)" @@ -2754,7 +2756,7 @@ msgstr "" #: common/models.py:1605 msgid "Enforce MFA" -msgstr "" +msgstr "Pakota MFA" #: common/models.py:1606 msgid "Users must use multifactor security." @@ -3018,11 +3020,11 @@ msgstr "" #: common/models.py:1891 msgid "Show News" -msgstr "" +msgstr "Näytä uutiset" #: common/models.py:1892 msgid "Show news on the homepage" -msgstr "" +msgstr "Näytä uutiset kotisivulla" #: common/models.py:1898 msgid "Inline label display" @@ -3285,12 +3287,12 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 msgid "Price" -msgstr "" +msgstr "Hinta" #: common/models.py:2185 msgid "Unit price at specified quantity" @@ -3308,13 +3310,14 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" -msgstr "" +msgstr "Aktiivinen" #: common/models.py:2361 msgid "Is this webhook active" @@ -3330,7 +3333,7 @@ msgstr "" #: common/models.py:2383 msgid "Secret" -msgstr "" +msgstr "Salaisuus" #: common/models.py:2384 msgid "Shared secret for HMAC" @@ -3346,7 +3349,7 @@ msgstr "" #: common/models.py:2499 msgid "Host" -msgstr "" +msgstr "Isäntä" #: common/models.py:2500 msgid "Host from which this message was received" @@ -3386,21 +3389,20 @@ msgstr "" #: common/models.py:2690 templates/js/translated/news.js:44 msgid "Title" -msgstr "" +msgstr "Otsikko" #: common/models.py:2700 templates/js/translated/news.js:60 msgid "Published" -msgstr "" +msgstr "Julkaistu" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" -msgstr "" +msgstr "Julkaisija" #: common/models.py:2710 templates/js/translated/news.js:52 msgid "Summary" -msgstr "" +msgstr "Yhteenveto" #: common/models.py:2715 msgid "Read" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3418,16 +3420,16 @@ msgstr "" #: templates/hover_image.html:7 templates/hover_image.html:9 #: templates/modals.html:6 msgid "Image" -msgstr "" +msgstr "Kuva" #: common/models.py:2737 msgid "Image file" -msgstr "" +msgstr "Kuvatiedosto" #: common/notifications.py:291 #, python-brace-format msgid "New {verbose_name}" -msgstr "" +msgstr "Uusi {verbose_name}" #: common/notifications.py:293 msgid "A new order has been created and assigned to you" @@ -3454,7 +3456,7 @@ msgstr "" #: part/templates/part/import_wizard/part_upload.html:58 part/views.py:108 #: templates/patterns/wizard/upload.html:37 msgid "Upload File" -msgstr "" +msgstr "Lataa tiedosto" #: common/views.py:86 order/templates/order/order_wizard/match_fields.html:52 #: order/views.py:119 @@ -3485,11 +3487,11 @@ msgstr "" #: templates/patterns/wizard/match_fields.html:26 #: templates/patterns/wizard/upload.html:35 msgid "Previous Step" -msgstr "" +msgstr "Edellinen vaihe" #: company/models.py:106 msgid "Company description" -msgstr "" +msgstr "Yrityksen kuvaus" #: company/models.py:107 msgid "Description of the company" @@ -3499,23 +3501,23 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:54 #: templates/js/translated/company.js:514 msgid "Website" -msgstr "" +msgstr "Sivusto" #: company/models.py:114 msgid "Company website URL" -msgstr "" +msgstr "Yrityksen sivuston URL" #: company/models.py:118 company/templates/company/company_base.html:119 msgid "Address" -msgstr "" +msgstr "Osoite" #: company/models.py:119 msgid "Company address" -msgstr "" +msgstr "Yrityksen osoite" #: company/models.py:122 msgid "Phone number" -msgstr "" +msgstr "Puhelinnumero" #: company/models.py:123 msgid "Contact phone number" @@ -3525,18 +3527,18 @@ msgstr "" #: templates/InvenTree/settings/user.html:49 #: templates/js/translated/company.js:659 msgid "Email" -msgstr "" +msgstr "Sähköposti" #: company/models.py:126 msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" -msgstr "" +msgstr "Kontakti" #: company/models.py:130 msgid "Point of contact" @@ -3548,7 +3550,7 @@ msgstr "" #: company/models.py:146 msgid "is customer" -msgstr "" +msgstr "on asiakas" #: company/models.py:146 msgid "Do you sell items to this company?" @@ -3556,7 +3558,7 @@ msgstr "" #: company/models.py:148 msgid "is supplier" -msgstr "" +msgstr "on toimittaja" #: company/models.py:148 msgid "Do you purchase items from this company?" @@ -3564,7 +3566,7 @@ msgstr "" #: company/models.py:150 msgid "is manufacturer" -msgstr "" +msgstr "on valmistaja" #: company/models.py:150 msgid "Does this company manufacture parts?" @@ -3578,7 +3580,7 @@ msgstr "" #: company/templates/company/company_base.html:12 #: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 msgid "Company" -msgstr "" +msgstr "Yritys" #: company/models.py:278 company/models.py:553 stock/models.py:675 #: stock/serializers.py:155 stock/templates/stock/item_base.html:143 @@ -3598,13 +3600,13 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" -msgstr "" +msgstr "Valmistaja" #: company/models.py:294 msgid "Select manufacturer" -msgstr "" +msgstr "Valitse valmistaja" #: company/models.py:300 company/templates/company/manufacturer_part.html:101 #: company/templates/company/supplier_part.html:154 part/serializers.py:360 @@ -3619,7 +3621,7 @@ msgstr "" #: company/models.py:301 msgid "Manufacturer Part Number" -msgstr "" +msgstr "Valmistajan osanumero" #: company/models.py:307 msgid "URL for external manufacturer part link" @@ -3642,18 +3644,18 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" -msgstr "" +msgstr "Arvo" #: company/models.py:398 msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,13 +3688,13 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" -msgstr "" +msgstr "Toimittaja" #: company/models.py:565 msgid "Select supplier" -msgstr "" +msgstr "Valitse toimittaja" #: company/models.py:570 company/templates/company/supplier_part.html:140 #: part/bom.py:286 part/bom.py:314 part/serializers.py:349 @@ -3701,15 +3703,15 @@ msgstr "" #: templates/js/translated/purchase_order.js:1813 #: templates/js/translated/purchase_order.js:1996 msgid "SKU" -msgstr "" +msgstr "SKU" #: company/models.py:571 part/serializers.py:349 msgid "Supplier stock keeping unit" -msgstr "" +msgstr "Toimittajan varastonimike" #: company/models.py:579 msgid "Select manufacturer part" -msgstr "" +msgstr "Valitse valmistajan osa" #: company/models.py:585 msgid "URL for external supplier part link" @@ -3720,20 +3722,20 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:418 msgid "Note" -msgstr "" +msgstr "Muistiinpano" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,9 +3782,9 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" -msgstr "" +msgstr "Saatavilla" #: company/models.py:633 msgid "Quantity available from supplier" @@ -3811,21 +3813,21 @@ msgstr "" #: company/templates/company/company_base.html:33 msgid "Edit company information" -msgstr "" +msgstr "Muokkaa yrityksen tietoja" #: company/templates/company/company_base.html:34 #: templates/js/translated/company.js:436 msgid "Edit Company" -msgstr "" +msgstr "Muokkaa yritystä" #: company/templates/company/company_base.html:38 msgid "Delete company" -msgstr "" +msgstr "Poista yritys" #: company/templates/company/company_base.html:39 #: company/templates/company/company_base.html:163 msgid "Delete Company" -msgstr "" +msgstr "Poista yritys" #: company/templates/company/company_base.html:48 #: company/templates/company/manufacturer_part.html:51 @@ -3837,7 +3839,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:84 #: report/templates/report/inventree_test_report_base.html:163 msgid "Part image" -msgstr "" +msgstr "Osan kuva" #: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:12 @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,22 +3866,22 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" -msgstr "" +msgstr "Asiakas" #: company/templates/company/company_base.html:112 msgid "Uses default currency" -msgstr "" +msgstr "Käyttää oletusvaluuttaa" #: company/templates/company/company_base.html:126 msgid "Phone" -msgstr "" +msgstr "Puhelin" #: company/templates/company/company_base.html:206 #: part/templates/part/part_base.html:530 msgid "Remove Image" -msgstr "" +msgstr "Poista kuva" #: company/templates/company/company_base.html:207 msgid "Remove associated image from this company" @@ -3890,7 +3892,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:88 #: templates/InvenTree/settings/user_sso.html:43 msgid "Remove" -msgstr "" +msgstr "Poista" #: company/templates/company/company_base.html:238 #: part/templates/part/part_base.html:562 @@ -4090,7 +4092,7 @@ msgstr "" #: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 #: templates/js/translated/stock.js:216 users/models.py:247 msgid "Delete" -msgstr "" +msgstr "Poista" #: company/templates/company/manufacturer_part.html:166 #: company/templates/company/manufacturer_part_sidebar.html:5 @@ -4244,28 +4246,28 @@ msgstr "" #: company/views.py:33 msgid "New Supplier" -msgstr "" +msgstr "Uusi toimittaja" #: company/views.py:39 msgid "New Manufacturer" -msgstr "" +msgstr "Uusi valmistaja" #: company/views.py:44 templates/InvenTree/search.html:210 #: templates/navbar.html:60 msgid "Customers" -msgstr "" +msgstr "Asiakkaat" #: company/views.py:45 msgid "New Customer" -msgstr "" +msgstr "Uusi asiakas" #: company/views.py:52 templates/js/translated/search.js:234 msgid "Companies" -msgstr "" +msgstr "Yritykset" #: company/views.py:53 msgid "New Company" -msgstr "" +msgstr "Uusi yritys" #: label/models.py:104 msgid "Label name" @@ -4285,7 +4287,7 @@ msgstr "" #: label/models.py:125 report/models.py:273 msgid "Enabled" -msgstr "" +msgstr "Käytössä" #: label/models.py:126 msgid "Label template is enabled" @@ -4293,7 +4295,7 @@ msgstr "" #: label/models.py:131 msgid "Width [mm]" -msgstr "" +msgstr "Leveys [mm]" #: label/models.py:132 msgid "Label width, specified in mm" @@ -4301,7 +4303,7 @@ msgstr "" #: label/models.py:138 msgid "Height [mm]" -msgstr "" +msgstr "Korkeus [mm]" #: label/models.py:139 msgid "Label height, specified in mm" @@ -4323,7 +4325,7 @@ msgstr "" #: report/models.py:294 report/models.py:452 report/models.py:490 #: report/models.py:528 msgid "Filters" -msgstr "" +msgstr "Suodattimet" #: label/models.py:283 msgid "Query filters (comma-separated list of key=value pairs" @@ -4338,28 +4340,28 @@ msgstr "" #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 msgid "QC Code" -msgstr "" +msgstr "QR-koodi" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 #: templates/qr_code.html:7 msgid "QR code" -msgstr "" +msgstr "QR-koodi" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 #: templates/js/translated/purchase_order.js:2093 #: templates/js/translated/sales_order.js:1827 msgid "Total Price" -msgstr "" +msgstr "Hinta yhteensä" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" -msgstr "" +msgstr "Tilauksen valuutta" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" -msgstr "" +msgstr "Tilauksen viite" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " -msgstr "" +msgstr "Asiakkaan viite " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" -msgstr "" +msgstr "Vastaanotettu" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" -msgstr "" +msgstr "Seurantakoodi" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" -msgstr "" +msgstr "Laskunumero" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" -msgstr "" +msgstr "Viivakoodi" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -4933,17 +4935,17 @@ msgstr "" #: order/templates/order/return_order_base.html:77 #: order/templates/order/sales_order_base.html:76 msgid "Edit order" -msgstr "" +msgstr "Muokkaa tilausta" #: order/templates/order/order_base.html:68 #: order/templates/order/return_order_base.html:79 #: order/templates/order/sales_order_base.html:78 msgid "Cancel order" -msgstr "" +msgstr "Peru tilaus" #: order/templates/order/order_base.html:73 msgid "Duplicate order" -msgstr "" +msgstr "Kopioi tilaus" #: order/templates/order/order_base.html:79 #: order/templates/order/order_base.html:80 @@ -5018,13 +5020,13 @@ msgstr "" #: order/templates/order/order_base.html:221 msgid "Total cost" -msgstr "" +msgstr "Kokonaiskustannukset" #: order/templates/order/order_base.html:225 #: order/templates/order/return_order_base.html:193 #: order/templates/order/sales_order_base.html:233 msgid "Total cost could not be calculated" -msgstr "" +msgstr "Kokonaiskustannuksia ei voitu laskea" #: order/templates/order/order_base.html:331 msgid "Purchase Order QR Code" @@ -5068,7 +5070,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:42 #: templates/patterns/wizard/match_fields.html:41 msgid "Remove column" -msgstr "" +msgstr "Poista sarake" #: order/templates/order/order_wizard/match_fields.html:60 #: part/templates/part/import_wizard/ajax_match_fields.html:53 @@ -5092,7 +5094,7 @@ msgstr "" #: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" -msgstr "" +msgstr "Poista rivi" #: order/templates/order/order_wizard/match_parts.html:12 #: part/templates/part/import_wizard/ajax_match_references.html:12 @@ -5104,7 +5106,7 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:21 #: part/templates/part/import_wizard/match_references.html:28 msgid "Row" -msgstr "" +msgstr "Rivi" #: order/templates/order/order_wizard/match_parts.html:29 msgid "Select Supplier Part" @@ -5281,7 +5283,7 @@ msgstr "" #: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 #: templates/js/translated/build.js:2249 msgid "Actions" -msgstr "" +msgstr "Toiminnot" #: order/templates/order/sales_order_detail.html:84 msgid "New Shipment" @@ -5297,7 +5299,7 @@ msgstr "" #: order/views.py:399 msgid "Price not found" -msgstr "" +msgstr "Hintaa ei löytynyt" #: order/views.py:402 #, python-brace-format @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,22 +5325,22 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" -msgstr "" +msgstr "Avainsanat" #: part/admin.py:42 part/admin.py:192 part/tasks.py:291 msgid "Category ID" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,359 +5499,358 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" -msgstr "" +msgstr "Oletus avainsanat" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" -msgstr "" +msgstr "Kuvake" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" -msgstr "" +msgstr "Kuvake (valinnainen)" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 #: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 msgid "Category" -msgstr "" +msgstr "Kategoria" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5857,332 +5858,332 @@ msgstr "" #: templates/js/translated/purchase_order.js:1691 #: templates/js/translated/stock.js:2558 msgid "Date" -msgstr "" +msgstr "Päivämäärä" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" -msgstr "" +msgstr "Muut merkinnät" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" -msgstr "" +msgstr "Raportti" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -6248,7 +6249,7 @@ msgstr "" #: part/serializers.py:360 msgid "Manufacturer part number" -msgstr "" +msgstr "Valmistajan osanumero" #: part/serializers.py:367 msgid "Selected company is not a valid supplier" @@ -6313,7 +6314,7 @@ msgstr "" #: part/serializers.py:859 msgid "Generate Report" -msgstr "" +msgstr "Luo raportti" #: part/serializers.py:860 msgid "Generate report file containing calculated stocktake data" @@ -6486,19 +6487,19 @@ msgstr "" #: part/templates/part/category.html:59 msgid "Edit category" -msgstr "" +msgstr "Muokkaa kategoriaa" #: part/templates/part/category.html:60 msgid "Edit Category" -msgstr "" +msgstr "Muokkaa kategoriaa" #: part/templates/part/category.html:64 msgid "Delete category" -msgstr "" +msgstr "Poista kategoria" #: part/templates/part/category.html:65 msgid "Delete Category" -msgstr "" +msgstr "Poista kategoria" #: part/templates/part/category.html:101 msgid "Top level part category" @@ -6515,24 +6516,24 @@ msgstr "" #: part/templates/part/category.html:164 msgid "Create new part" -msgstr "" +msgstr "Luo uusi osa" #: part/templates/part/category.html:165 templates/js/translated/bom.js:443 msgid "New Part" -msgstr "" +msgstr "Uusi osa" #: part/templates/part/category.html:175 part/templates/part/detail.html:390 #: part/templates/part/detail.html:421 msgid "Options" -msgstr "" +msgstr "Valinnat" #: part/templates/part/category.html:179 msgid "Set category" -msgstr "" +msgstr "Aseta kategoria" #: part/templates/part/category.html:180 msgid "Set Category" -msgstr "" +msgstr "Aseta kategoria" #: part/templates/part/category.html:208 #: templates/InvenTree/settings/sidebar.html:47 @@ -6784,15 +6785,15 @@ msgstr "" #: part/templates/part/part_base.html:96 msgid "Duplicate part" -msgstr "" +msgstr "Monista osa" #: part/templates/part/part_base.html:99 msgid "Edit part" -msgstr "" +msgstr "Muokkaa osaa" #: part/templates/part/part_base.html:102 msgid "Delete part" -msgstr "" +msgstr "Poista osa" #: part/templates/part/part_base.html:121 msgid "Part is a template part (variants can be made from this part)" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7227,7 +7224,7 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:163 msgid "Open link" -msgstr "" +msgstr "Avaa linkki" #: plugin/models.py:27 msgid "Plugin Configuration" @@ -7237,9 +7234,9 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" -msgstr "" +msgstr "Avain" #: plugin/models.py:34 msgid "Key of plugin" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7314,11 +7303,11 @@ msgstr "" #: plugin/samples/integration/sample.py:49 msgid "Numerical" -msgstr "" +msgstr "Numeerinen" #: plugin/samples/integration/sample.py:50 msgid "A numerical setting" -msgstr "" +msgstr "Numeerinen asetus" #: plugin/samples/integration/sample.py:55 msgid "Choice Setting" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7509,7 +7506,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1682 #: templates/js/translated/stock.js:563 msgid "Serial Number" -msgstr "" +msgstr "Sarjanumero" #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7554,7 +7551,7 @@ msgstr "" #: stock/admin.py:104 templates/js/translated/stock.js:667 #: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 msgid "Serial" -msgstr "" +msgstr "Sarjanumero" #: stock/admin.py:39 stock/admin.py:108 msgid "Location ID" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8205,19 +8202,19 @@ msgstr "" #: stock/templates/stock/item_base.html:318 msgid "previous page" -msgstr "" +msgstr "edellinen sivu" #: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" -msgstr "" +msgstr "Siirry edeltävään sarjanumeroon" #: stock/templates/stock/item_base.html:327 msgid "next page" -msgstr "" +msgstr "seuraava sivu" #: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" -msgstr "" +msgstr "Siirry seuraavaan sarjanumeroon" #: stock/templates/stock/item_base.html:341 msgid "Available Quantity" @@ -8283,7 +8280,7 @@ msgstr "" #: stock/templates/stock/item_base.html:615 msgid "Warning" -msgstr "" +msgstr "Varoitus" #: stock/templates/stock/item_base.html:616 msgid "This action cannot be easily undone" @@ -8335,11 +8332,11 @@ msgstr "" #: stock/templates/stock/location.html:104 msgid "Edit location" -msgstr "" +msgstr "Muokkaa sijaintia" #: stock/templates/stock/location.html:106 msgid "Delete location" -msgstr "" +msgstr "Poista sijainti" #: stock/templates/stock/location.html:136 msgid "Top level stock location" @@ -8365,7 +8362,7 @@ msgstr "" #: stock/templates/stock/location.html:216 msgid "New Location" -msgstr "" +msgstr "Uusi sijainti" #: stock/templates/stock/location.html:287 #: templates/js/translated/stock.js:2318 @@ -8386,7 +8383,7 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "" +msgstr "Ladataan..." #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" @@ -8423,11 +8420,11 @@ msgstr "" #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" -msgstr "" +msgstr "Sivua ei löydy" #: templates/404.html:15 msgid "The requested page does not exist" -msgstr "" +msgstr "Pyydettyä sivua ei ole olemassa" #: templates/500.html:6 templates/500.html:12 msgid "Internal Server Error" @@ -8571,7 +8568,7 @@ msgstr "" #: templates/InvenTree/notifications/sidebar.html:10 msgid "History" -msgstr "" +msgstr "Historia" #: templates/InvenTree/search.html:8 msgid "Search Results" @@ -8618,7 +8615,7 @@ msgstr "" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" -msgstr "" +msgstr "Asetukset" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" @@ -8631,12 +8628,12 @@ msgstr "" #: templates/InvenTree/settings/mixins/urls.html:23 msgid "Open in new tab" -msgstr "" +msgstr "Avaa uudessa välilehdessä" #: templates/InvenTree/settings/notifications.html:9 #: templates/InvenTree/settings/user_notifications.html:9 msgid "Notification Settings" -msgstr "" +msgstr "Ilmoitusasetukset" #: templates/InvenTree/settings/notifications.html:18 msgid "Slug" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -8921,7 +8902,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:9 msgid "Account" -msgstr "" +msgstr "Tili" #: templates/InvenTree/settings/sidebar.html:11 msgid "Display" @@ -8949,7 +8930,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 msgid "Server" -msgstr "" +msgstr "Palvelin" #: templates/InvenTree/settings/sidebar.html:39 msgid "Labels" @@ -8982,19 +8963,19 @@ msgstr "" #: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 #: templates/notes_buttons.html:4 msgid "Edit" -msgstr "" +msgstr "Muokkaa" #: templates/InvenTree/settings/user.html:33 msgid "Username" -msgstr "" +msgstr "Käyttäjätunnus" #: templates/InvenTree/settings/user.html:37 msgid "First Name" -msgstr "" +msgstr "Etunimi" #: templates/InvenTree/settings/user.html:41 msgid "Last Name" -msgstr "" +msgstr "Sukunimi" #: templates/InvenTree/settings/user.html:55 msgid "The following email addresses are associated with your account:" @@ -9002,19 +8983,19 @@ msgstr "" #: templates/InvenTree/settings/user.html:76 msgid "Verified" -msgstr "" +msgstr "Vahvistettu" #: templates/InvenTree/settings/user.html:78 msgid "Unverified" -msgstr "" +msgstr "Vahvistamaton" #: templates/InvenTree/settings/user.html:80 msgid "Primary" -msgstr "" +msgstr "Ensisijainen" #: templates/InvenTree/settings/user.html:86 msgid "Make Primary" -msgstr "" +msgstr "Aseta ensisijaiseksi" #: templates/InvenTree/settings/user.html:87 msgid "Re-send Verification" @@ -9022,7 +9003,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:96 msgid "Warning:" -msgstr "" +msgstr "Varoitus:" #: templates/InvenTree/settings/user.html:97 msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." @@ -9030,11 +9011,11 @@ msgstr "" #: templates/InvenTree/settings/user.html:105 msgid "Add Email Address" -msgstr "" +msgstr "Lisää sähköpostiosoite" #: templates/InvenTree/settings/user.html:110 msgid "Add Email" -msgstr "" +msgstr "Lisää sähköposti" #: templates/InvenTree/settings/user.html:120 msgid "Multifactor" @@ -9046,11 +9027,11 @@ msgstr "" #: templates/InvenTree/settings/user.html:135 msgid "TOTP" -msgstr "" +msgstr "TOTP" #: templates/InvenTree/settings/user.html:141 msgid "Static" -msgstr "" +msgstr "Staattinen" #: templates/InvenTree/settings/user.html:150 msgid "Multifactor authentication is not configured for your account" @@ -9070,15 +9051,15 @@ msgstr "" #: templates/InvenTree/settings/user.html:168 msgid "Active Sessions" -msgstr "" +msgstr "Aktiiviset istunnot" #: templates/InvenTree/settings/user.html:174 msgid "Log out active sessions (except this one)" -msgstr "" +msgstr "Kirjaa ulos aktiiviset istunnot (paitsi tämä)" #: templates/InvenTree/settings/user.html:175 msgid "Log Out Active Sessions" -msgstr "" +msgstr "Kirjaa ulos aktiiviset istunnot" #: templates/InvenTree/settings/user.html:184 msgid "unknown on unknown" @@ -9090,11 +9071,11 @@ msgstr "" #: templates/InvenTree/settings/user.html:189 msgid "IP Address" -msgstr "" +msgstr "IP-osoite" #: templates/InvenTree/settings/user.html:190 msgid "Device" -msgstr "" +msgstr "Laite" #: templates/InvenTree/settings/user.html:191 msgid "Last Activity" @@ -9124,19 +9105,19 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "" +msgstr "Valitse teema" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" -msgstr "" +msgstr "Aseta teema" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "" +msgstr "Kieliasetukset" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "" +msgstr "Valitse kieli" #: templates/InvenTree/settings/user_display.html:83 #, python-format @@ -9149,11 +9130,11 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:92 msgid "Set Language" -msgstr "" +msgstr "Aseta kieli" #: templates/InvenTree/settings/user_display.html:95 msgid "Some languages are not complete" -msgstr "" +msgstr "Jotkin kielet eivät ole valmiita" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" @@ -9213,31 +9194,31 @@ msgstr "" #: templates/about.html:14 msgid "Development Version" -msgstr "" +msgstr "Kehitysversio" #: templates/about.html:17 msgid "Up to Date" -msgstr "" +msgstr "Ajantasalla" #: templates/about.html:19 msgid "Update Available" -msgstr "" +msgstr "Päivitys saatavilla" #: templates/about.html:42 msgid "InvenTree Documentation" -msgstr "" +msgstr "InvenTree dokumentaatio" #: templates/about.html:47 msgid "API Version" -msgstr "" +msgstr "API-versio" #: templates/about.html:52 msgid "Python Version" -msgstr "" +msgstr "Python-versio" #: templates/about.html:57 msgid "Django Version" -msgstr "" +msgstr "Django-versio" #: templates/about.html:62 msgid "View Code on GitHub" @@ -9249,7 +9230,7 @@ msgstr "" #: templates/about.html:72 msgid "Mobile App" -msgstr "" +msgstr "Mobiilisovellus" #: templates/about.html:77 msgid "Submit Bug Report" @@ -9258,11 +9239,11 @@ msgstr "" #: templates/about.html:84 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" -msgstr "" +msgstr "kopioi leikepöydälle" #: templates/about.html:84 msgid "copy version information" -msgstr "" +msgstr "kopioi versiotiedot" #: templates/account/base.html:66 templates/navbar.html:17 msgid "InvenTree logo" @@ -9271,7 +9252,7 @@ msgstr "" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "" +msgstr "Vahvista sähköpostiosoite" #: templates/account/email_confirm.html:15 #, python-format @@ -9280,7 +9261,7 @@ msgstr "" #: templates/account/email_confirm.html:21 templates/js/translated/forms.js:726 msgid "Confirm" -msgstr "" +msgstr "Vahvista" #: templates/account/email_confirm.html:29 #, python-format @@ -9290,7 +9271,7 @@ msgstr "" #: templates/account/login.html:6 templates/account/login.html:17 #: templates/account/login.html:38 templates/socialaccount/login.html:5 msgid "Sign In" -msgstr "" +msgstr "Kirjaudu sisään" #: templates/account/login.html:21 msgid "Not a member?" @@ -9304,7 +9285,7 @@ msgstr "" #: templates/account/login.html:45 msgid "Forgot Password?" -msgstr "" +msgstr "Unohtuiko salasana?" #: templates/account/login.html:53 msgid "or log in with" @@ -9313,7 +9294,7 @@ msgstr "" #: templates/account/logout.html:5 templates/account/logout.html:8 #: templates/account/logout.html:20 msgid "Sign Out" -msgstr "" +msgstr "Kirjaudu ulos" #: templates/account/logout.html:10 msgid "Are you sure you want to sign out?" @@ -9352,7 +9333,7 @@ msgstr "" #: templates/account/password_reset_from_key.html:18 msgid "Change password" -msgstr "" +msgstr "Vaihda salasana" #: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." @@ -9416,7 +9397,7 @@ msgstr "" #: templates/allauth_2fa/remove.html:9 msgid "Are you sure?" -msgstr "" +msgstr "Oletko varma?" #: templates/allauth_2fa/remove.html:17 msgid "Disable 2FA" @@ -9428,7 +9409,7 @@ msgstr "" #: templates/allauth_2fa/setup.html:10 msgid "Step 1" -msgstr "" +msgstr "Vaihe 1" #: templates/allauth_2fa/setup.html:14 msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." @@ -9436,7 +9417,7 @@ msgstr "" #: templates/allauth_2fa/setup.html:23 msgid "Step 2" -msgstr "" +msgstr "Vaihe 2" #: templates/allauth_2fa/setup.html:27 msgid "Input a token generated by the app:" @@ -9448,19 +9429,19 @@ msgstr "" #: templates/attachment_button.html:4 templates/js/translated/attachment.js:70 msgid "Add Link" -msgstr "" +msgstr "Lisää linkki" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 msgid "Add Attachment" -msgstr "" +msgstr "Lisää liite" #: templates/attachment_table.html:11 msgid "Delete selected attachments" -msgstr "" +msgstr "Poista valitut liitteet" #: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 msgid "Delete Attachments" -msgstr "" +msgstr "Poista liitteet" #: templates/barcode_data.html:5 msgid "Barcode Identifier" @@ -9468,7 +9449,7 @@ msgstr "" #: templates/base.html:102 msgid "Server Restart Required" -msgstr "" +msgstr "Palvelimen uudelleenkäynnistys vaaditaan" #: templates/base.html:105 msgid "A configuration option has been changed which requires a server restart" @@ -9590,15 +9571,15 @@ msgstr "" #: templates/js/translated/attachment.js:114 msgid "All selected attachments will be deleted" -msgstr "" +msgstr "Kaikki liitteet poistetaan" #: templates/js/translated/attachment.js:255 msgid "No attachments found" -msgstr "" +msgstr "Liitteitä ei löytynyt" #: templates/js/translated/attachment.js:285 msgid "Edit Attachment" -msgstr "" +msgstr "Muokkaa liitettä" #: templates/js/translated/attachment.js:326 msgid "Upload Date" @@ -9606,11 +9587,11 @@ msgstr "" #: templates/js/translated/attachment.js:346 msgid "Edit attachment" -msgstr "" +msgstr "Muokkaa liitettä" #: templates/js/translated/attachment.js:354 msgid "Delete attachment" -msgstr "" +msgstr "Poista liite" #: templates/js/translated/barcode.js:43 msgid "Scan barcode data here using barcode scanner" @@ -9651,7 +9632,7 @@ msgstr "" #: templates/js/translated/barcode.js:420 templates/navbar.html:114 msgid "Scan Barcode" -msgstr "" +msgstr "Skannaa viivakoodi" #: templates/js/translated/barcode.js:440 msgid "No URL in response" @@ -9741,7 +9722,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:791 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" -msgstr "" +msgstr "Sulje" #: templates/js/translated/bom.js:305 msgid "Download BOM Template" @@ -10248,7 +10229,7 @@ msgstr "" #: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 #: templates/js/translated/stock.js:2458 msgid "Select" -msgstr "" +msgstr "Valitse" #: templates/js/translated/build.js:2849 msgid "Build order is overdue" @@ -10256,7 +10237,7 @@ msgstr "" #: templates/js/translated/build.js:2883 msgid "Progress" -msgstr "" +msgstr "Edistyminen" #: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 msgid "No user information" @@ -10272,7 +10253,7 @@ msgstr "" #: templates/js/translated/company.js:87 msgid "Add Manufacturer" -msgstr "" +msgstr "Lisää valmistaja" #: templates/js/translated/company.js:100 #: templates/js/translated/company.js:202 @@ -10286,7 +10267,7 @@ msgstr "" #: templates/js/translated/company.js:190 #: templates/js/translated/purchase_order.js:94 msgid "Add Supplier" -msgstr "" +msgstr "Lisää toimittaja" #: templates/js/translated/company.js:232 #: templates/js/translated/purchase_order.js:338 @@ -10303,7 +10284,7 @@ msgstr "" #: templates/js/translated/company.js:457 msgid "Add new Company" -msgstr "" +msgstr "Lisää uusi yritys" #: templates/js/translated/company.js:528 msgid "Parts Supplied" @@ -10319,12 +10300,12 @@ msgstr "" #: templates/js/translated/company.js:601 msgid "Create New Contact" -msgstr "" +msgstr "Luo uusi yhteystieto" #: templates/js/translated/company.js:617 #: templates/js/translated/company.js:740 msgid "Edit Contact" -msgstr "" +msgstr "Muokkaa yhteystietoa" #: templates/js/translated/company.js:654 msgid "All selected contacts will be deleted" @@ -10337,23 +10318,23 @@ msgstr "" #: templates/js/translated/company.js:668 msgid "Delete Contacts" -msgstr "" +msgstr "Poista yhteystiedot" #: templates/js/translated/company.js:699 msgid "No contacts found" -msgstr "" +msgstr "Yhteystietoja ei löytynyt" #: templates/js/translated/company.js:712 msgid "Phone Number" -msgstr "" +msgstr "Puhelinnumero" #: templates/js/translated/company.js:718 msgid "Email Address" -msgstr "" +msgstr "Sähköposti" #: templates/js/translated/company.js:744 msgid "Delete Contact" -msgstr "" +msgstr "Poista yhteystieto" #: templates/js/translated/company.js:818 msgid "All selected manufacturer parts will be deleted" @@ -10443,7 +10424,7 @@ msgstr "" #: templates/js/translated/company.js:1443 msgid "Last updated" -msgstr "" +msgstr "Päivitetty viimeksi" #: templates/js/translated/company.js:1450 msgid "Edit price break" @@ -10456,16 +10437,16 @@ msgstr "" #: templates/js/translated/filters.js:186 #: templates/js/translated/filters.js:550 msgid "true" -msgstr "" +msgstr "tosi" #: templates/js/translated/filters.js:190 #: templates/js/translated/filters.js:551 msgid "false" -msgstr "" +msgstr "epätosi" #: templates/js/translated/filters.js:214 msgid "Select filter" -msgstr "" +msgstr "Valitse suodatin" #: templates/js/translated/filters.js:328 msgid "Print Labels" @@ -10473,7 +10454,7 @@ msgstr "" #: templates/js/translated/filters.js:332 msgid "Print Reports" -msgstr "" +msgstr "Tulosta raportteja" #: templates/js/translated/filters.js:344 msgid "Download table data" @@ -10493,7 +10474,7 @@ msgstr "" #: templates/js/translated/filters.js:460 msgid "Create filter" -msgstr "" +msgstr "Luo suodatin" #: templates/js/translated/forms.js:369 templates/js/translated/forms.js:384 #: templates/js/translated/forms.js:398 templates/js/translated/forms.js:412 @@ -10555,27 +10536,27 @@ msgstr "" #: templates/js/translated/helpers.js:77 msgid "YES" -msgstr "" +msgstr "KYLLÄ" #: templates/js/translated/helpers.js:80 msgid "NO" -msgstr "" +msgstr "EI" #: templates/js/translated/helpers.js:93 msgid "True" -msgstr "" +msgstr "Tosi" #: templates/js/translated/helpers.js:94 msgid "False" -msgstr "" +msgstr "Epätosi" #: templates/js/translated/label.js:58 msgid "Select Printer" -msgstr "" +msgstr "Valitse tulostin" #: templates/js/translated/label.js:62 msgid "Export to PDF" -msgstr "" +msgstr "Vie PDF-muotoon" #: templates/js/translated/label.js:114 msgid "selected" @@ -10608,13 +10589,13 @@ msgstr "" #: templates/js/translated/modals.js:55 templates/js/translated/modals.js:152 #: templates/js/translated/modals.js:677 msgid "Cancel" -msgstr "" +msgstr "Peruuta" #: templates/js/translated/modals.js:60 templates/js/translated/modals.js:151 #: templates/js/translated/modals.js:745 templates/js/translated/modals.js:1053 #: templates/modals.html:28 templates/modals.html:51 msgid "Submit" -msgstr "" +msgstr "Lähetä" #: templates/js/translated/modals.js:150 msgid "Form Title" @@ -10622,7 +10603,7 @@ msgstr "" #: templates/js/translated/modals.js:439 msgid "Waiting for server..." -msgstr "" +msgstr "Odotetaan palvelinta..." #: templates/js/translated/modals.js:590 msgid "Show Error Information" @@ -10676,23 +10657,23 @@ msgstr "" #: templates/js/translated/notification.js:51 msgid "Age" -msgstr "" +msgstr "Ikä" #: templates/js/translated/notification.js:64 msgid "Notification" -msgstr "" +msgstr "Ilmoitus" #: templates/js/translated/notification.js:223 msgid "Mark as unread" -msgstr "" +msgstr "Merkitse lukemattomaksi" #: templates/js/translated/notification.js:227 msgid "Mark as read" -msgstr "" +msgstr "Merkitse luetuksi" #: templates/js/translated/notification.js:253 msgid "No unread notifications" -msgstr "" +msgstr "Ei lukemattomia ilmoituksia" #: templates/js/translated/notification.js:295 templates/notifications.html:12 msgid "Notifications will load here" @@ -10797,19 +10778,19 @@ msgstr "" #: templates/js/translated/part.js:408 msgid "Create Part" -msgstr "" +msgstr "Luo osa" #: templates/js/translated/part.js:410 msgid "Create another part after this one" -msgstr "" +msgstr "Luo toinen osa tämän jälkeen" #: templates/js/translated/part.js:411 msgid "Part created successfully" -msgstr "" +msgstr "Osan luonti onnistui" #: templates/js/translated/part.js:439 msgid "Edit Part" -msgstr "" +msgstr "Muokkaa osaa" #: templates/js/translated/part.js:441 msgid "Part edited" @@ -10845,7 +10826,7 @@ msgstr "" #: templates/js/translated/part.js:535 msgid "Delete Part" -msgstr "" +msgstr "Poista osa" #: templates/js/translated/part.js:571 msgid "You are subscribed to notifications for this item" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -11278,11 +11307,11 @@ msgstr "" #: templates/js/translated/purchase_order.js:1198 msgid "Add serial numbers" -msgstr "" +msgstr "Lisää sarjanumeroita" #: templates/js/translated/purchase_order.js:1250 msgid "Serials" -msgstr "" +msgstr "Sarjanumerot" #: templates/js/translated/purchase_order.js:1275 msgid "Order Code" @@ -11303,7 +11332,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1368 msgid "Scan Item Barcode" -msgstr "" +msgstr "Skannaa tuotteen viivakoodi" #: templates/js/translated/purchase_order.js:1369 msgid "Scan barcode on incoming item (must not match any existing stock items)" @@ -11393,7 +11422,7 @@ msgstr "" #: templates/js/translated/return_order.js:60 #: templates/js/translated/sales_order.js:86 msgid "Add Customer" -msgstr "" +msgstr "Lisää asiakas" #: templates/js/translated/return_order.js:119 msgid "Create Return Order" @@ -11426,7 +11455,7 @@ msgstr "" #: templates/js/translated/return_order.js:288 #: templates/js/translated/sales_order.js:776 msgid "Invalid Customer" -msgstr "" +msgstr "Virheellinen asiakas" #: templates/js/translated/return_order.js:546 msgid "Receive Return Order Items" @@ -11548,7 +11577,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1040 msgid "Invoice" -msgstr "" +msgstr "Lasku" #: templates/js/translated/sales_order.js:1207 msgid "Add Shipment" @@ -11744,11 +11773,11 @@ msgstr "" #: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 msgid "Enter serial number" -msgstr "" +msgstr "Syötä sarjanumero" #: templates/js/translated/stock.js:581 msgid "Enter a serial number" -msgstr "" +msgstr "Syötä sarjanumero" #: templates/js/translated/stock.js:601 msgid "No matching serial number" @@ -11796,7 +11825,7 @@ msgstr "" #: templates/js/translated/stock.js:988 msgid "Move" -msgstr "" +msgstr "Siirrä" #: templates/js/translated/stock.js:994 msgid "Count Stock" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12163,7 +12192,7 @@ msgstr "" #: templates/js/translated/table_filters.js:329 #: templates/js/translated/table_filters.js:330 msgid "Serial number" -msgstr "" +msgstr "Sarjanumero" #: templates/js/translated/table_filters.js:260 #: templates/js/translated/table_filters.js:351 @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12209,7 +12238,7 @@ msgstr "" #: templates/js/translated/table_filters.js:306 msgid "In Production" -msgstr "" +msgstr "Tuotannossa" #: templates/js/translated/table_filters.js:307 msgid "Show items which are in production" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" @@ -12407,23 +12436,23 @@ msgstr "" #: templates/js/translated/tables.js:593 msgid "All" -msgstr "" +msgstr "Kaikki" #: templates/navbar.html:45 msgid "Buy" -msgstr "" +msgstr "Osta" #: templates/navbar.html:57 msgid "Sell" -msgstr "" +msgstr "Myy" #: templates/navbar.html:121 msgid "Show Notifications" -msgstr "" +msgstr "Näytä ilmoitukset" #: templates/navbar.html:124 msgid "New Notifications" -msgstr "" +msgstr "Uudet ilmoitukset" #: templates/navbar.html:142 users/models.py:36 msgid "Admin" @@ -12431,11 +12460,11 @@ msgstr "" #: templates/navbar.html:145 msgid "Logout" -msgstr "" +msgstr "Kirjaudu ulos" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "" +msgstr "Tallenna" #: templates/notifications.html:9 msgid "Show all notifications and history" @@ -12503,11 +12532,11 @@ msgstr "" #: templates/socialaccount/login.html:24 msgid "Continue" -msgstr "" +msgstr "Jatka" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" -msgstr "" +msgstr "Virheellinen SSO tarjoaja" #: templates/socialaccount/login.html:31 msgid "The selected SSO provider is invalid, or has not been correctly configured" @@ -12533,7 +12562,7 @@ msgstr "" #: templates/stats.html:18 msgid "Database" -msgstr "" +msgstr "Tietokanta" #: templates/stats.html:26 msgid "Server is running in debug mode" @@ -12541,7 +12570,7 @@ msgstr "" #: templates/stats.html:33 msgid "Docker Mode" -msgstr "" +msgstr "Docker-tila" #: templates/stats.html:34 msgid "Server is deployed using docker" @@ -12561,11 +12590,11 @@ msgstr "" #: templates/stats.html:52 msgid "Server status" -msgstr "" +msgstr "Palvelimen tila" #: templates/stats.html:55 msgid "Healthy" -msgstr "" +msgstr "Terve" #: templates/stats.html:57 msgid "Issues detected" @@ -12581,7 +12610,7 @@ msgstr "" #: templates/stats.html:75 msgid "Email Settings" -msgstr "" +msgstr "Sähköpostiasetukset" #: templates/stats.html:78 msgid "Email settings not configured" @@ -12609,7 +12638,7 @@ msgstr "" #: templates/stock_table.html:36 msgid "Move selected stock items" -msgstr "" +msgstr "Siirrä valitut varastokohteet" #: templates/stock_table.html:37 msgid "Merge selected stock items" @@ -12625,7 +12654,7 @@ msgstr "" #: templates/stock_table.html:42 msgid "Delete selected items" -msgstr "" +msgstr "Poista valitut kohteet" #: templates/stock_table.html:42 msgid "Delete stock" @@ -12633,31 +12662,31 @@ msgstr "" #: templates/yesnolabel.html:4 msgid "Yes" -msgstr "" +msgstr "Kyllä" #: templates/yesnolabel.html:6 msgid "No" -msgstr "" +msgstr "Ei" #: users/admin.py:61 msgid "Users" -msgstr "" +msgstr "Käyttäjät" #: users/admin.py:62 msgid "Select which users are assigned to this group" -msgstr "" +msgstr "Valitse mitkä käyttäjät on määritetty tähän ryhmään" #: users/admin.py:199 msgid "The following users are members of multiple groups:" -msgstr "" +msgstr "Seuraavat käyttäjät ovat useiden ryhmien jäseniä:" #: users/admin.py:222 msgid "Personal info" -msgstr "" +msgstr "Henkilökohtaiset tiedot" #: users/admin.py:223 msgid "Permissions" -msgstr "" +msgstr "Oikeudet" #: users/admin.py:226 msgid "Important dates" @@ -12669,29 +12698,29 @@ msgstr "" #: users/models.py:238 msgid "Group" -msgstr "" +msgstr "Ryhmä" #: users/models.py:241 msgid "View" -msgstr "" +msgstr "Näytä" #: users/models.py:241 msgid "Permission to view items" -msgstr "" +msgstr "Oikeus tarkastella kohteita" #: users/models.py:243 msgid "Permission to add items" -msgstr "" +msgstr "Oikeus lisätä kohteita" #: users/models.py:245 msgid "Change" -msgstr "" +msgstr "Muuta" #: users/models.py:245 msgid "Permissions to edit items" -msgstr "" +msgstr "Oikeus muokata kohteita" #: users/models.py:247 msgid "Permission to delete items" -msgstr "" +msgstr "Oikeus poistaa kohteita" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index d67bc7ea12..ed9b7d90d3 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:26\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -52,12 +52,12 @@ msgstr "Entrer la date" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "L'adresse e-mail principale fournie n'est pas valide." msgid "The provided email domain is not approved." msgstr "Le domaine e-mail fourni n'est pas approuvé." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -237,7 +237,7 @@ msgstr "Fichier manquant" msgid "Missing external link" msgstr "Lien externe manquant" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Sélectionnez un fichier à joindre" msgid "Link" msgstr "Lien" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -279,9 +279,9 @@ msgstr "Commentaire du fichier" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Choix invalide" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Nom" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Doit être un nombre valide" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL du fichier image distant" msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Tchèque" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Danois" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Grec" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Espagnol" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Espagnol (Mexique)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Perse" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Français" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hébreu" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Hongrois" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italien" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japonais" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Coréen" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Néerlandais" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norvégien" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugais" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugais (Brésilien)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Russe" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Slovénien" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Suédois" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Thaïlandais" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamien" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Chinois" @@ -618,196 +617,199 @@ msgstr "Backend d'email non configuré" msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "En attente" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Placé" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Terminé" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Annulé" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Perdu" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Retourné" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "En Cours" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Expédié" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Attention requise" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Endommagé" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Détruit" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Rejeté" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "En quarantaine" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Ancienne entrée de suivi de stock" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Article en stock créé" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Article de stock modifié" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Numéro de série attribué" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Stock comptabilisé" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Stock ajouté manuellement" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Stock supprimé manuellement" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Emplacement modifié" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Installé dans l'assemblage" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Retiré de l'assemblage" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Composant installé" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Composant retiré" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Séparer de l'élément parent" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Articles de stock fusionnés" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Converti en variante" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Envoyé au client" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Retourné par le client" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "La sortie de l'ordre de construction a été créée" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Sortie de l'ordre de construction terminée" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Consommé par ordre de construction" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Envoyé au client" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Retourné par le client" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Fabrication" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "Retour" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Informations système" msgid "About InvenTree" msgstr "À propos d'InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" @@ -887,9 +889,9 @@ msgstr "Choix invalide pour la fabrication parente" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "BuildOrder associé a cette fabrication" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "État de la construction" msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Code de lot" @@ -1029,7 +1031,7 @@ msgstr "Code de lot" msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Date d'achèvement cible" 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:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Date d'achèvement" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Responsable" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1139,11 +1141,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction, 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:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" @@ -1165,8 +1167,8 @@ msgstr "Assemblage" msgid "Build to allocate parts" msgstr "Construction à laquelle allouer des pièces" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Stock d'origine de l'article" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Quantité entière requise pour les pièces à suivre" 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:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Allouer automatiquement les numéros de série" 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:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1305,8 +1307,8 @@ msgstr "Les numéros de série suivants existent déjà, ou sont invalides" msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "Accepter les articles de stock qui n'ont pas été complètement alloué msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" @@ -1435,8 +1437,8 @@ msgstr "La quantité nécessaire n'a pas encore été complétée" msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Article du BOM" @@ -1456,7 +1458,7 @@ msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de constructi msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" @@ -1473,7 +1475,7 @@ msgstr "La sortie de la construction ne peut pas être spécifiée pour l'alloca msgid "This stock item has already been allocated to this build output" msgstr "Cet article de stock a déjà été alloué à cette sortie de construction" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" @@ -1637,8 +1639,8 @@ 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:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "Cette construction était due le %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "En retard" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Terminé" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,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:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Destination" @@ -1966,7 +1968,7 @@ msgstr "Mise à jour" msgid "Timestamp of last update" msgstr "Date de la dernière mise à jour" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "Copier les templates de paramètres de catégorie" 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:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Modèle" @@ -2269,10 +2271,10 @@ msgstr "Modèle" msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Assemblage" @@ -2280,8 +2282,8 @@ msgstr "Assemblage" 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:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Composant" @@ -2289,7 +2291,7 @@ msgstr "Composant" 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:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Achetable" @@ -2297,8 +2299,8 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Vendable" @@ -2306,10 +2308,10 @@ msgstr "Vendable" msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Traçable" @@ -2317,10 +2319,10 @@ msgstr "Traçable" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Virtuelle" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Actif" @@ -3392,9 +3395,8 @@ msgstr "Titre" msgid "Published" msgstr "Publié" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Auteur" @@ -3410,7 +3412,7 @@ msgstr "Lu" msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Adresse e-mail de contact" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Fabricant" @@ -3642,7 +3644,7 @@ msgstr "Nom du paramètre" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Valeur du paramètre" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Fournisseur" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "Description de la pièce du fournisseur" msgid "Note" msgstr "Note" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "coût de base" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" @@ -3763,7 +3765,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "plusieurs" @@ -3780,7 +3782,7 @@ msgstr "Commande multiple" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Disponible" @@ -3854,8 +3856,8 @@ msgstr "Télécharger l'image depuis l'URL" msgid "Delete image" msgstr "Supprimer image" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "Supprimer image" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Client" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé" msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Commande d’achat" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "Inconnu" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date." -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "Créé par" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "Utilisateur ou groupe responsable de cette commande" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "reçu par" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "expédié par" -#: order/models.py:854 +#: order/models.py:857 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:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 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:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "Contexte" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "supprimé" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "Commande" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "Reçu" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "La pièce virtuelle ne peut pas être affectée à une commande" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "Seules les pièces vendues peuvent être attribuées à une commande" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "Ligne" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "Article" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 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:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Code-barres" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:568 +#: order/serializers.py:569 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:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 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:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "Révision" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "L'IPN doit correspondre au modèle de regex {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "Catégorie" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "Date" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "Requis" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "Données" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "Validée" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "Votre environnement utilise une version obsolète de git. Cela empêche InvenTree de charger les détails de l'extension." - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Aucune action spécifiée" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "Non du Plugin" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "Extension Intégrée" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Extension" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "Résultat" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 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:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "Extensions" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "Les extensions tierces ne sont pas activées pour cette installation d'InvenTree" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "Informations sur le plugin" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "aucune information de version fournie" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "Chemin d'installation" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "Stock bas" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "Le plugin a été installé" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "État de la commande" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "En suspens" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "Assigné à moi" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "Inclure les emplacements" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "Inclure les sous-catégories" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "Code de lot" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "Pièces actives" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "État de la construction" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "Inclure les pièces des sous-catégories" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "Afficher les pièces actives" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "La pièce a un numéro de pièce interne" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "Achetable" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index f7d43003c2..59a6985d94 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -52,12 +52,12 @@ msgstr "הזן תאריך סיום" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "" @@ -237,7 +237,7 @@ msgstr "קובץ חסר" msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "בחר קובץ לצירוף" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "בחר קובץ לצירוף" msgid "Link" msgstr "קישור" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -279,9 +279,9 @@ msgstr "הערת קובץ" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "בחירה שגויה" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "שם" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "גרמנית" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "יוונית" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "אנגלית" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "ספרדית" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "ספרדית (מקסיקנית)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "צרפתית" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "עברית" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "איטלקית" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "יפנית" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "קוריאנית" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "הולנדית" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "נורווגית" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "פולנית" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "רוסית" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "שוודית" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "תאילנדית" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "טורקית" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "ווייטנאמית" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "סינית" @@ -618,196 +617,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "בהמתנה" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "מוקם" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "הושלם" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "מבוטל" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "אבד" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "הוחזר" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "נשלח" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "מצב טוב" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "דרושה תשומת לב" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "פגום" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "הרוס" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "נדחה" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "מיקום שונה" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "נשלח ללקוח" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "הוחזר מלקוח" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "נשלח ללקוח" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "הוחזר מלקוח" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "ייצור" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "מידע אודות המערכת" msgid "About InvenTree" msgstr "" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +889,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1031,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1167,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "לא פורטה הפעולה" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 43c4248407..2e0e8437ab 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -52,12 +52,12 @@ msgstr "Dátum megadása" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "A megadott elsődleges email cím nem valós." msgid "The provided email domain is not approved." msgstr "A megadott email domain nincs jóváhagyva." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -237,7 +237,7 @@ msgstr "Hiányzó fájl" msgid "Missing external link" msgstr "Hiányzó külső link" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -279,9 +279,9 @@ msgstr "Leírás, bővebb infó" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Érvénytelen választás" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Név" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "A távoli kép URL-je" msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Cseh" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Dán" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Német" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Görög" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Angol" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Spanyol (Mexikói)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Fárszi/Perzsa" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Francia" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Héber" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Magyar" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Olasz" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japán" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Koreai" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Holland" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norvég" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Lengyel" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugál" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Orosz" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Szlovén" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Svéd" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Tháj" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Török" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnámi" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Kínai" @@ -618,196 +617,199 @@ msgstr "Email backend nincs beállítva" msgid "InvenTree system health checks failed" msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Függőben" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Kiküldve" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Kész" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Törölve" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Elveszett" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Visszaküldve" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "Folyamatban" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Kiszállítva" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "Rendben" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Ellenőrizendő" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Sérült" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Megsemmisült" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Elutasított" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "Karanténban" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Örökölt készlet követési bejegyzés" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Készlet tétel létrehozva" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Szerkeszett készlet tétel" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Hozzárendelt sorozatszám" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Készlet leleltározva" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Készlet manuálisan hozzáadva" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Készlet manuálisan elvéve" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Hely megváltozott" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "Készletadatok frissítve" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Gyártmányba beépült" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Gyártmányból eltávolítva" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Beépült összetevő tétel" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Eltávolított összetevő tétel" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Szülő tételből szétválasztva" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Összevont készlet tétel" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Alkatrészváltozattá alakítva" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Vevőnek kiszállítva" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Vevőtől visszaérkezett" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Gyártási utasítás kimenete elkészült" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Gyártási utasítás kimenete kész" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "Gyártási utasítás kimenete visszautasítva" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Gyártásra felhasználva" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "Vevői rendelésre kiszállítva" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "Megrendelésre érkezett" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "Visszavéve" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Vevőnek kiszállítva" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Vevőtől visszaérkezett" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Folyamatban" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "Visszavétel" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "Javítás" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "Visszatérítés" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "Csere" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Visszatérítés" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "Elutasított" @@ -855,7 +857,7 @@ msgstr "Rendszerinformáció" msgid "About InvenTree" msgstr "Verzió információk" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" @@ -887,9 +889,9 @@ msgstr "Hibás választás a szülő gyártásra" msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Gyártási állapot" msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Batch kód" @@ -1029,7 +1031,7 @@ msgstr "Batch kód" msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Befejezés cél dátuma" 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:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Elkészítés dátuma" @@ -1062,16 +1064,16 @@ 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:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Felelős" @@ -1120,9 +1122,9 @@ 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:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1139,11 +1141,11 @@ msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő 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:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" @@ -1165,8 +1167,8 @@ msgstr "Gyártás" msgid "Build to allocate parts" msgstr "Gyártás amihez készletet foglaljunk" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Forrás készlet tétel" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett 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:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése" 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:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1305,8 +1307,8 @@ msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1420,7 +1422,7 @@ msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" @@ -1436,8 +1438,8 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve" msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1457,7 +1459,7 @@ msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" @@ -1474,7 +1476,7 @@ msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatr 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:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" @@ -1638,8 +1640,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1664,22 +1666,22 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Késésben" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Kész" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1728,7 +1730,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:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Cél" @@ -1967,7 +1969,7 @@ msgstr "Frissítve" msgid "Timestamp of last update" msgstr "Legutóbbi frissítés időpontja" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2260,9 +2262,9 @@ msgstr "Kategória paraméter sablonok másolása" 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:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Sablon" @@ -2270,10 +2272,10 @@ msgstr "Sablon" msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Gyártmány" @@ -2281,8 +2283,8 @@ msgstr "Gyártmány" 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:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Összetevő" @@ -2290,7 +2292,7 @@ msgstr "Összetevő" 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:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Beszerezhető" @@ -2298,8 +2300,8 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Értékesíthető" @@ -2307,10 +2309,10 @@ msgstr "Értékesíthető" msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Követésre kötelezett" @@ -2318,10 +2320,10 @@ msgstr "Követésre kötelezett" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Virtuális" @@ -3286,7 +3288,7 @@ msgid "Price break quantity" msgstr "Ársáv mennyiség" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3309,11 +3311,12 @@ msgstr "Végpont ahol ez a webhook érkezik" msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Aktív" @@ -3393,9 +3396,8 @@ msgstr "Cím" msgid "Published" msgstr "Közzétéve" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Szerző" @@ -3411,7 +3413,7 @@ msgstr "Elolvasva" msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3533,7 +3535,7 @@ msgid "Contact email address" msgstr "Kapcsolattartó email címe" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3599,7 +3601,7 @@ msgstr "Válassz alkatrészt" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Gyártó" @@ -3643,7 +3645,7 @@ msgstr "Paraméter neve" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3654,7 +3656,7 @@ msgid "Parameter value" msgstr "Paraméter értéke" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3678,7 +3680,7 @@ 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:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3687,7 +3689,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Beszállító" @@ -3721,7 +3723,7 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3730,11 +3732,11 @@ msgstr "Beszállítói alkatrész leírása" msgid "Note" msgstr "Megjegyzés" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "alap költség" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" @@ -3764,7 +3766,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "többszörös" @@ -3781,7 +3783,7 @@ msgstr "Többszörös rendelés" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Elérhető" @@ -3855,8 +3857,8 @@ msgstr "Kép letöltése URL-ről" msgid "Delete image" msgstr "Kép törlése" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3865,7 +3867,7 @@ msgstr "Kép törlése" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Vevő" @@ -4347,7 +4349,7 @@ msgstr "QC kód" msgid "QR code" msgstr "QR kód" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4356,11 +4358,11 @@ msgstr "QR kód" msgid "Total Price" msgstr "Teljes ár" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4374,7 +4376,7 @@ msgstr "Nincs egyező beszerzési rendelés" msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4383,533 +4385,533 @@ msgstr "Beszerzési rendelés" msgid "Return Order" msgstr "Visszavételi utasítás" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "Ismeretlen" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "Megrendelés pénzneme" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "Megrendeléshez használt pénznem (hagyd üresen a cég alapértelmezett pénznemének használatához)" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "A kapcsolattartó nem egyezik a kiválasztott céggel" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "Rendelés leírása (opcionális)" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:238 +#: order/models.py:241 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:247 +#: order/models.py:250 msgid "Created By" msgstr "Készítette" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "Kapcsolattartó ehhez a rendeléshez" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "érkeztette" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:442 +#: order/models.py:445 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:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:777 +#: order/models.py:780 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:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "szállította" -#: order/models.py:854 +#: order/models.py:857 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:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak" -#: order/models.py:864 +#: order/models.py:867 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:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "Kontextus" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "törölve" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "Rendelés" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1222 +#: order/models.py:1225 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:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "Szállítás dátuma" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1589 +#: order/models.py:1592 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:1591 +#: order/models.py:1594 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:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 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:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "Sor" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "Tétel" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "Visszavételi utasítás azonosító" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "Visszavételi utasítás állapota" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "Csak szériaszámos tételek rendelhetők visszaszállítási utasításhoz" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "Visszavételi dátum" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "Rendelés lezárása teljesítetlen sortételek esetén is" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:432 +#: order/serializers.py:433 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:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Vonalkód" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "Beolvasott vonalkód" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:568 +#: order/serializers.py:569 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:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "Visszavételi utasítás sortétel" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavételi utasítással" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "Csak folyamatban lévő megrendelés tételeit lehet bevételezni" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "Sortétel pénzneme" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "Késésben lévő beszerzés" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "A {po} beszerzési rendelés most már késésben van" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "Késésben lévő vevői rendelés" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "A {so} vevői rendelés most már késésben van" @@ -5310,12 +5312,12 @@ msgstr "A {part} egységára {price}-ra módosítva" 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/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Alkatrész neve" @@ -5324,19 +5326,19 @@ msgstr "Alkatrész neve" msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "Változat" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Kulcsszavak" @@ -5357,11 +5359,11 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5385,7 +5387,7 @@ msgstr "Felhasználva ebben" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "Lefoglalva" @@ -5394,11 +5396,11 @@ msgstr "Lefoglalva" msgid "Building" msgstr "Gyártásban" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "Maximum költség" @@ -5415,7 +5417,7 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5438,7 +5440,7 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "Alkatrész IPN" @@ -5452,35 +5454,35 @@ msgstr "Minimum ár" msgid "Maximum Price" msgstr "Maximum ár" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "Érvényes" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -5498,106 +5500,106 @@ msgstr "Elérhető készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "Szerkezeti" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz." -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "Ikon" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "Ikon (opcionális)" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, 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:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN mezőnek egyeznie kell a '{pat}' mintával" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:875 +#: part/models.py:876 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:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5605,252 +5607,251 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén msgid "Category" msgstr "Kategória" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:894 +#: part/models.py:895 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:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:974 +#: part/models.py:975 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:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:996 +#: part/models.py:997 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:1002 +#: part/models.py:1003 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:1008 +#: part/models.py:1009 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:1013 +#: part/models.py:1014 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:1018 +#: part/models.py:1019 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:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1028 +#: part/models.py:1029 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:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "Felhasználó aki felelős ezért az alkatrészért" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5860,330 +5861,330 @@ msgstr "Teljes készlet a leltárkor" msgid "Date" msgstr "Dátum" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Riport" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3232 +#: part/models.py:3238 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:3249 +#: part/models.py:3255 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:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "Kötelező" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3288 +#: part/models.py:3294 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:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3294 +#: part/models.py:3300 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:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "Adat" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "Szint" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "Opcionális" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "Fogyóeszköz" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:3789 +#: part/models.py:3795 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:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:3811 +#: part/models.py:3817 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:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:3817 +#: part/models.py:3823 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:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 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:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4051 +#: part/models.py:4057 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:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -7142,10 +7143,6 @@ msgstr "Az alkatrész képe nem található" msgid "Part Pricing" msgstr "Alkatrész árak" -#: plugin/apps.py:55 -msgid "Your environment 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:27 msgid "No action specified" msgstr "Nincs megadva művelet" @@ -7238,7 +7235,7 @@ msgstr "Plugin beállítás" msgid "Plugin Configurations" msgstr "Plugin beállítások" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "Kulcs" @@ -7254,23 +7251,19 @@ msgstr "PluginNeve a pluginnak" msgid "Is the plugin active" msgstr "Aktív-e a plugin" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "Nem elérhető" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "Példa plugin" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "Beépített plugin" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "Módszer" @@ -7278,21 +7271,17 @@ msgstr "Módszer" msgid "No author found" msgstr "Nincs szerző" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "Nincs dátum" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "A pluginhoz minimum {v} verzió kell" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "A pluginhoz maximum {v} verzió kell" @@ -7329,38 +7318,46 @@ 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:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "Forrás URL" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 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:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "Csomag neve" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 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:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "Bővítmény telepítésének megerősítése" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 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:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "Tlepítés nincs megerősítve" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "Vagy csomag nevet vagy URL-t meg kell adni" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" @@ -7521,12 +7518,12 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "Teszt" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "Eredmény" @@ -7625,27 +7622,27 @@ msgstr "Törlés ha kimerül" msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 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" @@ -7804,104 +7801,104 @@ msgstr "Egy egység beszerzési ára a beszerzés időpontjában" msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1389 +#: stock/models.py:1390 #, 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:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "A sorozatszám egész számok listája kell legyen" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/models.py:1473 +#: stock/models.py:1474 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:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1503 +#: stock/models.py:1504 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:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:1678 +#: stock/models.py:1679 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:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "Teszt neve" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "Tesztek megjegyzései" @@ -8682,7 +8679,7 @@ msgid "Plugins" msgstr "Pluginok" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Plugin Telepítése" @@ -8690,49 +8687,28 @@ msgstr "Plugin Telepítése" msgid "External plugins are not enabled for this InvenTree installation" msgstr "Külső pluginok nincsenek engedélyezve" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "Verzió" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "Aktív pluginok" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "Inaktív pluginok" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "Plugin hibatároló" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "Szakasz" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Üzenet" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "Beépített" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "Minta" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "Plugin információ" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "Verzió" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "nincs megadva verzió információ" @@ -8765,6 +8741,11 @@ msgstr "Ez a plugin a lokális kiszolgáló útvonalon található" msgid "Installation path" msgstr "Telepítési útvonal" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "Beépített" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "Ez egy beépített plugin amit nem lehet letiltani" @@ -10881,7 +10862,7 @@ msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "Alacsony készlet" @@ -11096,10 +11077,58 @@ msgstr "Minimum mennyiség" msgid "Minimum Stock Level" msgstr "Minimális készlet" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "Minta" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "A plugin telepítve lett" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "Pénznem adatok lekérdezése sikertelen" @@ -12073,23 +12102,23 @@ msgid "Has project code" msgstr "Van projektszáma" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "Rendelés állapota" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "Kintlévő" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "Hozzám rendelt" @@ -12110,7 +12139,7 @@ msgid "Allow Variant Stock" msgstr "Készlet változatok engedélyezése" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "Van árazás" @@ -12125,12 +12154,12 @@ msgstr "Helyekkel együtt" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "Alkategóriákkal együtt" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "Értesítés beállítva" @@ -12172,7 +12201,7 @@ msgid "Batch code" msgstr "Batch kód" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "Aktív alkatrész" @@ -12285,52 +12314,52 @@ msgstr "Teszten megfelelt" msgid "Include Installed Items" msgstr "Beépített tételekkel együtt" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "Gyártási állapot" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "Alkategóriákkal együtt" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "Aktív alkatrészek megjelenítése" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "Elérhető" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "Van IPN-je" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "Van belső cikkszáma" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "Készleten" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "Beszerezhető" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "Volt leltár" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 93205ffc44..dafd1939a1 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:53\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -52,12 +52,12 @@ msgstr "Masukkan tanggal" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -237,7 +237,7 @@ msgstr "File tidak ditemukan" msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Pilih file untuk dilampirkan" msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -279,9 +279,9 @@ msgstr "Komentar file" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Pilihan tidak valid" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Nama" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL file gambar external" msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Ceko" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Denmark" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Jerman" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Yunani" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Inggris" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Spanyol (Meksiko)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Persia" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Perancis" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Ibrani" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Hungaria" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Itali" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Jepang" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Korea" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Belanda" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norwegia" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polandia" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugis" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugis (Brasil)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Rusia" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Swedia" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Thai" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turki" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnam" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Cina" @@ -618,196 +617,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Diletakkan" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Selesai" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Dibatalkan" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Hilang" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Dikembalikan" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Dikirim" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Butuh perhatian" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Rusak" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Hancur" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Ditolak" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Item stok dibuat" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Item stok diubah" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Nomor seri yang ditetapkan" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Stok terhitung" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Stok yang ditambahkan manual" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Stok yang dikurangi manual" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Lokasi berubah" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Dirakit ke" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Diambil dari" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Komponen terpasang" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Komponen terlepas" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Dipisah dari item induk" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Pisah item dari barang induk" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Stok item digabungkan" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Dikonversi ke variasi" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Terkirim ke pelanggan" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Dikembalikan pelanggan" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Output order produksi dibuat" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Order output produksi selesai" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Terpakai oleh order produksi" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Terkirim ke pelanggan" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Dikembalikan pelanggan" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Produksi" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Informasi Sistem" msgid "About InvenTree" msgstr "Tentang InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" @@ -887,9 +889,9 @@ msgstr "Pilihan produksi induk tidak valid" msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Produksi induk dari produksi ini" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Status pembuatan" msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Kode Kelompok" @@ -1029,7 +1031,7 @@ msgstr "Kode Kelompok" msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Target tanggal selesai" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Tanggal selesai" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Penanggung Jawab" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1139,11 +1141,11 @@ msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" @@ -1165,8 +1167,8 @@ msgstr "Produksi" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Sumber stok item" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Alokasikan nomor seri secara otomatis" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" @@ -1435,8 +1437,8 @@ msgstr "Jumlah produksi yang diperlukan masih belum cukup" msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Item tagihan material" @@ -1456,7 +1458,7 @@ msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" @@ -1473,7 +1475,7 @@ msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak te msgid "This stock item has already been allocated to this build output" msgstr "Stok item ini telah dialokasikan ke hasil produksi ini" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN harus sesuai dengan pola regex {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Tidak ada tindakan yang ditentukan" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index a89e765f5e..e92fdf5506 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -52,12 +52,12 @@ msgstr "Inserisci la data" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "L'indirizzo email principale fornito non è valido." msgid "The provided email domain is not approved." msgstr "L'indirizzo di posta elettronica fornito non è approvato." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -237,7 +237,7 @@ msgstr "File mancante" msgid "Missing external link" msgstr "Link esterno mancante" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Seleziona file da allegare" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Seleziona file da allegare" msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -279,9 +279,9 @@ msgstr "Commento del file" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Scelta non valida" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Nome" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Deve essere un numero valido" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL del file immagine remota" msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Ceco" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Danese" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Spagnolo (Messicano)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Persiano" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Ungherese" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portoghese" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portoghese (Brasile)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Sloveno" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Cinese" @@ -618,196 +617,199 @@ msgstr "Server di posta non configurato" msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "In attesa" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Inviato" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Completo" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Annullato" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Perso" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Reso" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "In corso" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Spedito" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Attenzione necessaria" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Danneggiato" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Distrutto" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Respinto" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "In quarantena" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Voce di tracciamento stock preesistente" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Elemento stock creato" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Elemento stock modificato" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Numero di serie assegnato" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Stock contato" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Stock aggiunto manualmente" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Stock rimosso manualmente" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Posizione cambiata" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Installato nell'assemblaggio" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Rimosso dall'assemblaggio" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Componente installato" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Elemento componente rimosso" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Diviso dall'elemento genitore" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Elemento stock raggruppato" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Convertito in variante" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Inviato al cliente" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Restituito dal cliente" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Genera l'output dell'ordine creato" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Build order output completato" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Impegnato dall'ordine di costruzione" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "Spedito contro l'ordine di vendita" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "Ricevuto contro l'ordine di acquisto" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "Restituito contro l'ordine di ritorno" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Inviato al cliente" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Restituito dal cliente" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Produzione" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "Indietro" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "Riparare" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "Rimborso" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "Sostituire" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Rimborso" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "Rifiuta" @@ -855,7 +857,7 @@ msgstr "Informazioni sistema" msgid "About InvenTree" msgstr "Informazioni Su InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" @@ -887,9 +889,9 @@ msgstr "Scelta non valida per la produzione genitore" msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Stato Produzione" msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Codice Lotto" @@ -1029,7 +1031,7 @@ msgstr "Codice Lotto" msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Data completamento obiettivo" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Data di completamento" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Responsabile" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1139,11 +1141,11 @@ msgstr "L'elemento di compilazione deve specificare un output poiché la parte p 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:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" @@ -1165,8 +1167,8 @@ msgstr "Produzione" msgid "Build to allocate parts" msgstr "Costruisci per allocare gli articoli" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Origine giacenza articolo" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Quantità totale richiesta per articoli rintracciabili" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Numeri di Serie Assegnazione automatica" msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" @@ -1305,8 +1307,8 @@ msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegn msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Accetta Incompleta" @@ -1435,8 +1437,8 @@ msgstr "La quantità di produzione richiesta non è stata completata" msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1456,7 +1458,7 @@ msgstr "gli elementi degli articoli della distinta base devono puntare alla stes msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" @@ -1473,7 +1475,7 @@ msgstr "L'output di produzione non deve essere specificato per l'ubicazione dell msgid "This stock item has already been allocated to this build output" msgstr "Questa giacenza di magazzino è già stato assegnato a questa produzione" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzione" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "Questa produzione era in scadenza il %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "In ritardo" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Completato" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "Risorse di magazzino" 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:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Destinazione" @@ -1966,7 +1968,7 @@ msgstr "Aggiornato" msgid "Timestamp of last update" msgstr "Orario dell'ultimo aggiornamento" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Modello" @@ -2269,10 +2271,10 @@ msgstr "Modello" msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Assemblaggio" @@ -2280,8 +2282,8 @@ msgstr "Assemblaggio" 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:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Componente" @@ -2289,7 +2291,7 @@ msgstr "Componente" 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:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Acquistabile" @@ -2297,8 +2299,8 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Vendibile" @@ -2306,10 +2308,10 @@ msgstr "Vendibile" msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Tracciabile" @@ -2317,10 +2319,10 @@ msgstr "Tracciabile" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Virtuale" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "Quantità prezzo limite" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "Scadenza in cui questa notifica viene ricevuta" msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Attivo" @@ -3392,9 +3395,8 @@ msgstr "Titolo" msgid "Published" msgstr "Pubblicato" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autore" @@ -3410,7 +3412,7 @@ msgstr "Letto" msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Indirizzo email" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Seleziona articolo" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Produttore" @@ -3642,7 +3644,7 @@ msgstr "Nome parametro" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Fornitore" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "Descrizione articolo fornitore" msgid "Note" msgstr "Nota" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "costo base" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" @@ -3763,7 +3765,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "multiplo" @@ -3780,7 +3782,7 @@ msgstr "Ordine multiplo" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Disponibile" @@ -3854,8 +3856,8 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "Elimina immagine" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Cliente" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "Prezzo Totale" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Ordine D'Acquisto" msgid "Return Order" msgstr "Restituisci ordine" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "Sconosciuto" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "Il contatto non corrisponde all'azienda selezionata" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "Descrizione dell'ordine (opzionale)" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:238 +#: order/models.py:241 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:247 +#: order/models.py:250 msgid "Created By" msgstr "Creato Da" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "Punto di contatto per questo ordine" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "ricevuto da" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "spedito da" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "L'ordine non può essere completato perché nessun articolo è stato assegnato" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "Contesto" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "eliminato" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "Ordine" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "Ricevuto" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "Linea" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "Elemento" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "Risultati" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Codice a Barre" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "Codice a barre scansionato" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "Ordine D'Acquisto in ritardo" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "L'ordine d'acquisto {po} è in ritardo" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "Ordini Di Vendita in ritardo" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "L'ordine di vendita {so} è ora in ritardo" @@ -5309,12 +5311,12 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome Articolo" @@ -5323,19 +5325,19 @@ msgstr "Nome Articolo" msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "Revisione" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Parole Chiave" @@ -5356,11 +5358,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5384,7 +5386,7 @@ msgstr "Utilizzato In" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "Allocato" @@ -5393,11 +5395,11 @@ msgstr "Allocato" msgid "Building" msgstr "In Costruzione" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -5414,7 +5416,7 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "IPN Articolo" @@ -5451,35 +5453,35 @@ msgstr "Prezzo Minimo" msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "Valido" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Posizione Predefinita" @@ -5497,106 +5499,106 @@ msgstr "Disponibilità in magazzino" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "Strutturale" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate." -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "Icona" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "Icona (facoltativa)" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "L'articolo '{p1}' è usato nella Distinta Base per '{p2}' (ricorsivo)" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corrispondere al modello regex {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "È Template" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Category" msgstr "Categoria" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:974 +#: part/models.py:975 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:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1028 +#: part/models.py:1029 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:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" msgid "Date" msgstr "Data" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Report" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "Richiesto" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "Dati" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "Livello" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "Opzionale" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "Consumabile" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "Convalidato" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -7141,10 +7142,6 @@ msgstr "Immagine articolo non trovata" msgid "Part Pricing" msgstr "Prezzo Articolo" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "Il tuo ambiente ha una versione git obsoleta. Questo impedisce a InvenTree di caricare i dettagli del plugin." - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Nessuna azione specificata" @@ -7237,7 +7234,7 @@ msgstr "Configurazione Plugin" msgid "Plugin Configurations" msgstr "Configurazioni Plugin" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "Key" @@ -7253,23 +7250,19 @@ msgstr "PluginName del plugin" msgid "Is the plugin active" msgstr "Il plugin è attivo" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "Non disponibile" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "Plugin di esempio" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "Plugin Integrato" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "Metodo" @@ -7277,21 +7270,17 @@ msgstr "Metodo" msgid "No author found" msgstr "Nessun autore trovato" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "Nessuna data trovata" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "Scegli l'impostazione" msgid "A setting with multiple choices" msgstr "Un'impostazione con scelte multiple" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "URL di origine" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Fonte per il pacchetto - questo può essere un registro personalizzato o un percorso VCS" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "Nome Pacchetto" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Nome per il Pacchetto Plugin - può anche contenere un indicatore di versione" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "Conferma installazione plugin" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Questo plugin verrà installato ora nell'istanza corrente. L'istanza andrà in manutenzione." -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "Installazione non confermata" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "Deve essere fornito uno dei nomi del pacchetto URL" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "Risultati Test" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "Risultato" @@ -7624,27 +7621,27 @@ msgstr "Elimina al esaurimento" msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" @@ -7803,104 +7800,104 @@ msgstr "Prezzo di acquisto unitario al momento dell’acquisto" msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "La quantità non deve superare la quantità disponibile ({n})" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "I numeri di serie devono essere numeri interi" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "Nome Test" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "Note del test" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "Plugin" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Installa Plugin" @@ -8689,49 +8686,28 @@ msgstr "Installa Plugin" msgid "External plugins are not enabled for this InvenTree installation" msgstr "I plugin esterni non sono abilitati per questa installazione InvenTree" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "Versione" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "Plugin attivi" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "Plugin inattivi" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "Plugin Errore Stack" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "Stage" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Messaggio" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "Integrato" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "Esempio" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "Informazioni Plugin" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "Versione" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "nessuna informazione di versione fornita" @@ -8764,6 +8740,11 @@ msgstr "Questo plugin è stato trovato in un percorso server locale" msgid "Installation path" msgstr "Percorso d'installazione" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "Integrato" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "Questo è un plugin integrato che non può essere disabilitato" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "Copia Fattura dei Materiali" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "In esaurimento" @@ -11095,10 +11076,58 @@ msgstr "Quantità Massima" msgid "Minimum Stock Level" msgstr "Livello Minimo Stock" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "Esempio" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "Il Plugin è stato installato" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "Errore durante il recupero dati" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "Ha il codice del progetto" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "Stato dell'ordine" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "In Sospeso" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "Assegnato a me" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "Varianti consentite" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "Prezzo" @@ -12124,12 +12153,12 @@ msgstr "Includi posizioni" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "Includi sottocategorie" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "Sottoscritto" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "Codice Lotto" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "Elementi attivi" @@ -12284,52 +12313,52 @@ msgstr "Test superato" msgid "Include Installed Items" msgstr "Includi Elementi Installati" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "Stato Build" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "Includi articoli nelle sottocategorie" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "Visualizza articoli attivi" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "Stock disponibile" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "Ha IPN" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "L'articolo possiede un part number interno" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "In giacenza" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "Acquistabile" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "Ha voci d'inventario" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 4f4c6c4279..880aabe65c 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -52,12 +52,12 @@ msgstr "日付を入力する" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "指定されたプライマリEメールアドレスは無効です。" msgid "The provided email domain is not approved." msgstr "指定されたメールドメインは承認されていません。" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -237,7 +237,7 @@ msgstr "ファイルがありません" msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "添付ファイルを選択" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "添付ファイルを選択" msgid "Link" msgstr "リンク" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -279,9 +279,9 @@ msgstr "ファイルコメント" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "無効な選択です" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "お名前" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "ギリシャ語" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "英語" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "スペイン語" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "スペイン語(メキシコ)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "ヘブライ語" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "ハンガリー語" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "イタリア語" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "日本語" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "韓国語" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "オランダ語" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "ノルウェー語" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "ポルトガル語" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "ポルトガル語 (ブラジル)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "ロシア語" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "スロベニア語" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "スウェーデン語" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "タイ語" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "ベトナム語" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "中国語" @@ -618,196 +617,199 @@ msgstr "メールアドレスが未設定です" msgid "InvenTree system health checks failed" msgstr "InvenTree システムのヘルスチェックに失敗しました" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "処理待ち" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "設置済" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "完了" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "キャンセル済" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "紛失" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "返品済" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "処理中" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "発送済み" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "注意が必要です" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "破損" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "破壊されました" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "却下済み" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "在庫商品を作成しました" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "在庫商品編集済み" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "割り当てられたシリアル番号" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "在庫数" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "手動在庫追加が完了しました" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "手動在庫削除が完了しました" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "ロケーションが変更されました" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "アセンブリへインストールしました" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "アセンブリから削除しました" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "インストール済みのコンポーネント項目" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "コンポーネント項目を削除しました" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "親アイテムから分割する" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "商品在庫をマージしました" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "顧客に送信されました" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "顧客からの返品" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "組立注文の出力が作成されました" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "組立注文の出力が完了しました" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "顧客に送信されました" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "顧客からの返品" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "生産" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "システム情報" msgid "About InvenTree" msgstr "InvenTree について" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +889,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1031,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1167,8 @@ msgstr "組立" msgid "Build to allocate parts" msgstr "パーツを割り当てるためにビルドする" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "テンプレート" @@ -2269,10 +2271,10 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "アセンブリ" @@ -2280,8 +2282,8 @@ msgstr "アセンブリ" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "コンポーネント" @@ -2289,7 +2291,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "購入可能" @@ -2297,8 +2299,8 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "追跡可能" @@ -2317,10 +2319,10 @@ msgstr "追跡可能" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "製造元" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "仕入先" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "カテゴリ" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "アクションが指定されていません" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index cd6af45512..f4ff874d4c 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -52,12 +52,12 @@ msgstr "날짜 입력" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "" @@ -237,7 +237,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "첨부할 파일을 선택하세요" msgid "Link" msgstr "링크" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "외부 URL로 링크" @@ -279,9 +279,9 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "이름" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "체코어" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "독일어" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "그리스어" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "영어" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "스페인어" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "스페인어 (멕시코)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "파르시어/페르시아어" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "프랑스어" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "히브리어" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "헝가리어" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "이탈리아어" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "일본어" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "한국어" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "네덜란드어" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "노르웨이어" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "폴란드어" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "러시아어" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "스웨덴어" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "태국어" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "터키어" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "베트남어" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "중국어" @@ -618,196 +617,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "취소됨" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "파손됨" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "파괴됨" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "시스템 정보" msgid "About InvenTree" msgstr "" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +889,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1031,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" @@ -1139,11 +1141,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1167,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "구입 가능" @@ -2297,8 +2299,8 @@ msgstr "구입 가능" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "판매 가능" @@ -2306,10 +2308,10 @@ msgstr "판매 가능" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "작성자" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "URL에서 이미지 다운로드" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "고객" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "바코드" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "데이터" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "키" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "일련번호가 이미 존재합니다" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "버전" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "메시지" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "버전" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "부품 명세서 복사" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index cfe1dc4879..0af7efebbb 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -52,12 +52,12 @@ msgstr "Voer datum in" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Het opgegeven primaire e-mailadres is ongeldig." msgid "The provided email domain is not approved." msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -237,7 +237,7 @@ msgstr "Ontbrekend bestand" msgid "Missing external link" msgstr "Externe link ontbreekt" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Bestand als bijlage selecteren" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -279,9 +279,9 @@ msgstr "Bestand opmerking" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Ongeldige keuze" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Naam" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL van extern afbeeldingsbestand" msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Tsjechisch" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Deens" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Spaans (Mexicaans)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Perzisch" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Hongaars" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugees" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugees (Braziliaans)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Sloveens" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Chinees" @@ -618,196 +617,199 @@ msgstr "E-mailbackend niet geconfigureerd" msgid "InvenTree system health checks failed" msgstr "InvenTree gezondsheidschecks mislukt" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Bezig" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Geplaatst" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Voltooid" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Geannuleerd" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Kwijt" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Retour" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "In Behandeling" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Verzonden" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Aandacht nodig" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Beschadigd" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Verwoest" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Afgewezen" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "In quarantaine geplaatst" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Verouderde volgcode" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Voorraaditem gemaakt" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Bewerken voorraadartikel" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Serienummer toegewezen" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Voorraad geteld" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Voorraad handmatig toegevoegd" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Voorraad handmatig verwijderd" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Locatie veranderd" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Gemonteerd" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Gedemonteerd" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Geïnstalleerd componentartikel" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Verwijderd componentartikel" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Splits van bovenliggend item" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Geconverteerd naar variant" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Naar klant verzonden" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Geretourneerd door klant" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Product aangemaakt" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Product voltooid" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Verbruikt door productieorder" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "Verzonden onder verkooporder" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "Ontvangen onder verkooporder" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "Geretourneerd onder retourorder" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Naar klant verzonden" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Geretourneerd door klant" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Productie" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "Retour" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "Herstel" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "Restitutie" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "Vervangen" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Restitutie" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "Afwijzen" @@ -855,7 +857,7 @@ msgstr "Systeeminformatie" msgid "About InvenTree" msgstr "Over InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" @@ -887,9 +889,9 @@ msgstr "Ongeldige keuze voor bovenliggende productie" msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Productiestatus" msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Batchcode" @@ -1029,7 +1031,7 @@ msgstr "Batchcode" msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Verwachte opleveringsdatum" 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:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Verantwoordelijke" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1139,11 +1141,11 @@ msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofd 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:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" @@ -1165,8 +1167,8 @@ msgstr "Product" msgid "Build to allocate parts" msgstr "Product om onderdelen toe te wijzen" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Bron voorraadartikel" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" 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:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" @@ -1305,8 +1307,8 @@ msgstr "De volgende serienummers bestaan al of zijn ongeldig" msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze p msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" @@ -1435,8 +1437,8 @@ msgstr "Vereiste productiehoeveelheid is voltooid" msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1456,7 +1458,7 @@ msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" @@ -1473,7 +1475,7 @@ msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van n msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "Deze productie was verwacht op %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Achterstallig" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Voltooid" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,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:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Bestemming" @@ -1966,7 +1968,7 @@ msgstr "Bijgewerkt" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Sjabloon" @@ -2269,10 +2271,10 @@ msgstr "Sjabloon" msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Samenstelling" @@ -2280,8 +2282,8 @@ msgstr "Samenstelling" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Component" @@ -2289,7 +2291,7 @@ msgstr "Component" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Koopbaar" @@ -2297,8 +2299,8 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Verkoopbaar" @@ -2306,10 +2308,10 @@ msgstr "Verkoopbaar" msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Volgbaar" @@ -2317,10 +2319,10 @@ msgstr "Volgbaar" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Virtueel" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Actief" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Contact e-mailadres" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Onderdeel selecteren" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Fabrikant" @@ -3642,7 +3644,7 @@ msgstr "Parameternaam" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Parameterwaarde" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Leverancier" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "Opmerking" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "basisprijs" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "meerdere" @@ -3780,7 +3782,7 @@ msgstr "Order meerdere" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Beschikbaar" @@ -3854,8 +3856,8 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Klant" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "Totaalprijs" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Inkooporder" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum." -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "ontvangen door" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "Context" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "Order" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "Zending" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "Regel" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "Artikel" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "Achterstallige inkooporder" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Inkooporder {po} is nu achterstallig" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "Achterstallige Verkooporder" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Verkooporder {so} is nu achterstallig" @@ -5309,12 +5311,12 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "Toegewezen" @@ -5393,11 +5395,11 @@ msgstr "Toegewezen" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standaard locatie" @@ -5497,106 +5499,106 @@ msgstr "Beschikbare Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN moet overeenkomen met regex-patroon {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "Afbeelding van onderdeel niet gevonden" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Geen actie gespecificeerd" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Bericht" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "Order status" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 629cee2d27..fe0f15a916 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -52,12 +52,12 @@ msgstr "Oppgi dato" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Den oppgitte primære e-postadressen er ikke gyldig." msgid "The provided email domain is not approved." msgstr "Det oppgitte e-postdomenet er ikke godkjent." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -237,7 +237,7 @@ msgstr "Fil mangler" msgid "Missing external link" msgstr "Mangler eksternlenke" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Velg fil å legge ved" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Velg fil å legge ved" msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -279,9 +279,9 @@ msgstr "Kommentar til fil" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Ugyldig valg" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Navn" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Må være et gyldig tall" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URLtil ekstern bildefil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Tsjekkisk" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Spansk (Meksikansk)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasil)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Kinesisk" @@ -618,196 +617,199 @@ msgstr "E-post backend ikke konfigurert" msgid "InvenTree system health checks failed" msgstr "InvenTree's-systemets helsesjekker mislyktes" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Ventende" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Plassert" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Fullført" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Kansellert" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Tapt" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Returnert" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Sendt" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Trenger oppmerksomhet" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Skadet" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Ødelagt" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Avvist" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "I Karantene" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Gammel lagervare sporingsoppføring" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Lagevare opprettet" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Redigerte lagervare" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Tildelte serienummer" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Lager opptelt" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Lagerbeholdning manuelt lagt til" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Lagerbeholdning manuelt fjernet" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Posisjon endret" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "Lager oppdatert" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Montert i sammenstilling" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Fjernet fra sammenstilling" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Montert komponentartikkel" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Fjernet komponentartikkel" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Skill ut fra overordnet artikkel" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Skill ut fra underartikkel" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Sammenslåtte lagervarer" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Konvertert til variant" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Sendt til kunde" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Returnert av kunde" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Build ordreutgang opprettet" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Build ordreutg fullført" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Antatt som byggeordre" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "Sendt til salgsordre" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "Mottatt mot innkjøpsordre" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "Returnert mot returordre" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Sendt til kunde" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Returnert av kunde" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Produksjon" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "Retur" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "Reparasjon" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "Refusjon" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "Erstatt" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Refusjon" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "Avvis" @@ -855,7 +857,7 @@ msgstr "Systeminformasjon" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" @@ -887,9 +889,9 @@ msgstr "Ugylding valg for overordnet build" msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Build order som denne build er tildelt til" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Produksjonsstatus" msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Batchkode" @@ -1029,7 +1031,7 @@ msgstr "Batchkode" msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Forventet sluttdato" 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:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Fullført dato" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Ansvarlig" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1139,11 +1141,11 @@ msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er mar msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" @@ -1165,8 +1167,8 @@ msgstr "Produksjon" msgid "Build to allocate parts" msgstr "Bygge for å tildele deler" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Kildelagervare" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Heltallsverdi kreves for sporbare deler" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Automatisk tildeling av serienummer" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" @@ -1305,8 +1307,8 @@ msgstr "Følgende serienummer finnes allerede eller er ugyldige" msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren" msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Godta uferdig" @@ -1435,8 +1437,8 @@ msgstr "Nødvendig produksjonsmengde er ikke nådd" msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Stykklisteartikkel" @@ -1456,7 +1458,7 @@ msgstr "bom_item.part må peke på den samme delen som produksjonsordren" msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" @@ -1473,7 +1475,7 @@ msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede dele msgid "This stock item has already been allocated to this build output" msgstr "Denne lagervaren er allerede tildelt til denne produksjonsartikkelen" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "Denne produksjonsordren forfalt %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Forfalt" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Fullført" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "Lagerkilde" 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:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Destinasjon" @@ -1966,7 +1968,7 @@ msgstr "Oppdatert" msgid "Timestamp of last update" msgstr "Tidsstempel for forrige oppdatering" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Mal" @@ -2269,10 +2271,10 @@ msgstr "Mal" msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Sammenstilling" @@ -2280,8 +2282,8 @@ msgstr "Sammenstilling" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Komponent" @@ -2289,7 +2291,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Kjøpbar" @@ -2297,8 +2299,8 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Salgbar" @@ -2306,10 +2308,10 @@ msgstr "Salgbar" msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Sporbar" @@ -2317,10 +2319,10 @@ msgstr "Sporbar" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Virtuelle" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "Antall for prisbrudd" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "Endepunktet hvor denne webhooken er mottatt" msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Aktiv" @@ -3392,9 +3395,8 @@ msgstr "Tittel" msgid "Published" msgstr "Publisert" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Forfatter" @@ -3410,7 +3412,7 @@ msgstr "Les" msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Kontakt e-post" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Velg del" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Produsent" @@ -3642,7 +3644,7 @@ msgstr "Parameternavn" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Parameterverdi" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Leverandør" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "Leverandørens delbeskrivelse" msgid "Note" msgstr "Notat" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift på lager)" @@ -3763,7 +3765,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "flere" @@ -3780,7 +3782,7 @@ msgstr "Bestill flere" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Tilgjengelig" @@ -3854,8 +3856,8 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "Slett bilde" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "Slett bilde" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Kunde" @@ -4346,7 +4348,7 @@ msgstr "QC kode" msgid "QR code" msgstr "QR-kode" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "QR-kode" msgid "Total Price" msgstr "Total pris" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "Ingen samsvarende innkjøpsordre funnet" msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Innkjøpsordre" msgid "Return Order" msgstr "Returordre" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "Ukjent" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "Ordre valuta" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "Kontakten samsvarer ikke med valgt firma" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "Ordrebeskrivelse (valgfritt)" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Lenke til ekstern side" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Forventet dato for levering av ordre. Bestillingen vil være forfalt etter denne datoen." -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "Opprettet av" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "Bruker eller gruppe ansvarlig for ordren" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "Kontaktpunkt for denne ordren" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "Status for innkjøpsordre" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "Leverandørreferanse" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "Leverandør ordrereferanse" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "mottatt av" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "Utgivelsesdato" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "Dato bestilling ble sendt" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "Dato ordre ble fullført" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "Leveringsdato" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "sendt av" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "Bestillingen kan ikke fullføres da ingen deler er tilordnet" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige varepartier" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "Linje referanse" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "Linje notat" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "Kontekst" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "slettet" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "Ordre" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "Mottatt" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan ikke tildele lagervare til en linje med annen del" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "Linje" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "Artikkel" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "Utfall" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "Ordren er ikke åpen" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "Innkjøpsvaluta" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "Leverandørdel må angis" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "Innkjøpsordre må angis" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "Leverandør må samsvare med innkjøpsordre" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "Ordrelinje" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Strekkode" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "Skannet strekkode" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "Målplassering må angis" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "Følgende serienummer er allerede tildelt" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "Artikler kan bare mottas mot ordrer som pågår" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "Valuta for linje" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "Forfalt Innkjøpsordre" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Innkjøpsordre {po} er nå forfalt" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "Forfalt Salgsordre" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Salgsordre {so} er nå forfalt" @@ -5309,12 +5311,12 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "Standard nøkkelord for deler i denne kategorien" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "Ikon" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Del '{p1}' er brukt i stykklisten til '{p2}' (rekursivt)" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Internt delnummer må matche regex-mønster {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "Delnavn" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" msgid "Category" msgstr "Kategori" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "Delkategori" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "Internt delnummer" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "Kontrollsum for stykkliste" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "Lagret sjekkliste-kontrollsum" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "Bruker ansvarlig for denne delen" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "Minimal stykklistekostnad" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "Maksimal stykklistekostnad" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "Antall" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" msgid "Date" msgstr "Dato" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Rapport" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "Test med dette navnet finnes allerede for denne delen" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "Data" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "Nivå" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "Stykklistenivå" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i stykkliste" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "Stykklisteantall for denne stykklisteartikkelen" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "Valgfritt" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "Denne stykklisteartikkelen er valgfri" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "Forbruksvare" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne sykklisteartikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "Stykklisteartikkel-referanse" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "Stykklisteartikkel-notater" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "Stykklistelinje kontrollsum" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "Godkjent" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "Denne stykklisteartikkelen er godkjent" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne stykklisteartikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne stykklisteartikkelen" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "Stykklisteartikkel-erstatning" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "Overordnet stykklisteartikkel" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Ingen handling spesifisert" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "Valginnstilling" msgid "A setting with multiple choices" msgstr "En innstilling med flere valg" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "Kilde-URL" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Kilde for pakken - dette kan være et egendefinert register eller en VCS-sti" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "Pakkenavn" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Navn på utvidelsespakke – kan også inneholde en versjonsindikator" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "Bekreft installasjon av utvidelse" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Dette vil installere denne utvidelsen nå i gjeldende instans. Instansen vil gå i vedlikehold." -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "Installasjonen ble ikke bekreftet" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "Enten pakkenavn eller URL må angis" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "Ingen gyldige objekter angitt for mal" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "Testresultater" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "Innkjøpspris per enhet på kjøpstidspunktet" msgid "Converted to part" msgstr "Konvertert til del" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "Delen er ikke angitt som sporbar" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "Antall må være heltall" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({n})" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "Serienumre må være en liste over tall" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "Lagervare har blitt tildelt en salgsordre" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "Lagervare er montert i en annen artikkel" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "Lagervare inneholder andre artikler" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "Lagervare har blitt tildelt til en kunde" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "Lagervare er for tiden i produksjon" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "Duplisert lagervare" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "Lagervarer må referere til samme del" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "Lagervarer må referere til samme leverandørdel" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "Lagerstatuskoder må være like" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "Lagervare kan ikke flyttes fordi den ikke er på lager" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "Testnavn" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "Testnotater" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "Utvidelser" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Installer Utvidelse" @@ -8689,49 +8686,28 @@ msgstr "Installer Utvidelse" msgid "External plugins are not enabled for this InvenTree installation" msgstr "Eksterne utvidelser er ikke aktivert for denne InvenTree-installasjonen" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "Versjon" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "Aktive utvidelser" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "Inaktive utvidelser" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "Utvidelse feilstack" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "Stadium" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Melding" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "Innebygd" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "Eksempel" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "Informasjon om utvidelse" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "Versjon" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "ingen versjonsinformasjon angitt" @@ -8764,6 +8740,11 @@ msgstr "Denne utvidelsen ble funnet på en lokal serversti" msgid "Installation path" msgstr "Installasjonssti" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "Innebygd" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "Dette er en innebygd utvidelse som ikke kan deaktiveres" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "Kopier Stykkliste" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "Lite lager" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "Eksempel" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index dd77969955..e8730fffa6 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -52,12 +52,12 @@ msgstr "Wprowadź dane" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Podany podstawowy adres e-mail jest nieprawidłowy." msgid "The provided email domain is not approved." msgstr "Podany e-mail domeny nie został zatwierdzony." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -237,7 +237,7 @@ msgstr "Brak pliku" msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Wybierz plik do załączenia" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Wybierz plik do załączenia" msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -279,9 +279,9 @@ msgstr "Komentarz pliku" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Błędny wybór" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Nazwa" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "Adres URL zdalnego pliku obrazu" msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Czeski" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Duński" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Hiszpański (Meksyk)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Perski" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Węgierski" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugalski" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugalski (Brazylijski)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Słoweński" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Chiński" @@ -618,196 +617,199 @@ msgstr "Nie skonfigurowano backendu e-mail" msgid "InvenTree system health checks failed" msgstr "Sprawdzanie poziomu zdrowia InvenTree nie powiodło się" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "W toku" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Umieszczony" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Zakończono" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Anulowano" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Zagubiono" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Zwrócone" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Wysłane" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Wymaga uwagi" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Uszkodzone" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Zniszczone" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Odrzucone" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "Poddany kwarantannie" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Starsze śledzenie wpisów stanu magazynowego" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Utworzono element magazynowy" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Edytuj pozycję magazynową" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Przypisano numer seryjny" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Zapas policzony" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Zapas dodany ręcznie" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Zapas usunięty ręcznie" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Lokalizacja zmieniona" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Zainstalowano do montażu" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Usunięto z montażu" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Zainstalowano element komponentu" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Usunięto element komponentu" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Podziel z pozycji nadrzędnej" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Przekonwertowano na wariant" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Wyślij do klienta" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Zwrócony od klienta" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Dane wyjściowe kolejności kompilacji utworzone" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Dane wyjściowe kolejności kompilacji ukończone" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Zużyte przez kolejność kompilacji" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Wyślij do klienta" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Zwrócony od klienta" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Produkcja" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Informacja systemowa" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" @@ -887,9 +889,9 @@ msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Kod partii" @@ -1029,7 +1031,7 @@ msgstr "Kod partii" msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Docelowy termin zakończenia" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Data zakończenia" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Odpowiedzialny" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1139,11 +1141,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" @@ -1165,8 +1167,8 @@ msgstr "Budowa" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Element BOM" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Zaległe" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Zakończone" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,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:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Przeznaczenie" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Szablon" @@ -2269,10 +2271,10 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Złożenie" @@ -2280,8 +2282,8 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Komponent" @@ -2289,7 +2291,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -2297,8 +2299,8 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -2306,10 +2308,10 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Możliwość śledzenia" @@ -2317,10 +2319,10 @@ msgstr "Możliwość śledzenia" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Wirtualny" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Aktywny" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Kontaktowy adres e-mail" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Wybierz część" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Producent" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Dostawca" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "Uwaga" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "wielokrotność" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Dostępne" @@ -3854,8 +3856,8 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Klient" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "Cena całkowita" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Zlecenie zakupu" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "odebrane przez" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "Odebrane" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "Linia" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "Komponent" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Kod kreskowy" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nazwa komponentu" @@ -5323,19 +5325,19 @@ msgstr "Nazwa komponentu" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "Wersja" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5384,7 +5386,7 @@ msgstr "Użyte w" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "Przydzielono" @@ -5393,11 +5395,11 @@ msgstr "Przydzielono" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "IPN komponentu" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "Ważny" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -5497,106 +5499,106 @@ msgstr "Dostępna ilość" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, 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:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN musi być zgodny z wyrażeniem regularnym {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "Kategoria" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1002 +#: part/models.py:1003 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:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1028 +#: part/models.py:1029 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:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "Data" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "Wymagane" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "Dane" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "Poziom" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "Opcjonalne" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "Nie znaleziono obrazka części" msgid "Part Pricing" msgstr "Cennik części" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Nie określono działania" @@ -7237,7 +7234,7 @@ msgstr "Konfiguracja wtyczki" msgid "Plugin Configurations" msgstr "Konfiguracja wtyczek" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "Klucz" @@ -7253,23 +7250,19 @@ msgstr "Nazwa wtyczki" msgid "Is the plugin active" msgstr "Czy wtyczka jest aktywna" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Wtyczka" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "Ustawienie jednokrotnego wyboru" msgid "A setting with multiple choices" msgstr "Ustawienie wielokrotnego wyboru" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "Źródłowy adres URL" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 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:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "Nazwa pakietu" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 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:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "Potwierdź instalację wtyczki" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 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:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "Instalacja nie została potwierdzona" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "Wynik" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "Data ważności" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1389 +#: stock/models.py:1390 #, 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:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "Nazwa testu" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "Wtyczki" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Instaluj wtyczkę" @@ -8689,49 +8686,28 @@ msgstr "Instaluj wtyczkę" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "Wersja" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "Nieaktywne wtyczki" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "Błąd stosu wtyczki" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "Etap" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Wiadomość" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "Informacje o wtyczce" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "Wersja" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "brak dostarczonych informacji o wersji" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "Ścieżka instalacji" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "Status zamówienia" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "Przypisane do mnie" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "Obesrwowane" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "Kod partii" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "Aktywne części" @@ -12284,52 +12313,52 @@ msgstr "Test pomyślny" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "Pokaż aktywne części" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "Posiada IPN" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "Część posiada wewnętrzny numer części" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "Możliwość zakupu" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index d065342b13..b2ef83de5b 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:53\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -52,12 +52,12 @@ msgstr "Insira uma Data" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "O endereço primário de e-mail não é válido." msgid "The provided email domain is not approved." msgstr "O domínio de e-mail providenciado não foi aprovado." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Quantidade invalida" @@ -237,7 +237,7 @@ msgstr "Arquivo nao encontrado" msgid "Missing external link" msgstr "Link externo nao encontrado" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Selecione arquivo para anexar" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Selecione arquivo para anexar" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link para URL externa" @@ -279,9 +279,9 @@ msgstr "Comentario sobre arquivo" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Escolha inválida" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Nome" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL do arquivo de imagem remoto" msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Tcheco" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Dinamarquês" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Alemão" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Grego" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Inglês" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Espanhol" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Espanhol (Mexicano)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Persa" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "Finlandês" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Francês" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebraico" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japonês" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Holandês" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norueguês" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polonês" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Português" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Português (Brasileiro)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Esloveno" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Sueco" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Tailandês" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Chinês" @@ -618,196 +617,199 @@ msgstr "Serviço de fundo do e-mail não foi configurado" msgid "InvenTree system health checks failed" msgstr "Verificação de saúde do sistema InvenTree falhou" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Pendente" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Colocado" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Completado" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Cancelado" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Perdido" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Retornado" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "Em Progresso" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Enviado" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Necessita de atenção" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Danificado" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Destruído" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Rejeitado" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "Em quarentena" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Entrada de rastreamento de estoque antiga" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Item de estoque criado" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Item de estoque editado" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Número de série atribuído" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Estoque contado" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Estoque adicionado manualmente" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Estoque removido manualmente" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Local alterado" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "Estoque atualizado" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Instalado na montagem" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Removido da montagem" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Instalado componente do Item" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Removido componente do Item" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Separado do Item Paternal" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Separar o Item filho" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Itens de estoque mesclados" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Convertido para variável" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Enviado ao cliente" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Retornado ao cliente" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Criação dos pedidos de produção criado" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Criação do pedido de produção completado" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "Saída do pedido de produção rejeitada" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Usado na ordem de produção" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "Enviado contra o Pedido de Venda" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "Recebido referente ao Pedido de Compra" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "Devolvido contra Pedido de Retorno" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Enviado ao cliente" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Retornado ao cliente" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Produção" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "Devolução" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "Consertar" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "Reembolsar" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "Substituir" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Reembolsar" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "Recusar" @@ -855,7 +857,7 @@ msgstr "Informação do Sistema" msgid "About InvenTree" msgstr "Sobre o InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" @@ -887,9 +889,9 @@ msgstr "Escolha de Produção parental inválida" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Progresso da produção" msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Código de Lote" @@ -1029,7 +1031,7 @@ msgstr "Código de Lote" msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Data alvo final" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Data de conclusão" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Usuário que emitiu esta ordem de produção" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Responsável" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde à Ordem de Produção" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" @@ -1139,11 +1141,11 @@ msgstr "Item de produção deve especificar a saída, pois peças mestres estão msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" @@ -1165,8 +1167,8 @@ msgstr "Produção" msgid "Build to allocate parts" msgstr "Faça uma Produção para atribuir peças" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Origem do item em estoque" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "Quantidade inteira necessária para peças rastreáveis" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "Alocar Números de Série Automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" @@ -1305,8 +1307,8 @@ msgstr "Os seguintes números de série já existem ou são inválidos" msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" @@ -1435,8 +1437,8 @@ msgstr "Quantidade de produção requerida não foi concluída" msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "Item LDM" @@ -1456,7 +1458,7 @@ msgstr "bin_item.part deve indicar a mesma peça da ordem de produção" msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" @@ -1473,7 +1475,7 @@ msgstr "Saída de produção deve ser definida para alocação de peças não ra msgid "This stock item has already been allocated to this build output" msgstr "O item em estoque já foi alocado para essa saída de produção" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "Essa produção expirou em %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Expirou" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Concluído" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "Origem do estoque" msgid "Stock can be taken from any available location." msgstr "O estoque pode ser tirado de qualquer local disponível." -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Destino" @@ -1966,7 +1968,7 @@ msgstr "Atualizado" msgid "Timestamp of last update" msgstr "Tempo da última atualização" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Modelo" @@ -2269,10 +2271,10 @@ msgstr "Modelo" msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Montagem" @@ -2280,8 +2282,8 @@ msgstr "Montagem" msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Componente" @@ -2289,7 +2291,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Comprável" @@ -2297,8 +2299,8 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Vendível" @@ -2306,10 +2308,10 @@ msgstr "Vendível" msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Rastreável" @@ -2317,10 +2319,10 @@ msgstr "Rastreável" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Virtual" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "Ponto final em qual o gancho web foi recebido" msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Ativo" @@ -3392,9 +3395,8 @@ msgstr "Título" msgid "Published" msgstr "Publicado" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" @@ -3410,7 +3412,7 @@ msgstr "Lida" msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Endereço de e-mail do contato" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Selecionar peça" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Fabricante" @@ -3642,7 +3644,7 @@ msgstr "Nome do parâmetro" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Valor do Parâmetro" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Fornecedor" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "Descrição da peça fornecedor" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "Descrição da peça fornecedor" msgid "Note" msgstr "Anotação" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "preço base" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" @@ -3763,7 +3765,7 @@ msgstr "Quantidade de embalagens" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "múltiplo" @@ -3780,7 +3782,7 @@ msgstr "Pedir múltiplos" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Disponível" @@ -3854,8 +3856,8 @@ msgstr "Baixar imagem do URL" msgid "Delete image" msgstr "Excluir imagem" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "Excluir imagem" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Cliente" @@ -4346,7 +4348,7 @@ msgstr "Código QC" msgid "QR code" msgstr "Código QR" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "Código QR" msgid "Total Price" msgstr "Preço Total" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "Nenhum pedido de compra correspondente encontrado" msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Pedido de Compra" msgid "Return Order" msgstr "Devolver pedido" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "Desconhecido" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "Preço total deste pedido" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "Moeda do pedido" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "O contato não corresponde à empresa selecionada" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "Descrição do pedido (opcional)" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Link para página externa" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data esperada para entrega do pedido. A ordem estará atrasada após esta data." -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "Criado por" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "Usuário ou grupo responsável para este pedido" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "Ponto de contato para este pedido" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "Situação do pedido de compra" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "Código de referência do pedido fornecedor" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "recebido por" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "Data de emissão" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "Dia que o pedido foi feito" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "enviado por" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "O pedido não pode ser concluído, pois nenhuma parte foi atribuída" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Pedido não pode ser concluído, pois, há envios incompletos" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo a partir da ordem)" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "Contexto" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "excluído" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "Pedido" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "Recebido" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "Onde o Comprador quer que este item seja armazenado?" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "Peça virtual não pode ser atribuída a um pedido de venda" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "Remessa" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "Não é possível alocar uma linha sem uma peça" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "Linha" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "Item" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "Referência de Pedidos de Devolução" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "Estado do pedido de retorno" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "Somente itens da série podem ser devolvidos" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "Selecione o item a ser devolvido pelo cliente" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "Data de Recebimento" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "Data que o pedido a ser devolvido foi recebido" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "Despesa/gastos" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "Gastos com esta linha de itens" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "Gastos para reparar e/ou devolver esta linha de itens" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "O pedido não está aberto" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "Moeda de preço de compra" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "A peça do fornecedor deve ser especificada" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "O pedido de compra deve ser especificado" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "O fornecedor deve corresponder o pedido de compra" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "Itens de linha" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "Digite o número de série para itens de estoque recebidos" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "Código de barras lido" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "Código de barras já em uso" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "Loca de destino deve ser especificado" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "Nenhuma correspondência encontrada para os seguintes números de série" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "Os seguintes números de série já estão alocados" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "Devolver item do pedido" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "Item do pedido não bate com a ordem de devolução" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "Item do pedido já foi recebido" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "Itens só podem ser recebidos de pedidos em processamento" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "Tipo de moeda para o item do pedido" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "Pedido de compra vencido" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Pedido de compra {po} está atrasada" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "Pedido de venda vencido" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Pedido de venda {so} está atrasada" @@ -5309,12 +5311,12 @@ msgstr "Atualizado {part} unid.-preço para {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID da Peça" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome da Peça" @@ -5323,19 +5325,19 @@ msgstr "Nome da Peça" msgid "Part Description" msgstr "Descrição da Peça" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "Revisão" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Palavras chave" @@ -5356,11 +5358,11 @@ msgstr "ID Local Padrão" msgid "Default Supplier ID" msgstr "ID de Fornecedor Padrão" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -5384,7 +5386,7 @@ msgstr "Usado em" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "Alocado" @@ -5393,11 +5395,11 @@ msgstr "Alocado" msgid "Building" msgstr "Produzindo" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "Custo Máximo" @@ -5414,7 +5416,7 @@ msgstr "Nome Paternal" msgid "Category Path" msgstr "Caminho da Categoria" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "ID Item LDM" msgid "Parent IPN" msgstr "IPN Paternal" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "IPN da Peça" @@ -5451,35 +5453,35 @@ msgstr "Preço Mínimo" msgid "Maximum Price" msgstr "Preço Máximo" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "Pedido de compra recebido" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "Pedidos de Venda Feitos" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "Estoque produzido por Ordem de Produção" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "Estoque obrigatório para Pedido de Produção" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "Válido" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Local Padrão" @@ -5497,106 +5499,106 @@ msgstr "Estoque Disponível" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Categorias de Peça" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "Estrutural" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas." -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "Palavras-chave Padrão" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "Palavras-chave padrão para peças nesta categoria" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "Ícone" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "Ícone (opcional)" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "Escolha inválida para peça parental" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Parte '{p1}' é usada na LDM para '{p2}' (recursiva)" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corresponder ao padrão regex {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "Item em estoque com este número de série já existe" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "Uma parte com este Nome, IPN e Revisão já existe." -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" msgid "Category" msgstr "Categoria" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "Fornecedor padrão da peça" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "Validade (em dias) para itens do estoque desta peça" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "Essa peça pode ser construída a partir de outras peças?" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "Essa peça pode ser usada para construir outras peças?" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "Esta é uma peça virtual, como um software de produto ou licença?" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "Usuário responsável por esta peça" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "Número de entradas de estoques individuais no momento do balanço" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "Estoque total disponível no momento do balanço" msgid "Date" msgstr "Data" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Reportar" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "Modelos de teste só podem ser criados para peças rastreáveis" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "O teste com este nome já existe para esta peça" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "Requerido" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "Este teste requer um valor ao adicionar um resultado de teste?" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "Dados" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "Nível" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "Opcional" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "Consumível" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "Validado" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "O item da LDM foi calidado" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da LDM é herdado por LDMs para peças variáveis" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "Permitir variações" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "A peça de substituição não pode ser a mesma que a peça mestre" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacionamento da peça não pode ser criada com ela mesma" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" @@ -7141,10 +7142,6 @@ msgstr "Imagem da peça não encontrada" msgid "Part Pricing" msgstr "Preço Peça" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "Seu ambiente tem uma versão git desatualizada. Isto impede que o InvenTree carregue detalhes da extensão." - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Nenhuma ação especificada" @@ -7237,7 +7234,7 @@ msgstr "Configuração de Extensão" msgid "Plugin Configurations" msgstr "Configuração de Extensões" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "Chave" @@ -7253,23 +7250,19 @@ msgstr "Nome da Extensão" msgid "Is the plugin active" msgstr "O plug-in está ativo" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "Indisponível" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "Plug-in de exemplo" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "Plugin embutido" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Extensões" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "Método" @@ -7277,21 +7270,17 @@ msgstr "Método" msgid "No author found" msgstr "Nenhum autor encontrado" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "Nenhum dado encontrado" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Extensão requer pelo menos a versão {v}" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Extensão requer no máximo a versão {v}" @@ -7328,38 +7317,46 @@ msgstr "Configurações de Escolha" msgid "A setting with multiple choices" msgstr "Uma configuração com várias escolhas" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "URL de origem" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "Fonte do pacote — este pode ser um registro personalizado ou um caminho de VCS" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "Nome do Pacote" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "Nome para o Pacote da Extensão — também pode conter um indicador de versão" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "Confirmar instalação da extensão" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "Isto instalará a extensão agora na instância atual. A instância irá entrar em manutenção." -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "Instalação não confirmada" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "Qualquer nome do pacote URL deve ser fornecido" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "Nenhum objeto válido fornecido para o modelo" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "Resultados do teste" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "Teste" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "Resultado" @@ -7624,27 +7621,27 @@ msgstr "Excluir quando esgotado" msgid "Expiry Date" msgstr "Data de validade" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" @@ -7803,104 +7800,104 @@ msgstr "Preço de compra unitário único no momento da compra" msgid "Converted to part" msgstr "Convertido para peça" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "Peça não está definida como rastreável" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "Quantidade deve ser inteira" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({n})" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "Números de série devem ser uma lista de números inteiros" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "A quantidade não corresponde aos números de série" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "Números de série já existem" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "Item em estoque foi reservado para um pedido" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "Item em estoque está instalado em outro item" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "item em estoque contem outro(s) items" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "Item em estoque foi reservado para outro cliente" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "Item no estoque está em produção no momento" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "Itens de série não podem ser mesclados" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "Item de estoque duplicado" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "Itens de estoque devem se referir à mesma peça" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "Itens de estoque devem se referir à mesma peça do fornecedor" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "Códigos de estado do estoque devem corresponder" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "Item do estoque não pode ser realocado se não houver estoque da mesma" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "Observações de entrada" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "Deve-se fornecer o valor desse teste" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "O anexo deve ser enviado para este teste" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "Nome de teste" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "Resultado do teste" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "Valor da saída do teste" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "Anexo do resultado do teste" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "Notas do teste" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "Situação dos Pedidos" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "Estado da Produção" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "Tem entradas em balanço" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index 85d1a15c96..5fae4b6286 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: 2023-06-01 21:56+0000\n" +"POT-Creation-Date: 2023-06-05 11:04+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -56,7 +56,7 @@ msgstr "" #: order/models.py:1086 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3004 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 @@ -280,9 +280,9 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3012 +#: part/models.py:3100 part/models.py:3179 part/models.py:3199 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -327,11 +327,10 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 #: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: part/models.py:3399 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -349,7 +348,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 #: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: part/models.py:868 part/models.py:3415 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -421,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3873 +#: InvenTree/serializers.py:60 part/models.py:3896 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2851 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -621,7 +620,7 @@ msgstr "" #: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 #: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" @@ -890,7 +889,7 @@ msgstr "" #: build/models.py:156 order/models.py:356 order/models.py:762 #: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3774 part/templates/part/upload_bom.html:54 +#: part/models.py:3797 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -920,10 +919,10 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 #: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3531 -#: part/models.py:3639 part/models.py:3739 part/models.py:4053 +#: part/models.py:390 part/models.py:2864 part/models.py:2978 +#: part/models.py:3118 part/models.py:3137 part/models.py:3156 +#: part/models.py:3177 part/models.py:3269 part/models.py:3554 +#: part/models.py:3662 part/models.py:3762 part/models.py:4076 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1072,7 +1071,7 @@ msgstr "" #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1193,7 +1192,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2176 #: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3755 +#: part/forms.py:47 part/models.py:2991 part/models.py:3778 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1298,7 +1297,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:668 +#: build/serializers.py:326 stock/api.py:669 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1436,8 +1435,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3662 -#: part/models.py:4045 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3685 +#: part/models.py:4068 msgid "BOM Item" msgstr "" @@ -1664,16 +1663,16 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" @@ -2260,9 +2259,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3536 +#: common/models.py:1162 part/admin.py:55 part/models.py:3559 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2273,7 +2272,7 @@ msgstr "" #: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2282,7 +2281,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2299,7 +2298,7 @@ msgid "Parts are purchaseable by default" msgstr "" #: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2310,7 +2309,7 @@ msgstr "" #: common/models.py:1197 part/admin.py:56 part/models.py:1007 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2321,7 +2320,7 @@ msgstr "" #: common/models.py:1204 part/admin.py:57 part/models.py:1027 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3312,8 +3311,9 @@ msgstr "" #: common/models.py:2360 part/admin.py:50 part/models.py:1022 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3393,9 +3393,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3599,7 +3598,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3654,7 +3653,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:986 part/models.py:3406 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3687,7 +3686,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3721,7 +3720,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3777 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3730,11 +3729,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1918 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1918 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3764,7 +3763,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1920 msgid "multiple" msgstr "" @@ -3781,7 +3780,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3865,7 +3864,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4570,7 +4569,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" @@ -5310,12 +5309,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3643 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3666 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3647 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3670 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5385,7 +5384,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5394,11 +5393,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2929 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2935 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5438,7 +5437,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3651 +#: part/admin.py:274 part/models.py:3674 msgid "Part IPN" msgstr "" @@ -5498,7 +5497,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3592 part/templates/part/category.html:16 +#: part/models.py:74 part/models.py:3615 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5573,7 +5572,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3648 +#: part/models.py:845 part/models.py:3671 msgid "Part name" msgstr "" @@ -5597,7 +5596,7 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3591 +#: part/models.py:882 part/models.py:3197 part/models.py:3614 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5703,154 +5702,153 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1920 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2852 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2869 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2870 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2875 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2876 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2881 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2882 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2887 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2888 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2893 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2894 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2899 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2900 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2905 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2906 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2911 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2912 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2917 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2918 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2923 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2924 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2930 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2936 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2941 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2942 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2947 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2948 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2953 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2954 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2959 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2960 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2979 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2984 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2985 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2992 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2996 part/models.py:3079 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5860,330 +5858,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2997 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3005 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3013 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3018 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3019 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3024 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3025 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3087 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3092 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3093 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3101 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3237 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3254 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3274 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3275 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3280 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3281 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3286 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3287 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3292 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3293 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3298 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3299 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3345 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3350 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3368 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3384 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3400 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3406 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3416 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3422 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3423 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3428 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3429 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3510 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3531 +#: part/models.py:3554 msgid "Parent Part" msgstr "" -#: part/models.py:3536 part/models.py:3597 part/models.py:3598 +#: part/models.py:3559 part/models.py:3620 part/models.py:3621 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3541 +#: part/models.py:3564 msgid "Data" msgstr "" -#: part/models.py:3541 +#: part/models.py:3564 msgid "Parameter Value" msgstr "" -#: part/models.py:3602 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3625 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3603 +#: part/models.py:3626 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3640 +#: part/models.py:3663 msgid "Part ID or part name" msgstr "" -#: part/models.py:3644 +#: part/models.py:3667 msgid "Unique part ID value" msgstr "" -#: part/models.py:3652 +#: part/models.py:3675 msgid "Part IPN value" msgstr "" -#: part/models.py:3655 +#: part/models.py:3678 msgid "Level" msgstr "" -#: part/models.py:3656 +#: part/models.py:3679 msgid "BOM level" msgstr "" -#: part/models.py:3740 +#: part/models.py:3763 msgid "Select parent part" msgstr "" -#: part/models.py:3748 +#: part/models.py:3771 msgid "Sub part" msgstr "" -#: part/models.py:3749 +#: part/models.py:3772 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3755 +#: part/models.py:3778 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3759 part/templates/part/upload_bom.html:58 +#: part/models.py:3782 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3760 +#: part/models.py:3783 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3765 templates/js/translated/bom.js:967 +#: part/models.py:3788 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3766 +#: part/models.py:3789 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3770 part/templates/part/upload_bom.html:55 +#: part/models.py:3793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3771 +#: part/models.py:3794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3774 +#: part/models.py:3797 msgid "BOM item reference" msgstr "" -#: part/models.py:3777 +#: part/models.py:3800 msgid "BOM item notes" msgstr "" -#: part/models.py:3781 +#: part/models.py:3804 msgid "Checksum" msgstr "" -#: part/models.py:3781 +#: part/models.py:3804 msgid "BOM line checksum" msgstr "" -#: part/models.py:3786 templates/js/translated/table_filters.js:144 +#: part/models.py:3809 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3787 +#: part/models.py:3810 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3792 part/templates/part/upload_bom.html:57 +#: part/models.py:3815 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3793 +#: part/models.py:3816 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3798 part/templates/part/upload_bom.html:56 +#: part/models.py:3821 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3799 +#: part/models.py:3822 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3885 stock/models.py:577 +#: part/models.py:3908 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3894 part/models.py:3896 +#: part/models.py:3917 part/models.py:3919 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4012 +#: part/models.py:4035 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4033 +#: part/models.py:4056 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4046 +#: part/models.py:4069 msgid "Parent BOM item" msgstr "" -#: part/models.py:4054 +#: part/models.py:4077 msgid "Substitute part" msgstr "" -#: part/models.py:4069 +#: part/models.py:4092 msgid "Part 1" msgstr "" -#: part/models.py:4073 +#: part/models.py:4096 msgid "Part 2" msgstr "" -#: part/models.py:4073 +#: part/models.py:4096 msgid "Select Related Part" msgstr "" -#: part/models.py:4091 +#: part/models.py:4114 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4095 +#: part/models.py:4118 msgid "Duplicate relationship already exists" msgstr "" @@ -7142,10 +7140,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7197,7 +7191,7 @@ msgid "InvenTree Notifications" msgstr "" #: plugin/builtin/integration/core_notifications.py:35 -msgid "Integrated outgoing notificaton methods" +msgid "Integrated outgoing notification methods" msgstr "" #: plugin/builtin/integration/core_notifications.py:40 @@ -7238,7 +7232,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7254,23 +7248,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 templates/InvenTree/settings/plugin_details.html:47 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7278,21 +7268,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7329,38 +7315,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7629,23 +7623,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:580 +#: stock/api.py:581 msgid "Quantity is required" msgstr "" -#: stock/api.py:587 +#: stock/api.py:588 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:613 +#: stock/api.py:614 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:622 +#: stock/api.py:623 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:640 +#: stock/api.py:641 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8682,7 +8676,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8690,45 +8684,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8761,6 +8738,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -9153,7 +9135,7 @@ msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user_display.html:97 -msgid "Show only sufficent" +msgid "Show only sufficient" msgstr "" #: templates/InvenTree/settings/user_display.html:99 @@ -10877,7 +10859,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11092,10 +11074,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12069,23 +12099,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12106,7 +12136,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12121,12 +12151,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12168,7 +12198,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12281,52 +12311,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 1a97cd5e8f..0aed76a830 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -52,12 +52,12 @@ msgstr "Введите дату" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Указанный основной адрес электронной п msgid "The provided email domain is not approved." msgstr "Указанный домен электронной почты не утверждён." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -237,7 +237,7 @@ msgstr "Файл не найден" msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Выберите файл для вложения" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Выберите файл для вложения" msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -279,9 +279,9 @@ msgstr "Комментарий к файлу" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Неверный выбор" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Название" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Должно быть действительным номером" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Чешский" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Датский" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Испанский (Мексика)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Фарси / Персидский" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Венгерский" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Португальский" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Португальский (Бразильский диалект)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Словенский" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Китайский" @@ -618,196 +617,199 @@ msgstr "Сервер электронной почты не настроен" msgid "InvenTree system health checks failed" msgstr "Ошибка проверки состояния системы InvenTree" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Ожидаемый" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Размещены" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Готово" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Отменено" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Потерян" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Возвращено" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Доставлено" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "Да" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Требует внимания" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Поврежденный" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Разрушено" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Отклоненный" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Отслеживание устаревших запасов" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Товар создан" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Отредактированный товар" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Присвоенный серийный номер" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Склад подсчитан" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Добавлен вручную" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Удалено вручную" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Расположение изменено" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Укомплектовано" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Удалено из сборки" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Установленный элемент компонента" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Удален элемент компонента" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Отделить от родительского элемента" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Объединенные позиции на складе" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Отправлено клиенту" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Возвращено от клиента" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Создан вывод заказа сборки" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Вывод заказа сборки завершён" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Отправлено клиенту" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Возвращено от клиента" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Продукция" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "Возврат" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "Заменить" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Возврат" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Информация о системе" msgid "About InvenTree" msgstr "" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +889,9 @@ msgstr "Неверный выбор для родительской сборки msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Статус сборки" msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Код партии" @@ -1029,7 +1031,7 @@ msgstr "Код партии" msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Дата завершения" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Ответственный" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1139,11 +1141,11 @@ msgstr "Элемент сборки должен указать вывод сб msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" @@ -1165,8 +1167,8 @@ msgstr "Сборка" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Исходный складской предмет" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "BOM Компонент" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Просрочено" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Завершённые" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Назначение" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Шаблон" @@ -2269,10 +2271,10 @@ msgstr "Шаблон" msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Сборка" @@ -2280,8 +2282,8 @@ msgstr "Сборка" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Компонент" @@ -2289,7 +2291,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Можно продавать" @@ -2306,10 +2308,10 @@ msgstr "Можно продавать" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Отслеживание" @@ -2317,10 +2319,10 @@ msgstr "Отслеживание" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "Контактный EMail" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Выберите деталь" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Производитель" @@ -3642,7 +3644,7 @@ msgstr "Наименование параметра" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Значение параметра" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Поставщик" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "Заметка" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Покупатель" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "Общая стоимость" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Заказ на закупку" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "Курс покупки валюты" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих единиц хранения" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Артикул" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Наименование детали" @@ -5323,19 +5325,19 @@ msgstr "Наименование детали" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "Версия" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Ключевые слова" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5384,7 +5386,7 @@ msgstr "Сборки" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "IPN" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -5497,106 +5499,106 @@ msgstr "Доступный запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN должен совпадать с регулярным выражением {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "Ключевые слова для улучшения видимости msgid "Category" msgstr "Категория" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "Категория" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "Изображение детали не найдено" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Действие не указано" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "Автор не найден" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "Дата не найдена" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "Исходная ссылка" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "Код партии" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "Статус сборки" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index 8bbf432a26..fbdcff2a45 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -52,12 +52,12 @@ msgstr "Vnesi datum" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Podana epošta ni veljavna." msgid "The provided email domain is not approved." msgstr "Domena epošte ni podprta." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -237,7 +237,7 @@ msgstr "Manjka datoteka" msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Izberite prilogo" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Izberite prilogo" msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -279,9 +279,9 @@ msgstr "Komentar datoteke" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Nedovoljena izbira" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Ime" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "Povezava do oddaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Češko" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "Danščina" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Nemščina" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Grščina" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Angleščina" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Španščina" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Španščina (Mehiško)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Perzijsko" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Francoščina" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebrejščina" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Madžarščina" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italijanščina" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japonščina" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Korejščina" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Nizozemščina" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norveščina" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Poljščina" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugalščina" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugalščina (Brazilsko)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Ruščina" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Slovenščina" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Švedščina" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Tajščina" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turščina" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamščina" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Kitajščina" @@ -618,196 +617,199 @@ msgstr "Zaledje e-pošte ni nastavljeno" msgid "InvenTree system health checks failed" msgstr "Preverjanje zdravja sistema InvenTree neuspelo" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "V teku" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Postavljeno" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Končano" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Preklicano" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Izgubljeno" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Vrnjeno" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Poslano" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Potrebna pozornost" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Poškodovano" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Uničeno" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Zavrnjeno" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "Dano v karanteno" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Vnos zaloge postavke" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Postavka zaloge ustvarjena" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Urejena postavka zaloge" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Dodeljena serijska številka" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Zaloga prešteta" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Zaloga ročno dodana" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Zaloga ročno odstranjena" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Lokacija spremenjena" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Vstavljeno v sestavo" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Odstranjeno iz sestave" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Vstavljena postavka komponente" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Odstranjena postavka komponente" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Razdeljena od nadrejene postavke" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Razdeljena podrejena postavka" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Združena zaloga postavk" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Spremenjeno v varianto" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Posalno stranki" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Vrnjeno od stranke" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Nalog za izgradnjo ustvarjen" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Nalog za izgradnjo končan" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Porabljeno v nalogu za izgradnjo" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Posalno stranki" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Vrnjeno od stranke" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Proizvodnja" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Sistemske informacije" msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" @@ -887,9 +889,9 @@ msgstr "Neveljavna izbira za nadrejeno izgradnjo" msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Status izgradnje" msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Številka serije" @@ -1029,7 +1031,7 @@ msgstr "Številka serije" msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Rok dokončanja" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Datom končanja" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Odgovoren" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot s msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" @@ -1165,8 +1167,8 @@ msgstr "Izdelava" msgid "Build to allocate parts" msgstr "Izdelaj da prestaviš dele" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Izvorna postavka zaloge" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Notranja številka dela se mora ujemati z vzorcem {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 0f58ec4053..378ac74105 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -52,12 +52,12 @@ msgstr "Ange datum" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Den angivna primära e-postadressen är inte giltig." msgid "The provided email domain is not approved." msgstr "Den angivna e-postdomänen är inte godkänd." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -237,7 +237,7 @@ msgstr "Saknad fil" msgid "Missing external link" msgstr "Extern länk saknas" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Välj fil att bifoga" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Välj fil att bifoga" msgid "Link" msgstr "Länk" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -279,9 +279,9 @@ msgstr "Fil kommentar" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Ogiltigt val" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Namn" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "URL för fjärrbildsfil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "Tjeckiska" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Tyska" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Grekiska" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "Engelska" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "Spanska" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "Spanska (Mexikanska)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "Farsi / Persiska" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Franska" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Hebreiska" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Ungerska" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Italienska" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japanska" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Koreanska" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Nederländska" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norska" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polska" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Portugisiska" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Portugisiska (brasiliansk)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Ryska" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Thailändska" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Turkiska" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamesiska" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Kinesiska" @@ -618,196 +617,199 @@ msgstr "Backend för e-post är inte konfigurerad" msgid "InvenTree system health checks failed" msgstr "InvenTree systemhälsokontroll misslyckades" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Väntar" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Placerad" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Slutför" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "Avbruten" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Förlorad" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "Återlämnad" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Skickad" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "OBS!" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Skadad" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Förstörd" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Avvisad" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "I karantän" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Spårningspost för äldre lager" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Lagerpost skapad" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Redigerade lagerpost" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Tilldelade serienummer" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Lagersaldo beräknat" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Lagerpost manuellt tillagd" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Lagerpost manuellt borttagen" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Platsen har ändrats" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Installerad i montering" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Borttagen från montering" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Installerat komponentobjekt" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Tog bort komponentobjekt" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Dela från överordnat objekt" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Dela underordnat objekt" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "Konverterad till variant" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Skickat till kund" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Returnerad från kund" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Bygg orderutgång skapad" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Bygg orderutgång slutförd" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "Konsumeras av byggorder" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Skickat till kund" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Returnerad från kund" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Produktion" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Systeminformation" msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" @@ -887,9 +889,9 @@ msgstr "Ogiltigt val för överordnad bygge" msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Byggstatus" msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Batchkod" @@ -1029,7 +1031,7 @@ msgstr "Batchkod" msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Datum för slutförande" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum." -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Slutförandedatum" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Ansvarig" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" @@ -1165,8 +1167,8 @@ msgstr "Bygg" msgid "Build to allocate parts" msgstr "Bygg för att allokera delar" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Källa lagervara" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Försenad" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Slutförd" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Mål" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Virtuell" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN måste matcha regex mönster {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "Ingen åtgärd specificerad" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index ce17452597..4081384811 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:53\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -52,12 +52,12 @@ msgstr "ป้อนวันที่" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -237,7 +237,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -279,9 +279,9 @@ msgstr "ความเห็นของไฟล์" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "ชื่อ" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "ภาษาโปรตุเกส" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "ภาษารัสเซีย" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "ภาษาสวีเดน" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "ภาษาไทย" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "ภาษาเวียดนาม" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "ภาษาจีน" @@ -618,196 +617,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "อยู่ระหว่างดำเนินการ" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "สำเร็จแล้ว" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "ยกเลิกแล้ว" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "สูญหาย" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "ส่งคืนแล้ว" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "จัดส่งแล้ว" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "ตกลง" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "ได้รับความเสียหาย" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "ทำลายแล้ว" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "ถูกปฏิเสธ" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "จัดส่งให้ลูกค้าแล้ว" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "จัดส่งให้ลูกค้าแล้ว" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "ข้อมูลระบบ" msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +889,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1031,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1167,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index f702235f1a..7152c423f6 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -52,12 +52,12 @@ msgstr "Tarih giriniz" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Sağlanan e-posta adresi geçerli değil." msgid "The provided email domain is not approved." msgstr "Sağlanan e-posta alanı onaylanmadı." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -237,7 +237,7 @@ msgstr "Eksik dosya" msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Eklenecek dosyayı seç" msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -279,9 +279,9 @@ msgstr "Dosya yorumu" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "Geçersiz seçim" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "Adı" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "İspanyolca(Meksika)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Macarca" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Vietnamca" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Çince" @@ -618,196 +617,199 @@ msgstr "E-posta arka ucu yapılandırılmadı" msgid "InvenTree system health checks failed" msgstr "InvenTree sistem sağlık kontrolü başarısız" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "Bekliyor" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "Sipariş verildi" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Tamamlandı" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "İptal edildi" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "Kayıp" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "İade" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "Sevk edildi" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "TAMAM" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "Dikkat gerekli" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "Hasarlı" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "Kullanılamaz durumda" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "Reddedildi" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "Eski stok izleme girişi" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "Stok kalemi oluşturuldu" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "Düzenlenen stok kalemi" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "Atanan seri numarası" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "Stok sayıldı" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "Stok manuel olarak eklendi" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "Stok manuel olarak çıkarıldı" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "Konum değişti" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "Montajda kullanıldı" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "Montajdan çıkarıldı" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "Bileşen ögesinde kullanıldı" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "Bileşen ögesinden çıkarıldı" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "Üst ögeden ayır" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "Müşteriye gönderildi" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "Müşteriden geri döndü" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "Yapım emri çıktısı oluşturuldu" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "Yapım emri çıktısı tamamlandı" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "Müşteriye gönderildi" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "Müşteriden geri döndü" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "Üretim" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Sistem Bilgisi" msgid "About InvenTree" msgstr "InvenTree Hakkında" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +889,9 @@ msgstr "" msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "Yapım İşi Durumu" msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "Sıra numarası" @@ -1029,7 +1031,7 @@ msgstr "Sıra numarası" msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "Hedef tamamlama tarihi" 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:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "Sorumlu" @@ -1120,9 +1122,9 @@ 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:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktıs msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" @@ -1165,8 +1167,8 @@ msgstr "Yapım İşi" msgid "Build to allocate parts" msgstr "Yapım işi için tahsis edilen parçalar" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "Kaynak stok kalemi" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ 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:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "Vadesi geçmiş" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Tamamlandı" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,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:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "Hedef" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "Şablon" @@ -2269,10 +2271,10 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "Montaj" @@ -2280,8 +2282,8 @@ msgstr "Montaj" 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:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "Bileşen" @@ -2289,7 +2291,7 @@ msgstr "Bileşen" 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:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -2297,8 +2299,8 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "Satılabilir" @@ -2306,10 +2308,10 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "Takip Edilebilir" @@ -2317,10 +2319,10 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "Sanal" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "Aktif" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "İletişim e-posta adresi" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "Parça seçin" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Üretici" @@ -3642,7 +3644,7 @@ msgstr "Parametre adı" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Tedarikçi" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "Not" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "çoklu" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "Mevcut" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "Müşteri" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "DPN" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Varsayılan Konum" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN regex kalıbıyla eşleşmelidir {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "Parça adı" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:862 +#: part/models.py:863 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:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1002 +#: part/models.py:1003 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:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 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:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "Gerekli" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 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:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:3817 +#: part/models.py:3823 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:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "İşlem belirtilmedi" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "Çeşit Stokuna İzin Ver" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "Konumları dahil et" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "DPN Var" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index d9cdd60a00..85bea8a1a5 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:53\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -27,7 +27,7 @@ msgstr "Người dùng không được phân quyền xem mẫu này" #: InvenTree/conversion.py:62 msgid "No value provided" -msgstr "" +msgstr "Chưa cung cấp giá trị" #: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" @@ -52,12 +52,12 @@ msgstr "Nhập ngày" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "Địa chỉ email chính đã cung cấp không hợp lệ." msgid "The provided email domain is not approved." msgstr "Miền email được cung cấp không được phê duyệt." -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" @@ -237,7 +237,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "Chọn file đính kèm" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "Chọn file đính kèm" msgid "Link" msgstr "Liên kết" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -279,9 +279,9 @@ msgstr "Bình luận tệp tin" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 -msgid "Czech" -msgstr "" - #: InvenTree/settings.py:714 -msgid "Danish" -msgstr "" +msgid "Czech" +msgstr "Tiếng Séc" #: InvenTree/settings.py:715 -msgid "German" -msgstr "" +msgid "Danish" +msgstr "Tiếng Đan Mạch" #: InvenTree/settings.py:716 +msgid "German" +msgstr "Tiếng Đức" + +#: InvenTree/settings.py:717 msgid "Greek" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "Tiếng Pháp" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "Tiếng Do Thái" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "Tiếng Hung-ga-ri" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "Tiếng Ý" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "Tiếng Nhật" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "Tiếng Hàn" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "Tiếng Hà Lan" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "Tiếng Na Uy" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "Tiếng Ba Lan" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "Tiếng Bồ Đào Nha" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "Tiếng Bồ Đào Nha (Brazil)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "Tiếng Nga" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "Tiếng Slô-ven-ni-a" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "Tiếng Thụy Điển" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "Tiếng Thái" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "Tiếng Thổ Nhĩ Kỳ" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "Tiếng Việt" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "Tiếng Trung" @@ -618,196 +617,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "" + +#: InvenTree/status_codes.py:149 msgid "Production" -msgstr "" +msgstr "Sản xuất" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" -msgstr "" +msgstr "Trả lại" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" -msgstr "" +msgstr "Sửa chữa" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" -msgstr "" +msgstr "Thay thế" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "Hoàn tiền" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "Thông tin hệ thống" msgid "About InvenTree" msgstr "Giới thiệu" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +889,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1031,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1141,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1167,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1232,7 +1234,7 @@ msgstr "" #: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 #: templates/js/translated/stock.js:2843 msgid "Quantity" -msgstr "" +msgstr "Số lượng" #: build/models.py:1469 msgid "Stock quantity to allocate to build" @@ -1279,7 +1281,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1307,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1437,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1458,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1475,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "Đã hoàn thành" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1968,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -1990,7 +1992,7 @@ msgstr "" #: common/models.py:541 msgid "Settings value" -msgstr "" +msgstr "Giá trị cài đặt" #: common/models.py:582 msgid "Chosen value is not a valid option" @@ -2259,9 +2261,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "" @@ -2269,10 +2271,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "" @@ -2280,8 +2282,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2291,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,8 +2299,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,10 +2308,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "" @@ -2317,10 +2319,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "Nhà sản xuất" @@ -3642,7 +3644,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "Nhà cung cấp" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3765,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "" @@ -3854,8 +3856,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "Đơn hàng" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5325,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5384,7 +5386,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5393,11 +5395,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5499,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 9b3b15be5d..9ef6042e6c 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: 2023-06-03 14:06+0000\n" -"PO-Revision-Date: 2023-06-03 23:52\n" +"POT-Creation-Date: 2023-06-09 00:32+0000\n" +"PO-Revision-Date: 2023-06-09 10:27\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -52,12 +52,12 @@ msgstr "输入日期" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -121,7 +121,7 @@ msgstr "所提供的主要电子邮件地址无效。" msgid "The provided email domain is not approved." msgstr "提供的电子邮件域未被核准。" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -237,7 +237,7 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,9 +248,9 @@ msgid "Select file to attach" msgstr "选择附件" #: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -263,7 +263,7 @@ msgstr "选择附件" msgid "Link" msgstr "链接" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -279,9 +279,9 @@ msgstr "文件注释" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -325,12 +325,11 @@ msgid "Invalid choice" msgstr "选择无效" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +346,8 @@ msgstr "名称" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +419,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3891 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +497,111 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:714 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:715 msgid "Danish" msgstr "丹麦语" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:716 msgid "German" msgstr "德语" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:717 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:718 msgid "English" msgstr "英语" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:719 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:720 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:721 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:722 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:723 msgid "French" msgstr "法语" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:724 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:725 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:726 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:727 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:728 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:729 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:730 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:731 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:732 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:733 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:734 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:735 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:736 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:737 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:738 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:739 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:740 msgid "Chinese" msgstr "中文(简体)" @@ -618,196 +617,199 @@ msgstr "未配置电子邮件后端" msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "待定" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "已添加" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "完成" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "已取消" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "丢失" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "已发货" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "需要关注" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "破损" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "已销毁" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "已拒绝" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "隔离" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "库存项已创建" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "已编辑库存项" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "已分配序列号" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "库存计数" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "已手动添加库存" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "库存手动删除" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "仓储地点已更改" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "安装到组装中" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "已从组装中删除" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "已安装组件项" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "已删除组件项" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "从父项拆分" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "合并的库存项目" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "转换为变量" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "发送给客户" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "从客户退货" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "生产订单输出已完成" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "被生产订单消耗" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "发送给客户" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "从客户退货" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "生产中" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +857,7 @@ msgstr "系统信息" msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" @@ -887,9 +889,9 @@ msgstr "上级生产选项无效" msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3792 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +920,11 @@ msgstr "此次生产匹配的订单" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3549 -#: part/models.py:3657 part/models.py:3757 part/models.py:4071 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1022,7 @@ msgstr "生产状态" msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "批量代码" @@ -1029,7 +1031,7 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1046,7 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "完成日期:" @@ -1062,16 +1064,16 @@ msgid "User who issued this build order" msgstr "发布此生产订单的用户" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "责任人" @@ -1120,9 +1122,9 @@ msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1139,11 +1141,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可 msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" @@ -1165,8 +1167,8 @@ msgstr "生产" msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1190,9 +1192,9 @@ msgstr "源库存项" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3773 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1281,7 @@ msgstr "对于可追踪的部件,需要整数型数值" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1299,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1305,8 +1307,8 @@ msgstr "以下序列号已存在或无效" msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1348,8 @@ msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1421,7 @@ msgstr "接受库存项未被完成分配至此生产订单" msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "接受未完成" @@ -1435,8 +1437,8 @@ msgstr "所需生产数量尚未完成" msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3680 -#: part/models.py:4063 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "BOM项" @@ -1456,7 +1458,7 @@ msgstr "bom_item.part 必须与生产订单指向相同的部件" msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" @@ -1473,7 +1475,7 @@ msgstr "对于未被追踪的部件,无法指定生产产出" msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "必须提供分配的项" @@ -1637,8 +1639,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1663,22 +1665,22 @@ msgstr "此次生产的截止日期为 %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "逾期" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1729,7 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "目的地" @@ -1966,7 +1968,7 @@ msgstr "已更新" msgid "Timestamp of last update" msgstr "最后一次更新时间" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2259,9 +2261,9 @@ msgstr "复制类别参数模板" msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/models.py:1162 part/admin.py:55 part/models.py:3554 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "模板" @@ -2269,10 +2271,10 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "零件默认为模板" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "组装" @@ -2280,8 +2282,8 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "组件" @@ -2289,7 +2291,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "可购买" @@ -2297,8 +2299,8 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "可销售" @@ -2306,10 +2308,10 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "可追踪" @@ -2317,10 +2319,10 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "虚拟" @@ -3285,7 +3287,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 @@ -3308,11 +3310,12 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2360 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3392,9 +3395,8 @@ msgstr "标题" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "作者" @@ -3410,7 +3412,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2736 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3532,7 +3534,7 @@ msgid "Contact email address" msgstr "联系人电子邮件" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3598,7 +3600,7 @@ msgstr "选择商品" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "制造商" @@ -3642,7 +3644,7 @@ msgstr "参数名称" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3655,7 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3679,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3686,7 +3688,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "供应商" @@ -3720,7 +3722,7 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3795 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3731,11 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" @@ -3763,7 +3765,7 @@ msgstr "包装数量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3780,7 +3782,7 @@ msgstr "订购多个" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "空闲" @@ -3854,8 +3856,8 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "删除图片" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -3864,7 +3866,7 @@ msgstr "删除图片" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "客户" @@ -4346,7 +4348,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4357,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4375,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,533 +4384,533 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "未知" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "链接到外部页面" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "预期订单交付日期。超过该日期后订单将逾期。" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "创建者" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "接收方" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "签发日期" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "订单签发日期" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "订单完成日期" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "发货日期" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "尚未分配部件,因此订单无法完成" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "物品数量" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "单价" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "物品" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "数量必须大于0" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "输入序列号以进行分配" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "超时采购订单" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "采购订单 {po} 已逾期" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5311,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3661 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3665 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "部件名称" @@ -5323,19 +5325,19 @@ msgstr "部件名称" msgid "Part Description" msgstr "部件描述" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "版本号" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "关键词" @@ -5356,11 +5358,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "最低库存" @@ -5384,7 +5386,7 @@ msgstr "用于" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "已分配" @@ -5393,11 +5395,11 @@ msgstr "已分配" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5416,7 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5439,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3669 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5453,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "必须选择此项" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "默认仓储地点" @@ -5497,106 +5499,106 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "输入数量以计算价格" -#: part/models.py:74 part/models.py:3610 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "图标" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "图标(可选)" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3666 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "商品名称" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:882 part/models.py:3192 part/models.py:3609 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,252 +5606,251 @@ msgstr "提高搜索结果可见性的关键字" msgid "Category" msgstr "类别" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "商品类别" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "允许的最小库存量" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "该部件的计量单位" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:2877 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:2883 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:2888 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:2889 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:2895 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -5859,330 +5860,330 @@ msgstr "" msgid "Date" msgstr "日期" -#: part/models.py:2992 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3006 msgid "Additional notes" msgstr "附加注释" -#: part/models.py:3008 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "报告" -#: part/models.py:3082 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3379 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3423 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3554 part/models.py:3615 part/models.py:3616 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3559 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3620 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3621 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3658 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3662 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3670 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3673 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3674 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3758 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3766 +#: part/models.py:3772 msgid "Sub part" msgstr "子部件" -#: part/models.py:3767 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3773 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3777 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "可选项" -#: part/models.py:3778 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3783 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3784 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3788 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3789 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3792 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3795 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3799 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3804 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3805 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3810 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3811 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3817 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3903 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3912 part/models.py:3914 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4030 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4051 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4064 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4072 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4087 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4091 +#: part/models.py:4097 msgid "Select Related Part" msgstr "选择相关的部件" -#: part/models.py:4109 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4113 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7141,10 +7142,6 @@ msgstr "未找到商品图像" msgid "Part Pricing" msgstr "商品价格" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "未指定操作" @@ -7237,7 +7234,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7253,23 +7250,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7277,21 +7270,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7328,38 +7317,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" @@ -7520,12 +7517,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7624,27 +7621,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7803,104 +7800,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8681,7 +8678,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8689,49 +8686,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "样本" - -#: templates/InvenTree/settings/plugin_details.html:47 -msgid "Unavailable" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "插件信息" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8764,6 +8740,11 @@ msgstr "" msgid "Installation path" msgstr "安装路径" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -10880,7 +10861,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11095,10 +11076,58 @@ msgstr "最大数量" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +msgid "This plugin is not active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "Plugin Description" +msgstr "" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "样本" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:178 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:186 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12072,23 +12101,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12109,7 +12138,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12124,12 +12153,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12171,7 +12200,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12284,52 +12313,52 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "生产状态" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 msgid "Has Choices" msgstr "" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 9fd98143b9..badd96430f 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-01 21:56+0000\n" +"POT-Creation-Date: 2023-06-05 11:04+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -59,7 +59,7 @@ msgstr "输入日期" #: order/models.py:1086 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:2999 part/templates/part/part_sidebar.html:63 +#: part/models.py:3004 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 @@ -283,9 +283,9 @@ msgstr "文件注释" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 #: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3007 -#: part/models.py:3095 part/models.py:3174 part/models.py:3194 -#: plugin/models.py:206 plugin/models.py:207 +#: common/models.py:2625 common/models.py:2626 part/models.py:3012 +#: part/models.py:3100 part/models.py:3179 part/models.py:3199 +#: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 msgid "User" @@ -330,11 +330,10 @@ msgstr "选择无效" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 #: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3394 plugin/models.py:41 report/models.py:160 +#: part/models.py:3399 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:59 -#: templates/InvenTree/settings/plugin.html:102 +#: templates/InvenTree/settings/plugin.html:80 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -352,7 +351,7 @@ msgstr "名称" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 #: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3410 part/templates/part/category.html:81 +#: part/models.py:868 part/models.py:3415 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -426,12 +425,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3873 +#: InvenTree/serializers.py:60 part/models.py:3896 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2846 +#: company/templates/company/company_base.html:107 part/models.py:2851 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -628,7 +627,7 @@ msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 #: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:500 +#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "待定" @@ -915,7 +914,7 @@ msgstr "相关生产订单" #: build/models.py:156 order/models.py:356 order/models.py:762 #: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3774 part/templates/part/upload_bom.html:54 +#: part/models.py:3797 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -947,10 +946,10 @@ msgstr "此次生产匹配的订单" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 #: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2859 part/models.py:2973 -#: part/models.py:3113 part/models.py:3132 part/models.py:3151 -#: part/models.py:3172 part/models.py:3264 part/models.py:3531 -#: part/models.py:3639 part/models.py:3739 part/models.py:4053 +#: part/models.py:390 part/models.py:2864 part/models.py:2978 +#: part/models.py:3118 part/models.py:3137 part/models.py:3156 +#: part/models.py:3177 part/models.py:3269 part/models.py:3554 +#: part/models.py:3662 part/models.py:3762 part/models.py:4076 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1099,7 +1098,7 @@ msgstr "发布此生产订单的用户" #: templates/js/translated/build.js:2925 #: templates/js/translated/purchase_order.js:1723 #: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:461 msgid "Responsible" msgstr "责任人" @@ -1222,7 +1221,7 @@ msgstr "源库存项" #: build/templates/build/detail.html:34 common/models.py:2176 #: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2986 part/models.py:3755 +#: part/forms.py:47 part/models.py:2991 part/models.py:3778 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1327,7 +1326,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:326 stock/api.py:668 +#: build/serializers.py:326 stock/api.py:669 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1471,8 +1470,8 @@ msgstr "所需生产数量尚未完成" msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3662 -#: part/models.py:4045 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3685 +#: part/models.py:4068 msgid "BOM Item" msgstr "BOM项" @@ -1701,16 +1700,16 @@ msgstr "此次生产的截止日期为 %(target)s" #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 #: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:443 -#: templates/js/translated/table_filters.js:528 -#: templates/js/translated/table_filters.js:569 +#: templates/js/translated/table_filters.js:454 +#: templates/js/translated/table_filters.js:539 +#: templates/js/translated/table_filters.js:580 msgid "Overdue" msgstr "逾期" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:67 build/templates/build/detail.html:149 #: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:591 +#: templates/js/translated/table_filters.js:602 msgid "Completed" msgstr "已完成" @@ -2316,9 +2315,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3536 +#: common/models.py:1162 part/admin.py:55 part/models.py:3559 #: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:669 +#: templates/js/translated/table_filters.js:680 msgid "Template" msgstr "模板" @@ -2329,7 +2328,7 @@ msgstr "" #: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:623 +#: templates/js/translated/table_filters.js:634 msgid "Assembly" msgstr "组装" @@ -2338,7 +2337,7 @@ msgid "Parts can be assembled from other components by default" msgstr "" #: common/models.py:1176 part/admin.py:52 part/models.py:1001 -#: templates/js/translated/table_filters.js:631 +#: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "组件" @@ -2355,7 +2354,7 @@ msgid "Parts are purchaseable by default" msgstr "商品默认可购买" #: common/models.py:1190 part/admin.py:54 part/models.py:1017 -#: templates/js/translated/table_filters.js:657 +#: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "可销售" @@ -2366,7 +2365,7 @@ msgstr "商品默认可销售" #: common/models.py:1197 part/admin.py:56 part/models.py:1007 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:673 +#: templates/js/translated/table_filters.js:684 msgid "Trackable" msgstr "可追踪" @@ -2377,7 +2376,7 @@ msgstr "商品默认可跟踪" #: common/models.py:1204 part/admin.py:57 part/models.py:1027 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:677 +#: templates/js/translated/table_filters.js:688 msgid "Virtual" msgstr "虚拟" @@ -3390,8 +3389,9 @@ msgstr "" #: common/models.py:2360 part/admin.py:50 part/models.py:1022 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:439 -#: templates/js/translated/table_filters.js:618 +#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:450 +#: templates/js/translated/table_filters.js:629 msgid "Active" msgstr "" @@ -3471,9 +3471,8 @@ msgstr "" msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin.html:61 -#: templates/InvenTree/settings/plugin_settings.html:32 -#: templates/js/translated/news.js:56 +#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" @@ -3681,7 +3680,7 @@ msgstr "选择商品" #: templates/js/translated/company.js:824 #: templates/js/translated/company.js:954 #: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:698 +#: templates/js/translated/table_filters.js:709 msgid "Manufacturer" msgstr "制造商" @@ -3736,7 +3735,7 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3401 +#: part/admin.py:40 part/models.py:986 part/models.py:3406 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3771,7 +3770,7 @@ msgstr "" #: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 #: templates/js/translated/pricing.js:498 #: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:702 +#: templates/js/translated/table_filters.js:713 msgid "Supplier" msgstr "供应商" @@ -3805,7 +3804,7 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3777 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3800 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3814,11 +3813,11 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1918 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1913 +#: company/models.py:600 part/models.py:1918 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" @@ -3848,7 +3847,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1915 +#: company/models.py:624 part/models.py:1920 msgid "multiple" msgstr "" @@ -3865,7 +3864,7 @@ msgstr "" #: templates/js/translated/part.js:670 templates/js/translated/part.js:672 #: templates/js/translated/part.js:677 #: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:481 +#: templates/js/translated/table_filters.js:492 msgid "Available" msgstr "空闲" @@ -3951,7 +3950,7 @@ msgstr "" #: templates/js/translated/return_order.js:284 #: templates/js/translated/sales_order.js:772 #: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:706 +#: templates/js/translated/table_filters.js:717 msgid "Customer" msgstr "客户" @@ -4688,7 +4687,7 @@ msgstr "供应商商品" #: templates/js/translated/purchase_order.js:2137 #: templates/js/translated/return_order.js:748 #: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:504 +#: templates/js/translated/table_filters.js:515 msgid "Received" msgstr "" @@ -5466,12 +5465,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3643 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3666 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3647 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3670 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5541,7 +5540,7 @@ msgstr "" #: part/admin.py:64 templates/js/translated/build.js:2203 #: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 #: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:477 +#: templates/js/translated/table_filters.js:488 msgid "Allocated" msgstr "" @@ -5550,11 +5549,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2924 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2929 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2930 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2935 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5594,7 +5593,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3651 +#: part/admin.py:274 part/models.py:3674 msgid "Part IPN" msgstr "" @@ -5654,7 +5653,7 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3592 part/templates/part/category.html:16 +#: part/models.py:74 part/models.py:3615 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -5729,7 +5728,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3648 +#: part/models.py:845 part/models.py:3671 msgid "Part name" msgstr "商品名称" @@ -5755,7 +5754,7 @@ msgstr "描述 (可选)" msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:882 part/models.py:3192 part/models.py:3591 +#: part/models.py:882 part/models.py:3197 part/models.py:3614 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5861,154 +5860,153 @@ msgstr "" msgid "Last Stocktake" msgstr "" -#: part/models.py:1915 +#: part/models.py:1920 msgid "Sell multiple" msgstr "" -#: part/models.py:2847 +#: part/models.py:2852 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2864 +#: part/models.py:2869 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2865 +#: part/models.py:2870 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2870 +#: part/models.py:2875 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2876 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2881 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2882 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2887 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2888 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2893 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2889 +#: part/models.py:2894 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2894 +#: part/models.py:2899 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2900 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2905 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2906 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2906 +#: part/models.py:2911 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2912 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2917 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2913 +#: part/models.py:2918 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2918 +#: part/models.py:2923 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2924 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2925 +#: part/models.py:2930 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2931 +#: part/models.py:2936 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2941 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2937 +#: part/models.py:2942 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2942 +#: part/models.py:2947 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2948 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2953 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2949 +#: part/models.py:2954 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2954 +#: part/models.py:2959 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2960 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2974 +#: part/models.py:2979 msgid "Part for stocktake" msgstr "" -#: part/models.py:2979 +#: part/models.py:2984 msgid "Item Count" msgstr "" -#: part/models.py:2980 +#: part/models.py:2985 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2987 +#: part/models.py:2992 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2991 part/models.py:3074 +#: part/models.py:2996 part/models.py:3079 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 -#: templates/InvenTree/settings/plugin.html:62 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 #: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 @@ -6018,336 +6016,336 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2992 +#: part/models.py:2997 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3000 +#: part/models.py:3005 msgid "Additional notes" msgstr "" -#: part/models.py:3008 +#: part/models.py:3013 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3013 +#: part/models.py:3018 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3014 +#: part/models.py:3019 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3019 +#: part/models.py:3024 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3025 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3081 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3082 +#: part/models.py:3087 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3092 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3088 +#: part/models.py:3093 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3096 +#: part/models.py:3101 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3232 +#: part/models.py:3237 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3249 +#: part/models.py:3254 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3269 templates/js/translated/part.js:2821 +#: part/models.py:3274 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3270 +#: part/models.py:3275 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3275 +#: part/models.py:3280 msgid "Test Description" msgstr "" -#: part/models.py:3276 +#: part/models.py:3281 msgid "Enter description for this test" msgstr "" -#: part/models.py:3281 templates/js/translated/part.js:2830 +#: part/models.py:3286 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3282 +#: part/models.py:3287 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2838 +#: part/models.py:3292 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3288 +#: part/models.py:3293 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2845 +#: part/models.py:3298 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3294 +#: part/models.py:3299 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3340 +#: part/models.py:3345 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3345 +#: part/models.py:3350 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3363 +#: part/models.py:3368 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3379 +#: part/models.py:3384 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3395 +#: part/models.py:3400 msgid "Parameter Name" msgstr "" -#: part/models.py:3401 +#: part/models.py:3406 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3411 +#: part/models.py:3416 msgid "Parameter description" msgstr "" -#: part/models.py:3417 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:723 +#: part/models.py:3422 templates/js/translated/part.js:1600 +#: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3418 +#: part/models.py:3423 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1609 +#: part/models.py:3428 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3424 +#: part/models.py:3429 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3505 +#: part/models.py:3510 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3531 +#: part/models.py:3554 msgid "Parent Part" msgstr "" -#: part/models.py:3536 part/models.py:3597 part/models.py:3598 +#: part/models.py:3559 part/models.py:3620 part/models.py:3621 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3541 +#: part/models.py:3564 msgid "Data" msgstr "" -#: part/models.py:3541 +#: part/models.py:3564 msgid "Parameter Value" msgstr "" -#: part/models.py:3602 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3625 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3603 +#: part/models.py:3626 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3640 +#: part/models.py:3663 msgid "Part ID or part name" msgstr "" -#: part/models.py:3644 +#: part/models.py:3667 msgid "Unique part ID value" msgstr "" -#: part/models.py:3652 +#: part/models.py:3675 msgid "Part IPN value" msgstr "" -#: part/models.py:3655 +#: part/models.py:3678 msgid "Level" msgstr "" -#: part/models.py:3656 +#: part/models.py:3679 msgid "BOM level" msgstr "" -#: part/models.py:3740 +#: part/models.py:3763 msgid "Select parent part" msgstr "" -#: part/models.py:3748 +#: part/models.py:3771 msgid "Sub part" msgstr "" -#: part/models.py:3749 +#: part/models.py:3772 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3755 +#: part/models.py:3778 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3759 part/templates/part/upload_bom.html:58 +#: part/models.py:3782 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 #: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:489 +#: templates/js/translated/table_filters.js:500 msgid "Optional" msgstr "可选项" -#: part/models.py:3760 +#: part/models.py:3783 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3765 templates/js/translated/bom.js:967 +#: part/models.py:3788 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:485 +#: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3766 +#: part/models.py:3789 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3770 part/templates/part/upload_bom.html:55 +#: part/models.py:3793 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3771 +#: part/models.py:3794 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3774 +#: part/models.py:3797 msgid "BOM item reference" msgstr "" -#: part/models.py:3777 +#: part/models.py:3800 msgid "BOM item notes" msgstr "" -#: part/models.py:3781 +#: part/models.py:3804 msgid "Checksum" msgstr "" -#: part/models.py:3781 +#: part/models.py:3804 msgid "BOM line checksum" msgstr "" -#: part/models.py:3786 templates/js/translated/table_filters.js:144 +#: part/models.py:3809 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3787 +#: part/models.py:3810 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:3792 part/templates/part/upload_bom.html:57 +#: part/models.py:3815 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3793 +#: part/models.py:3816 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3798 part/templates/part/upload_bom.html:56 +#: part/models.py:3821 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3799 +#: part/models.py:3822 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3885 stock/models.py:577 +#: part/models.py:3908 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3894 part/models.py:3896 +#: part/models.py:3917 part/models.py:3919 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4012 +#: part/models.py:4035 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4033 +#: part/models.py:4056 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4046 +#: part/models.py:4069 msgid "Parent BOM item" msgstr "" -#: part/models.py:4054 +#: part/models.py:4077 msgid "Substitute part" msgstr "" -#: part/models.py:4069 +#: part/models.py:4092 msgid "Part 1" msgstr "" -#: part/models.py:4073 +#: part/models.py:4096 msgid "Part 2" msgstr "" -#: part/models.py:4073 +#: part/models.py:4096 msgid "Select Related Part" msgstr "" -#: part/models.py:4091 +#: part/models.py:4114 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4095 +#: part/models.py:4118 msgid "Duplicate relationship already exists" msgstr "" @@ -7312,10 +7310,6 @@ msgstr "未找到商品图像" msgid "Part Pricing" msgstr "商品价格" -#: plugin/apps.py:55 -msgid "Your environment has an outdated git version. This prevents InvenTree from loading plugin details." -msgstr "" - #: plugin/base/action/api.py:27 msgid "No action specified" msgstr "未指定操作" @@ -7367,7 +7361,7 @@ msgid "InvenTree Notifications" msgstr "" #: plugin/builtin/integration/core_notifications.py:35 -msgid "Integrated outgoing notificaton methods" +msgid "Integrated outgoing notification methods" msgstr "" #: plugin/builtin/integration/core_notifications.py:40 @@ -7408,7 +7402,7 @@ msgstr "" msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 templates/InvenTree/settings/plugin.html:60 +#: plugin/models.py:33 msgid "Key" msgstr "" @@ -7424,23 +7418,19 @@ msgstr "" msgid "Is the plugin active" msgstr "" -#: plugin/models.py:82 templates/InvenTree/settings/plugin_details.html:47 -msgid "Unvailable" -msgstr "" - -#: plugin/models.py:113 +#: plugin/models.py:124 msgid "Sample plugin" msgstr "" -#: plugin/models.py:122 +#: plugin/models.py:133 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:148 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:199 +#: plugin/models.py:210 msgid "Method" msgstr "" @@ -7448,21 +7438,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/plugin.py:279 -msgid "No date found" -msgstr "" - -#: plugin/registry.py:463 +#: plugin/registry.py:462 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:465 +#: plugin/registry.py:464 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:467 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7499,38 +7485,46 @@ msgstr "" msgid "A setting with multiple choices" msgstr "" -#: plugin/serializers.py:81 +#: plugin/serializers.py:90 msgid "Source URL" msgstr "" -#: plugin/serializers.py:82 +#: plugin/serializers.py:91 msgid "Source for the package - this can be a custom registry or a VCS path" msgstr "" -#: plugin/serializers.py:87 +#: plugin/serializers.py:96 msgid "Package Name" msgstr "" -#: plugin/serializers.py:88 +#: plugin/serializers.py:97 msgid "Name for the Plugin Package - can also contain a version indicator" msgstr "" -#: plugin/serializers.py:91 +#: plugin/serializers.py:100 msgid "Confirm plugin installation" msgstr "" -#: plugin/serializers.py:92 +#: plugin/serializers.py:101 msgid "This will install this plugin now into the current instance. The instance will go into maintenance." msgstr "" -#: plugin/serializers.py:104 +#: plugin/serializers.py:113 msgid "Installation not confirmed" msgstr "" -#: plugin/serializers.py:106 +#: plugin/serializers.py:115 msgid "Either packagename of URL must be provided" msgstr "" +#: plugin/serializers.py:193 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:194 +msgid "Activate this plugin" +msgstr "" + #: report/api.py:171 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" @@ -7807,23 +7801,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:580 +#: stock/api.py:581 msgid "Quantity is required" msgstr "" -#: stock/api.py:587 +#: stock/api.py:588 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:613 +#: stock/api.py:614 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:622 +#: stock/api.py:623 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:640 +#: stock/api.py:641 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -8870,7 +8864,7 @@ msgid "Plugins" msgstr "" #: templates/InvenTree/settings/plugin.html:43 -#: templates/js/translated/plugin.js:19 +#: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" @@ -8878,45 +8872,28 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:63 -#: templates/InvenTree/settings/plugin_settings.html:42 -msgid "Version" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:71 -msgid "Active plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:79 -msgid "Inactive plugins" -msgstr "" - -#: templates/InvenTree/settings/plugin.html:92 +#: templates/InvenTree/settings/plugin.html:70 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:101 +#: templates/InvenTree/settings/plugin.html:79 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:103 +#: templates/InvenTree/settings/plugin.html:81 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" -#: templates/InvenTree/settings/plugin_details.html:32 -#: templates/InvenTree/settings/plugin_settings.html:100 -msgid "Builtin" -msgstr "" - -#: templates/InvenTree/settings/plugin_details.html:38 -msgid "Sample" -msgstr "" - #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:89 +msgid "Version" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" msgstr "" @@ -8949,6 +8926,11 @@ msgstr "" msgid "Installation path" msgstr "" +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:77 +msgid "Builtin" +msgstr "" + #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" msgstr "" @@ -9361,7 +9343,7 @@ msgid "Some languages are not complete" msgstr "" #: templates/InvenTree/settings/user_display.html:97 -msgid "Show only sufficent" +msgid "Show only sufficient" msgstr "" #: templates/InvenTree/settings/user_display.html:99 @@ -11145,7 +11127,7 @@ msgid "Copy Bill of Materials" msgstr "" #: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:649 +#: templates/js/translated/table_filters.js:660 msgid "Low stock" msgstr "" @@ -11364,10 +11346,74 @@ msgstr "" msgid "Minimum Stock Level" msgstr "" -#: templates/js/translated/plugin.js:26 +#: templates/js/translated/plugin.js:45 +#, fuzzy +#| msgid "Subcategories" +msgid "No plugins found" +msgstr "子类别" + +#: templates/js/translated/plugin.js:54 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:56 +#, fuzzy +#| msgid "Print actions" +msgid "This plugin is not active" +msgstr "打印操作" + +#: templates/js/translated/plugin.js:62 +#, fuzzy +#| msgid "Build Description" +msgid "Plugin Description" +msgstr "构建描述" + +#: templates/js/translated/plugin.js:81 +msgid "Sample" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 +#, fuzzy +#| msgid "Enabled" +msgid "Enable Plugin" +msgstr "已启用" + +#: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" msgstr "" +#: templates/js/translated/plugin.js:174 +#, fuzzy +#| msgid "Are you sure you want to delete this stock location?" +msgid "Are you sure you want to enable this plugin?" +msgstr "确实要删除此仓储地点吗?" + +#: templates/js/translated/plugin.js:178 +#, fuzzy +#| msgid "Are you sure you want to delete this stock location?" +msgid "Are you sure you want to disable this plugin?" +msgstr "确实要删除此仓储地点吗?" + +#: templates/js/translated/plugin.js:186 +#, fuzzy +#| msgid "Enabled" +msgid "Enable" +msgstr "已启用" + +#: templates/js/translated/plugin.js:186 +#, fuzzy +#| msgid "Available" +msgid "Disable" +msgstr "空闲" + +#: templates/js/translated/plugin.js:200 +msgid "Plugin updated" +msgstr "" + #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" msgstr "" @@ -12389,23 +12435,23 @@ msgid "Has project code" msgstr "" #: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:507 -#: templates/js/translated/table_filters.js:519 -#: templates/js/translated/table_filters.js:560 +#: templates/js/translated/table_filters.js:518 +#: templates/js/translated/table_filters.js:530 +#: templates/js/translated/table_filters.js:571 msgid "Order status" msgstr "" #: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:524 -#: templates/js/translated/table_filters.js:550 -#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:535 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:576 msgid "Outstanding" msgstr "" #: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:447 -#: templates/js/translated/table_filters.js:532 -#: templates/js/translated/table_filters.js:573 +#: templates/js/translated/table_filters.js:458 +#: templates/js/translated/table_filters.js:543 +#: templates/js/translated/table_filters.js:584 msgid "Assigned to me" msgstr "" @@ -12426,7 +12472,7 @@ msgid "Allow Variant Stock" msgstr "" #: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:681 +#: templates/js/translated/table_filters.js:692 msgid "Has Pricing" msgstr "" @@ -12441,12 +12487,12 @@ msgstr "" #: templates/js/translated/table_filters.js:224 #: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:624 msgid "Include subcategories" msgstr "" #: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:661 +#: templates/js/translated/table_filters.js:672 msgid "Subscribed" msgstr "" @@ -12488,7 +12534,7 @@ msgid "Batch code" msgstr "" #: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:602 +#: templates/js/translated/table_filters.js:613 msgid "Active parts" msgstr "" @@ -12601,56 +12647,56 @@ msgstr "" msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:434 +#: templates/js/translated/table_filters.js:445 msgid "Build status" msgstr "生产状态" -#: templates/js/translated/table_filters.js:614 +#: templates/js/translated/table_filters.js:625 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:619 +#: templates/js/translated/table_filters.js:630 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:627 +#: templates/js/translated/table_filters.js:638 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:635 -#: templates/js/translated/table_filters.js:731 +#: templates/js/translated/table_filters.js:646 +#: templates/js/translated/table_filters.js:742 #, fuzzy #| msgid "Units" msgid "Has Units" msgstr "单位" -#: templates/js/translated/table_filters.js:636 +#: templates/js/translated/table_filters.js:647 #, fuzzy #| msgid "Parameter units" msgid "Part has defined units" msgstr "参数单位" -#: templates/js/translated/table_filters.js:640 +#: templates/js/translated/table_filters.js:651 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:641 +#: templates/js/translated/table_filters.js:652 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:645 +#: templates/js/translated/table_filters.js:656 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:653 +#: templates/js/translated/table_filters.js:664 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:665 +#: templates/js/translated/table_filters.js:676 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:727 +#: templates/js/translated/table_filters.js:738 #, fuzzy #| msgid "Units" msgid "Has Choices" From f3a13fc625fffe514a588256cd5f6e9664049f5f Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 11 Jun 2023 15:37:03 +0200 Subject: [PATCH 006/103] Add SBOM to container (#5017) * Add sbom to docker * Enable manual release * remove dispatch --- .github/workflows/docker.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index a82b2feec5..4e814cbcca 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -120,6 +120,8 @@ jobs: context: . platforms: linux/amd64,linux/arm64 push: true + sbom: true + provenance: false target: production tags: ${{ env.docker_tags }} build-args: | From 15ab911da682411913f5849f3dd840c5ea1301e5 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 11 Jun 2023 16:32:03 +0200 Subject: [PATCH 007/103] Add more version information (#5014) * Add info for installer, branch, publisher * include version info * fix permissions * fix typo * add more info * use GH url * fix node * remove publisher * remove more logging * Add info to version view * enable branch discovery when not set * fix ref to github version * add branch to about dialog * use precise plattform information - if no env is set * fix ref names * load VERSION info * rename plattform to target * extend installer var * add generic plattform info * add docs for version info * add more info * add installer codes * Ammend navigation --- .pkgr.yml | 2 + InvenTree/InvenTree/settings.py | 7 +++ InvenTree/InvenTree/version.py | 47 +++++++++++++++++++ .../part/templatetags/inventree_extras.py | 24 ++++++++++ InvenTree/templates/about.html | 7 +++ InvenTree/templates/version.html | 4 ++ contrib/packager.io/before.sh | 43 +++++++++++++++++ docs/docs/start/advanced.md | 39 +++++++++++++++ docs/mkdocs.yml | 1 + requirements.in | 1 + requirements.txt | 2 + 11 files changed, 177 insertions(+) create mode 100755 contrib/packager.io/before.sh create mode 100644 docs/docs/start/advanced.md diff --git a/.pkgr.yml b/.pkgr.yml index 1a59baffe6..ef91326b82 100644 --- a/.pkgr.yml +++ b/.pkgr.yml @@ -15,6 +15,8 @@ env: - INVENTREE_PLUGIN_FILE=/opt/inventree/plugins.txt - INVENTREE_CONFIG_FILE=/opt/inventree/config.yaml after_install: contrib/packager.io/postinstall.sh +before: + - contrib/packager.io/before.sh dependencies: - curl - python3 diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index d5faf1fbbe..7ea7eb06af 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -22,6 +22,7 @@ from django.http import Http404 from django.utils.translation import gettext_lazy as _ import moneyed +from dotenv import load_dotenv from InvenTree.config import get_boolean_setting, get_custom_file, get_setting from InvenTree.sentry import default_sentry_dsn, init_sentry @@ -65,6 +66,12 @@ BASE_DIR = config.get_base_dir() # Load configuration data CONFIG = config.load_config_data(set_cache=True) +# Load VERSION data if it exists +version_file = BASE_DIR.parent.joinpath('VERSION') +if version_file.exists(): + print('load version from file') + load_dotenv(version_file) + # Default action is to run the system in Debug mode # SECURITY WARNING: don't run with debug turned on in production! DEBUG = get_boolean_setting('INVENTREE_DEBUG', 'debug', True) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 8289882be3..8735a8253c 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -5,11 +5,13 @@ Provides information on the current InvenTree version import os import pathlib +import platform import re from datetime import datetime as dt from datetime import timedelta as td import django +from django.conf import settings from dulwich.repo import NotGitRepository, Repo @@ -130,3 +132,48 @@ def inventreeCommitDate(): commit_dt = dt.fromtimestamp(main_commit.commit_time) + td(seconds=main_commit.commit_timezone) return str(commit_dt.date()) + + +def inventreeInstaller(): + """Returns the installer for the running codebase - if set.""" + # First look in the environment variables, e.g. if running in docker + + installer = os.environ.get('INVENTREE_PKG_INSTALLER', '') + + if installer: + return installer + elif settings.DOCKER: + return 'DOC' + elif main_commit is not None: + return 'GIT' + + return None + + +def inventreeBranch(): + """Returns the branch for the running codebase - if set.""" + # First look in the environment variables, e.g. if running in docker + + branch = os.environ.get('INVENTREE_PKG_BRANCH', '') + + if branch: + return branch + + if main_commit is None: + return None + + branch = main_repo.refs.follow(b'HEAD')[0][1].decode() + return branch.removeprefix('refs/heads/') + + +def inventreeTarget(): + """Returns the target platform for the running codebase - if set.""" + # First look in the environment variables, e.g. if running in docker + + return os.environ.get('INVENTREE_PKG_TARGET', None) + + +def inventreePlatform(): + """Returns the platform for the instance.""" + + return platform.platform(aliased=True) diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index a2d0e42648..8c2fe6f084 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -287,6 +287,30 @@ def inventree_commit_date(*args, **kwargs): return version.inventreeCommitDate() +@register.simple_tag() +def inventree_installer(*args, **kwargs): + """Return InvenTree package installer string.""" + return version.inventreeInstaller() + + +@register.simple_tag() +def inventree_branch(*args, **kwargs): + """Return InvenTree git branch string.""" + return version.inventreeBranch() + + +@register.simple_tag() +def inventree_target(*args, **kwargs): + """Return InvenTree target string.""" + return version.inventreeTarget() + + +@register.simple_tag() +def inventree_platform(*args, **kwargs): + """Return InvenTree platform string.""" + return version.inventreePlatform() + + @register.simple_tag() def inventree_github_url(*args, **kwargs): """Return URL for InvenTree github site.""" diff --git a/InvenTree/templates/about.html b/InvenTree/templates/about.html index ddd73ac9b5..0c02ade0e1 100644 --- a/InvenTree/templates/about.html +++ b/InvenTree/templates/about.html @@ -36,6 +36,13 @@ {% trans "Commit Date" %}{% render_date commit_date %}{% include "clip.html" %} {% endif %} + {% inventree_branch as branch %} + {% if branch %} + + + {% trans "Commit Branch" %}{{ branch }}{% include "clip.html" %} + + {% endif %} {% endif %} diff --git a/InvenTree/templates/version.html b/InvenTree/templates/version.html index 5c0fa0142b..2dfd7abcb4 100644 --- a/InvenTree/templates/version.html +++ b/InvenTree/templates/version.html @@ -3,7 +3,11 @@ InvenTree-Version: {% inventree_version %} Django Version: {% django_version %} {% inventree_commit_hash as hash %}{% if hash %}Commit Hash: {{ hash }}{% endif %} {% inventree_commit_date as commit_date %}{% if commit_date %}Commit Date: {% render_date commit_date %}{% endif %} +{% inventree_branch as branch %}{% if branch %}Commit Branch: {{ branch }}{% endif %} Database: {% inventree_db_engine %} Debug-Mode: {% inventree_in_debug_mode %} Deployed using Docker: {% inventree_docker_mode %} +Platform: {% inventree_platform %} +Installer: {% inventree_installer %} +{% inventree_target as target %}{% if target %}Target: {{ target }}{% endif %} Active plugins: {% plugins_info %} diff --git a/contrib/packager.io/before.sh b/contrib/packager.io/before.sh new file mode 100755 index 0000000000..b0bb808cef --- /dev/null +++ b/contrib/packager.io/before.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# +# packager.io before script +# + +set -eu + +VERSION="$APP_PKG_VERSION-$APP_PKG_ITERATION" +echo "Setting VERSION information to $VERSION" +echo "$VERSION" > VERSION + +# The sha is the second element in APP_PKG_ITERATION +SHA=$(echo $APP_PKG_ITERATION | cut -d'.' -f2) + +# Download info +echo "Getting info from github for commit $SHA" +curl -L \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/repos/InvenTree/InvenTree/commits/$SHA > commit.json +curl -L \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/repos/InvenTree/InvenTree/commits/$SHA/branches-where-head > branches.json + +# Extract info +echo "Extracting info from github" +DATE=$(jq -r '.commit.committer.date' commit.json) +BRANCH=$(jq -r '.[].name' branches.json) +NODE_ID=$(jq -r '.node_id' commit.json) +SIGNATURE=$(jq -r '.commit.verification.signature' commit.json) + +echo "Write VERSION information" +echo "INVENTREE_COMMIT_HASH='$SHA'" >> VERSION +echo "INVENTREE_COMMIT_DATE='$DATE'" >> VERSION +echo "INVENTREE_PKG_INSTALLER='PKG'" >> VERSION +echo "INVENTREE_PKG_BRANCH='$BRANCH'" >> VERSION +echo "INVENTREE_PKG_TARGET='$TARGET'" >> VERSION +echo "NODE_ID='$NODE_ID'" >> VERSION +echo "SIGNATURE='$SIGNATURE'" >> VERSION + +echo "Written VERSION information" +cat VERSION diff --git a/docs/docs/start/advanced.md b/docs/docs/start/advanced.md new file mode 100644 index 0000000000..5d240f51e4 --- /dev/null +++ b/docs/docs/start/advanced.md @@ -0,0 +1,39 @@ +--- +title: Advanced Topics +--- + +## Version Information + +Starting with version 0.12 (and later), InvenTree includes more version information. + +To view this information, navigate to the "About" page in the top menu bar and select "copy version information" on the bottom corner. + +### Contained Information + +The version information contains the following information extracted form the instance: + +| Name | Always | Sample | Source | +| --- | --- | --- | --- | +| InvenTree-Version | Yes | 0.12.0 dev | instance | +| Django Version | Yes | 3.2.19 | instance | +| Commit Hash | No | aebff26 | environment: `INVENTREE_COMMIT_HASH`, git | +| Commit Date | No | 2023-06-10 | environment: `INVENTREE_COMMIT_DATE`, git | +| Commit Branch | No | master | environment: `INVENTREE_PKG_BRANCH`, git | +| Database | Yes | postgresql | environment: `INVENTREE_DB_*`, config: `database` - see [config](./config.md#database-options) | +| Debug-Mode | Yes | False | environment: `INVENTREE_DEBUG`, config: `config` - see [config](./config.md#basic-options) | +| Deployed using Docker | Yes | True | environment: `INVENTREE_DOCKER` | +| Platform | Yes | Linux-5.15.0-67-generic-x86_64 | instance | +| Installer | Yes | PKG | environment: `INVENTREE_PKG_INSTALLER`, instance | +| Target | No | ubuntu:20.04 | environment: `INVENTREE_PKG_TARGET` | +| Active plugins | Yes | [{'name': 'InvenTreeBarcode', 'slug': 'inventreebarcode', 'version': '2.0.0'}] | instance | + + +### Installer codes + +The installer code is used to identify the way InvenTree was installed. If you vendor InvenTree, you can and should set the installer code to your own value to make sure debugging goes smoothly. + +| Code | Description | Official | +| --- | --- | --- | +| PKG | Installed using a package manager | Yes | +| GIT | Installed using git | Yes | +| DOC | Installed using docker | Yes | diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index ac3361b7bd..46652d3306 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -94,6 +94,7 @@ nav: - Serving Files: start/serving_files.md - Data Backup: start/backup.md - Migrating Data: start/migrate.md + - Advanced Topics: start/advanced.md - Parts: - Parts: part/part.md - Creating Parts: part/create.md diff --git a/requirements.in b/requirements.in index cd01969dc5..cd5b876d87 100644 --- a/requirements.in +++ b/requirements.in @@ -36,6 +36,7 @@ pdf2image # PDF to image conversion pillow # Image manipulation pint==0.21 # Unit conversion # FIXED 2023-05-30 breaks tests https://github.com/matmair/InvenTree/actions/runs/5095665936/jobs/9160852560 python-barcode[images] # Barcode generator +python-dotenv # Environment variable management qrcode[pil] # QR code generator rapidfuzz==0.7.6 # Fuzzy string matching regex # Advanced regular expressions diff --git a/requirements.txt b/requirements.txt index 487dcfeadf..e7eebeac0d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -213,6 +213,8 @@ python-dateutil==2.8.2 # arrow # django-recurrence # icalendar +python-dotenv==1.0.0 + # via -r requirements.in python-fsutil==0.10.0 # via django-maintenance-mode python3-openid==3.2.0 From 9f56ee1023ce25d7e18b9a641a749f5ed8e53953 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 12 Jun 2023 05:13:53 +0200 Subject: [PATCH 008/103] [FR] Add Feature flags (#4982) * make currency choices independend * Remove check for field, just try to get rid of it * Add IF EXISTS to avoid error (works in postgres) * Look for operational error, not programming error * Use variants, depending on errors caused * [FR] Add Feature flags Fixes #4965 * Add option to define custom flags * Revert "make currency choices independend" This reverts commit ab84a7ff830bfdf8df2235ec11f5a83e05533a10. * try fixing mysql * more safeguards * fix executioner call * a fck * use migrations. syntax * and another round for mysql * revert print change * use UTC for datetime * Update part.migrations.0112 - Add custom migration class which handles errors * Add unit test for migration - Ensure that the new fields are added to the model * Update reference to PR * fix ruleset for missing_models * fix ruleset for flags_flagstate * add API endpoints for flags * add tests for new API endpoints * fix tests * fix merge * fix tests --------- Co-authored-by: martin Co-authored-by: Oliver Walters --- InvenTree/InvenTree/settings.py | 21 +++++++++++++++++++ InvenTree/common/api.py | 29 ++++++++++++++++++++++++++ InvenTree/common/serializers.py | 18 ++++++++++++++++ InvenTree/common/tests.py | 37 +++++++++++++++++++++++++++++++++ InvenTree/config_template.yaml | 8 +++++++ InvenTree/users/models.py | 1 + requirements.in | 1 + requirements.txt | 3 +++ 8 files changed, 118 insertions(+) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 7ea7eb06af..fc30387d6a 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -234,6 +234,7 @@ INSTALLED_APPS = [ 'formtools', # Form wizard tools 'dbbackup', # Backups - django-dbbackup 'taggit', # Tagging + 'flags', # Flagging - django-flags 'allauth', # Base app for SSO 'allauth.account', # Extend user with accounts @@ -944,3 +945,23 @@ if DEBUG: logger.info(f"MEDIA_ROOT: '{MEDIA_ROOT}'") logger.info(f"STATIC_ROOT: '{STATIC_ROOT}'") + +# Flags +FLAGS = { + 'EXPERIMENTAL': [ + {'condition': 'boolean', 'value': DEBUG}, + {'condition': 'parameter', 'value': 'experimental='}, + ], # Should experimental features be turned on? + 'NEXT_GEN': [ + {'condition': 'parameter', 'value': 'ngen='}, + ], # Should next-gen features be turned on? +} + +# Get custom flags from environment/yaml +CUSTOM_FLAGS = get_setting('INVENTREE_FLAGS', 'flags', None, typecast=dict) +if CUSTOM_FLAGS: + if not isinstance(CUSTOM_FLAGS, dict): + logger.error(f"Invalid custom flags, must be valid dict: {CUSTOM_FLAGS}") + else: + logger.info(f"Custom flags: {CUSTOM_FLAGS}") + FLAGS.update(CUSTOM_FLAGS) diff --git a/InvenTree/common/api.py b/InvenTree/common/api.py index 6f67af2dd7..1de77c4245 100644 --- a/InvenTree/common/api.py +++ b/InvenTree/common/api.py @@ -2,6 +2,7 @@ import json +from django.conf import settings from django.http.response import HttpResponse from django.urls import include, path, re_path from django.utils.decorators import method_decorator @@ -480,6 +481,29 @@ class ProjectCodeDetail(RetrieveUpdateDestroyAPI): permission_classes = [permissions.IsAuthenticated, IsStaffOrReadOnly] +class FlagList(ListAPI): + """List view for feature flags.""" + + queryset = settings.FLAGS + serializer_class = common.serializers.FlagSerializer + permission_classes = [permissions.AllowAny, ] + + +class FlagDetail(RetrieveAPI): + """Detail view for an individual feature flag.""" + + serializer_class = common.serializers.FlagSerializer + permission_classes = [permissions.AllowAny, ] + + def get_object(self): + """Attempt to find a config object with the provided key.""" + key = self.kwargs['key'] + value = settings.FLAGS.get(key, None) + if not value: + raise NotFound() + return {key: value} + + settings_api_urls = [ # User settings re_path(r'^user/', include([ @@ -552,6 +576,11 @@ common_api_urls = [ re_path(r'^.*$', NewsFeedEntryList.as_view(), name='api-news-list'), ])), + # Flags + path('flags/', include([ + path('/', FlagDetail.as_view(), name='api-flag-detail'), + re_path(r'^.*$', FlagList.as_view(), name='api-flag-list'), + ])), ] admin_api_urls = [ diff --git a/InvenTree/common/serializers.py b/InvenTree/common/serializers.py index c74dc76fd4..8dc911f506 100644 --- a/InvenTree/common/serializers.py +++ b/InvenTree/common/serializers.py @@ -1,7 +1,9 @@ """JSON serializers for common components.""" + from django.urls import reverse +from flags.state import flag_state from rest_framework import serializers from common.models import (InvenTreeSetting, InvenTreeUserSetting, @@ -269,3 +271,19 @@ class ProjectCodeSerializer(InvenTreeModelSerializer): 'code', 'description' ] + + +class FlagSerializer(serializers.Serializer): + """Serializer for feature flags.""" + + def to_representation(self, instance): + """Return the configuration data as a dictionary.""" + request = self.context.get('request') + if not isinstance(instance, str): + instance = list(instance.keys())[0] + data = {'key': instance, 'state': flag_state(instance, request=request)} + + if request and request.user.is_superuser: + data['conditions'] = self.instance[instance] + + return data diff --git a/InvenTree/common/tests.py b/InvenTree/common/tests.py index 6e33544f22..f854b63514 100644 --- a/InvenTree/common/tests.py +++ b/InvenTree/common/tests.py @@ -875,6 +875,43 @@ class CommonTest(InvenTreeAPITestCase): self.user.is_superuser = False self.user.save() + def test_flag_api(self): + """Test flag URLs.""" + # Not superuser + response = self.get(reverse('api-flag-list'), expected_code=200) + self.assertEqual(len(response.data), 2) + self.assertEqual(response.data[0]['key'], 'EXPERIMENTAL') + + # Turn into superuser + self.user.is_superuser = True + self.user.save() + + # Successful checks + response = self.get(reverse('api-flag-list'), expected_code=200) + self.assertEqual(len(response.data), 2) + self.assertEqual(response.data[0]['key'], 'EXPERIMENTAL') + self.assertTrue(response.data[0]['conditions']) + + response = self.get(reverse('api-flag-detail', kwargs={'key': 'EXPERIMENTAL'}), expected_code=200) + self.assertEqual(len(response.data), 3) + self.assertEqual(response.data['key'], 'EXPERIMENTAL') + self.assertTrue(response.data['conditions']) + + # Try without param -> false + response = self.get(reverse('api-flag-detail', kwargs={'key': 'NEXT_GEN'}), expected_code=200) + self.assertFalse(response.data['state']) + + # Try with param -> true + response = self.get(reverse('api-flag-detail', kwargs={'key': 'NEXT_GEN'}), {'ngen': ''}, expected_code=200) + self.assertTrue(response.data['state']) + + # Try non existent flag + response = self.get(reverse('api-flag-detail', kwargs={'key': 'NON_EXISTENT'}), expected_code=404) + + # Turn into normal user again + self.user.is_superuser = False + self.user.save() + class ColorThemeTest(TestCase): """Tests for ColorTheme.""" diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml index 284e672693..7795bb694f 100644 --- a/InvenTree/config_template.yaml +++ b/InvenTree/config_template.yaml @@ -228,3 +228,11 @@ remote_login_header: HTTP_REMOTE_USER # splash: splash_screen.jpg # hide_admin_link: true # hide_password_reset: true + +# Custom flags +# InvenTree uses django-flags; read more in their docs at https://cfpb.github.io/django-flags/conditions/ +# Use environment variable INVENTREE_FLAGS or the settings below +# flags: +# MY_FLAG: +# - condition: 'parameter' +# value: 'my_flag_param1' diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index a16e261c35..df5efc8d08 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -81,6 +81,7 @@ class RuleSet(models.Model): 'common_newsfeedentry', 'taggit_tag', 'taggit_taggeditem', + 'flags_flagstate', ], 'part_category': [ 'part_partcategory', diff --git a/requirements.in b/requirements.in index cd5b876d87..a1a6525479 100644 --- a/requirements.in +++ b/requirements.in @@ -10,6 +10,7 @@ django-crispy-forms<2.0 # Form helpers # FIXED 2023-02-18 due to django-dbbackup # Backup / restore of database and media files django-error-report # Error report viewer for the admin interface django-filter # Extended filtering options +django-flags # Feature flags django-formtools # Form wizard tools django-ical # iCal export for calendar views django-import-export==2.5.0 # Data import / export for admin interface diff --git a/requirements.txt b/requirements.txt index e7eebeac0d..c1d35125d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -53,6 +53,7 @@ django==3.2.19 # django-dbbackup # django-error-report # django-filter + # django-flags # django-formtools # django-ical # django-import-export @@ -92,6 +93,8 @@ django-error-report==0.2.0 # via -r requirements.in django-filter==23.2 # via -r requirements.in +django-flags==5.0.12 + # via -r requirements.in django-formtools==2.4.1 # via -r requirements.in django-ical==1.9.1 From 2f98ed702257b4baa078e4f2641dc57568a95d30 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 12 Jun 2023 12:10:13 +0200 Subject: [PATCH 009/103] remove signatur checking (we do not use included git anymore) (#5018) --- InvenTree/common/models.py | 7 ---- InvenTree/plugin/helpers.py | 32 ++----------------- InvenTree/plugin/plugin.py | 12 +------ .../templates/InvenTree/settings/plugin.html | 2 -- .../InvenTree/settings/plugin_settings.html | 14 -------- 5 files changed, 3 insertions(+), 64 deletions(-) diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 0340792101..08326d6f25 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1616,13 +1616,6 @@ class InvenTreeSetting(BaseInvenTreeSetting): 'requires_restart': True, }, - 'PLUGIN_CHECK_SIGNATURES': { - 'name': _('Check plugin signatures'), - 'description': _('Check and show signatures for plugins'), - 'default': False, - 'validator': bool, - }, - # Settings for plugin mixin features 'ENABLE_PLUGINS_URL': { 'name': _('Enable URL integration'), diff --git a/InvenTree/plugin/helpers.py b/InvenTree/plugin/helpers.py index 5277fc78de..d616273d74 100644 --- a/InvenTree/plugin/helpers.py +++ b/InvenTree/plugin/helpers.py @@ -128,42 +128,14 @@ def get_git_log(path): commit.author.decode().split('<')[1][:-1], datetime.datetime.fromtimestamp(commit.author_time, ).isoformat(), commit.message.decode().split('\n')[0], - 'E', - None ] except NotGitRepository: pass if not output: - output = 7 * [''] # pragma: no cover + output = 5 * [''] # pragma: no cover - return {'hash': output[0], 'author': output[1], 'mail': output[2], 'date': output[3], 'message': output[4], 'verified': output[5], 'key': output[6]} - - -class GitStatus: - """Class for resolving git gpg singing state.""" - - class Definition: - """Definition of a git gpg sing state.""" - - key: str = 'N' - status: int = 2 - msg: str = '' - - def __init__(self, key: str = 'N', status: int = 2, msg: str = '') -> None: - """Define a git Status -> needed for lookup.""" - self.key = key - self.status = status - self.msg = msg - - N = Definition(key='N', status=2, msg='no signature',) - G = Definition(key='G', status=0, msg='valid signature',) - B = Definition(key='B', status=2, msg='bad signature',) - U = Definition(key='U', status=1, msg='good signature, unknown validity',) - X = Definition(key='X', status=1, msg='good signature, expired',) - Y = Definition(key='Y', status=1, msg='good signature, expired key',) - R = Definition(key='R', status=2, msg='good signature, revoked key',) - E = Definition(key='E', status=1, msg='cannot be checked',) + return {'hash': output[0], 'author': output[1], 'mail': output[2], 'date': output[3], 'message': output[4]} # endregion diff --git a/InvenTree/plugin/plugin.py b/InvenTree/plugin/plugin.py index 8d19c1c80e..4b2d2886cd 100644 --- a/InvenTree/plugin/plugin.py +++ b/InvenTree/plugin/plugin.py @@ -14,7 +14,7 @@ from django.urls.base import reverse from django.utils.text import slugify from django.utils.translation import gettext_lazy as _ -from plugin.helpers import GitStatus, get_git_log +from plugin.helpers import get_git_log logger = logging.getLogger("inventree") @@ -394,16 +394,6 @@ class InvenTreePlugin(VersionMixin, MixinBase, MetaBase): if package.get('date'): package['date'] = datetime.fromisoformat(package.get('date')) - # process sign state - sign_state = getattr(GitStatus, str(package.get('verified')), GitStatus.N) - if sign_state.status == 0: - self.sign_color = 'success' # pragma: no cover - elif sign_state.status == 1: - self.sign_color = 'warning' - else: - self.sign_color = 'danger' # pragma: no cover - # set variables self.package = package - self.sign_state = sign_state # endregion diff --git a/InvenTree/templates/InvenTree/settings/plugin.html b/InvenTree/templates/InvenTree/settings/plugin.html index 190f7697f1..3813264176 100644 --- a/InvenTree/templates/InvenTree/settings/plugin.html +++ b/InvenTree/templates/InvenTree/settings/plugin.html @@ -24,8 +24,6 @@ {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_NAVIGATION" icon="fa-sitemap" %} {% include "InvenTree/settings/setting.html" with key="ENABLE_PLUGINS_APP" icon="fa-rocket" %} {% include "InvenTree/settings/setting.html" with key="PLUGIN_ON_STARTUP" %} - - {% include "InvenTree/settings/setting.html" with key="PLUGIN_CHECK_SIGNATURES" %} diff --git a/InvenTree/templates/InvenTree/settings/plugin_settings.html b/InvenTree/templates/InvenTree/settings/plugin_settings.html index d83b408867..21646a298e 100644 --- a/InvenTree/templates/InvenTree/settings/plugin_settings.html +++ b/InvenTree/templates/InvenTree/settings/plugin_settings.html @@ -118,20 +118,6 @@ {% trans "Commit Message" %}{{ plugin.package.message }}{% include "clip.html" %} {% endif %} - - {% settings_value "PLUGIN_CHECK_SIGNATURES" as signatures %} - {% if signatures %} - - - {% trans "Sign Status" %} - {% if plugin.package.verified %}{{ plugin.package.verified }}: {% endif %}{{ plugin.sign_state.msg }} - - - - {% trans "Sign Key" %} - {{ plugin.package.key }}{% include "clip.html" %} - - {% endif %} From 8ca02cb105ff7be33993e119e1e819577b2dc9f2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 12 Jun 2023 21:03:08 +1000 Subject: [PATCH 010/103] Catch exception (#5008) * Catch exception * Update settings.py Don't print out exception message, just log error * Update settings.py Style fixes * Update settings.py Remove error message * Update settings.py Remove logger --- InvenTree/common/settings.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/InvenTree/common/settings.py b/InvenTree/common/settings.py index be049cf433..0c84e51ee7 100644 --- a/InvenTree/common/settings.py +++ b/InvenTree/common/settings.py @@ -7,14 +7,13 @@ from moneyed import CURRENCIES def currency_code_default(): """Returns the default currency code (or USD if not specified)""" - from django.db.utils import ProgrammingError from common.models import InvenTreeSetting try: code = InvenTreeSetting.get_setting('INVENTREE_DEFAULT_CURRENCY', create=False, cache=False) - except ProgrammingError: # pragma: no cover - # database is not initialized yet + except Exception: # pragma: no cover + # Database may not yet be ready, no need to throw an error here code = '' if code not in CURRENCIES: @@ -42,4 +41,4 @@ def stock_expiry_enabled(): """Returns True if the stock expiry feature is enabled.""" from common.models import InvenTreeSetting - return InvenTreeSetting.get_setting('STOCK_ENABLE_EXPIRY') + return InvenTreeSetting.get_setting('STOCK_ENABLE_EXPIRY', False, create=False) From 89ad8312ce961c09a2951025dbafce4c61cbcf14 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 13 Jun 2023 07:34:41 +1000 Subject: [PATCH 011/103] Fix migration order (#5027) - Ensure stock.0094 runs before company.0059 - Ref https://github.com/inventree/InvenTree/pull/4984 - Ideally addresses historical migration issues --- InvenTree/company/migrations/0059_supplierpart_pack_units.py | 1 + 1 file changed, 1 insertion(+) diff --git a/InvenTree/company/migrations/0059_supplierpart_pack_units.py b/InvenTree/company/migrations/0059_supplierpart_pack_units.py index 864ebad772..8f97b4279d 100644 --- a/InvenTree/company/migrations/0059_supplierpart_pack_units.py +++ b/InvenTree/company/migrations/0059_supplierpart_pack_units.py @@ -8,6 +8,7 @@ import InvenTree.fields class Migration(migrations.Migration): dependencies = [ + ('stock', '0094_auto_20230220_0025'), ('company', '0058_auto_20230515_0004'), ] From 9117c2234b69b144e5e569b628a04b28c780b005 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 13 Jun 2023 07:34:56 +1000 Subject: [PATCH 012/103] Migration fixes (#5025) * Catch exception on is_worker_running - Exception may occur if table is not yet available - If it *does* then we can assume the worker is no running * General error catch in offload_task * Pick an earlier migration to run from? * Update initial common migration - Handle error on table duplication * Change target migration file - Ensure that part MPTT migrations have been applied! * Fix migration ref - Need 0025 - Price field needs to be available --- InvenTree/InvenTree/status.py | 9 ++++++- InvenTree/InvenTree/tasks.py | 2 ++ InvenTree/common/migrations/0001_initial.py | 27 ++++++++++++++++++++- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/status.py b/InvenTree/InvenTree/status.py index cb837a2439..a38da21b32 100644 --- a/InvenTree/InvenTree/status.py +++ b/InvenTree/InvenTree/status.py @@ -38,7 +38,14 @@ def is_worker_running(**kwargs): ) # If any results are returned, then the background worker is running! - return results.exists() + try: + result = results.exists() + except Exception: + # We may throw an exception if the database is not ready, + # or if the django_q table is not yet created (i.e. in CI testing) + result = False + + return result def check_system_health(**kwargs): diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 9a242040e3..41aeddcbf6 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -186,6 +186,8 @@ def offload_task(taskname, *args, force_async=False, force_sync=False, **kwargs) task.run() except ImportError: raise_warning(f"WARNING: '{taskname}' not started - Function not found") + except Exception as exc: + raise_warning(f"WARNING: '{taskname}' not started due to {type(exc)}") else: if callable(taskname): diff --git a/InvenTree/common/migrations/0001_initial.py b/InvenTree/common/migrations/0001_initial.py index a3a357b86f..089844a70d 100644 --- a/InvenTree/common/migrations/0001_initial.py +++ b/InvenTree/common/migrations/0001_initial.py @@ -4,15 +4,40 @@ import django.core.validators from django.db import migrations, models +class CreateModelOrSkip(migrations.CreateModel): + """Custom migration operation to create a model if it does not already exist. + + - If the model already exists, the migration is skipped + - This class has been added to deal with some errors being thrown in CI tests + - The 'common_currency' table doesn't exist anymore anyway! + - In the future, these migrations will be squashed + """ + + def database_forwards(self, app_label, schema_editor, from_state, to_state) -> None: + """Forwards migration *attempts* to create the model, but will fail gracefully if it already exists""" + + try: + super().database_forwards(app_label, schema_editor, from_state, to_state) + except Exception: + pass + + def state_forwards(self, app_label, state) -> None: + try: + super().state_forwards(app_label, state) + except Exception: + pass + + class Migration(migrations.Migration): initial = True + atomic = False dependencies = [ ] operations = [ - migrations.CreateModel( + CreateModelOrSkip( name='Currency', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), From 98bddd32d0474156f7dc046ba80ba0c8947f8e08 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 13 Jun 2023 12:40:21 +1000 Subject: [PATCH 013/103] Skip pricing updates when importing data (#5026) * Skip pricing updates when importing data - Depending on migration state, pricing table might not exist - post-save hooks can call update_pricing - So, ignore if running data migration or import * Typo fix --- InvenTree/InvenTree/ready.py | 5 +++++ InvenTree/part/models.py | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/InvenTree/InvenTree/ready.py b/InvenTree/InvenTree/ready.py index e6a4ec9ae2..6e16a3b471 100644 --- a/InvenTree/InvenTree/ready.py +++ b/InvenTree/InvenTree/ready.py @@ -13,6 +13,11 @@ def isImportingData(): return 'loaddata' in sys.argv +def isRunningMigrations(): + """Return True if the database is currently running migrations.""" + return 'migrate' in sys.argv or 'makemigrations' in sys.argv + + def canAppAccessDatabase(allow_test: bool = False, allow_plugins: bool = False, allow_shell: bool = False): """Returns True if the apps.py file can access database records. diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index b775960b70..8e65f95e2f 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -2363,6 +2363,16 @@ class PartPricing(common.models.MetaMixin): def schedule_for_update(self, counter: int = 0): """Schedule this pricing to be updated""" + import InvenTree.ready + + # If importing data, skip pricing update + if InvenTree.ready.isImportingData(): + return + + # If running data migrations, skip pricing update + if InvenTree.ready.isRunningMigrations(): + return + if not self.part or not self.part.pk or not Part.objects.filter(pk=self.part.pk).exists(): logger.warning("Referenced part instance does not exist - skipping pricing update.") return @@ -2415,6 +2425,14 @@ class PartPricing(common.models.MetaMixin): def update_pricing(self, counter: int = 0, cascade: bool = True): """Recalculate all cost data for the referenced Part instance""" + # If importing data, skip pricing update + if InvenTree.ready.isImportingData(): + return + + # If running data migrations, skip pricing update + if InvenTree.ready.isRunningMigrations(): + return + if self.pk is not None: try: self.refresh_from_db() From 6ba777d363170976fb50c93e48b0bab91c32a67d Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 13 Jun 2023 20:18:32 +1000 Subject: [PATCH 014/103] Build Order Updates (#4855) * Add new BuildLine model - Represents an instance of a BOM item against a BuildOrder * Create BuildLine instances automatically When a new Build is created, automatically generate new BuildLine items * Improve logic for handling exchange rate backends * logic fixes * Adds API endpoints Add list and detail API endpoints for new BuildLine model * update users/models.py - Add new model to roles definition * bulk-create on auto_allocate Save database hits by performing a bulk-create * Add skeleton data migration * Create BuildLines for existing orders * Working on building out BuildLine table * Adds link for "BuildLine" to "BuildItem" - A "BuildItem" will now be tracked against a BuildLine - Not tracked directly against a build - Not tracked directly against a BomItem - Add schema migration - Add data migration to update links * Adjust migration 0045 - bom_item and build fields are about to be removed - Set them to "nullable" so the data doesn't get removed * Remove old fields from BuildItem model - build fk - bom_item fk - A lot of other required changes too * Update BuildLine.bom_item field - Delete the BuildLine if the BomItem is removed - This is closer to current behaviour * Cleanup for Build model - tracked_bom_items -> tracked_line_items - untracked_bom_items -> tracked_bom_items - remove build.can_complete - move bom_item specific methods to the BuildLine model - Cleanup / consolidation * front-end work - Update javascript - Cleanup HTML templates * Add serializer annotation and filtering - Annotate 'allocated' quantity - Filter by allocated / trackable / optional / consumable * Make table sortable * Add buttons * Add callback for building new stock * Fix Part annotation * Adds callback to order parts * Allocation works again * template cleanup * Fix allocate / unallocate actions - Also turns out "unallocate" is not a word.. * auto-allocate works again * Fix call to build.is_over_allocated * Refactoring updates * Bump API version * Cleaner implementation of allocation sub-table * Fix rendering in build output table * Improvements to StockItem list API - Refactor very old code - Add option to include test results to queryset * Add TODO for later me * Fix for serializers.py * Working on cleaner implementation of build output table * Add function to determine if a single output is fully allocated * Updates to build.js - Button callbacks - Table rendering * Revert previous changes to build.serializers.py * Fix for forms.js * Rearrange code in build.js * Rebuild "allocated lines" for output table * Fix allocation calculation * Show or hide column for tracked parts * Improve debug messages * Refactor "loadBuildLineTable" - Allow it to also be used as output sub-table * Refactor "completed tests" column * Remove old javascript - Cleans up a *lot* of crusty old code * Annotate the available stock quantity to BuildLine serializer - Similar pattern to BomItem serializer - Needs refactoring in the future * Update available column * Fix build allocation table - Bug fix - Make pretty * linting fixes * Allow sorting by available stock * Tweak for "required tests" column * Bug fix for completing a build output * Fix for consumable stock * Fix for trim_allocated_stock * Fix for creating new build * Migration fix - Ensure initial django_q migrations are applied - Why on earth is this failing now? * Catch exception * Update for exception handling * Update migrations - Ensure inventreesetting is added * Catch all exceptions when getting default currency code * Bug fix for currency exchange rates update * Working on unit tests * Unit test fixes * More work on unit tests * Use bulk_create in unit test * Update required quantity when a BuildOrder is saved * Tweak overage display in BOM table * Fix icon in BOM table * Fix spelling error * More unit test fixes * Build reports - Add line_items - Update docs - Cleanup * Reimplement is_partially_allocated method * Update docs about overage * Unit testing for data migration * Add "required_for_build_orders" annotation - Makes API query *much* faster now - remove old "required_parts_to_complete_build" method - Cleanup part API filter code * Adjust order of fixture loading * Fix unit test * Prevent "schedule_pricing_update" in unit tests - Should cut down on DB hits significantly * Unit test updates * Improvements for unit test - Don't hard-code pk values - postgresql no likey * Better unit test --- InvenTree/InvenTree/api_version.py | 5 +- InvenTree/InvenTree/apps.py | 23 +- InvenTree/InvenTree/static/css/inventree.css | 3 +- InvenTree/InvenTree/tasks.py | 17 +- InvenTree/InvenTree/test_urls.py | 4 +- InvenTree/InvenTree/views.py | 6 +- InvenTree/build/admin.py | 23 +- InvenTree/build/api.py | 113 +- InvenTree/build/migrations/0043_buildline.py | 28 + .../migrations/0044_auto_20230528_1410.py | 97 + .../migrations/0045_builditem_build_line.py | 19 + .../migrations/0046_auto_20230606_1033.py | 95 + .../migrations/0047_auto_20230606_1058.py | 26 + InvenTree/build/models.py | 563 ++--- InvenTree/build/serializers.py | 235 +- .../build/templates/build/build_base.html | 2 +- InvenTree/build/templates/build/detail.html | 111 +- InvenTree/build/templates/build/sidebar.html | 8 +- InvenTree/build/test_api.py | 71 +- InvenTree/build/test_build.py | 111 +- InvenTree/build/test_migrations.py | 136 ++ InvenTree/build/views.py | 2 - InvenTree/common/api.py | 9 +- InvenTree/common/settings.py | 4 + .../migrations/0025_auto_20201110_1001.py | 1 + .../migrations/0039_auto_20210701_0509.py | 1 + .../0051_alter_supplierpricebreak_price.py | 1 + .../migrations/0038_auto_20201112_1737.py | 1 + InvenTree/order/models.py | 6 +- InvenTree/order/test_sales_order.py | 2 +- InvenTree/part/api.py | 53 +- InvenTree/part/filters.py | 24 +- InvenTree/part/fixtures/part.yaml | 2 +- .../migrations/0055_auto_20201110_1001.py | 1 + InvenTree/part/models.py | 25 +- InvenTree/part/serializers.py | 40 +- InvenTree/part/test_api.py | 11 +- InvenTree/part/test_category.py | 8 + InvenTree/part/test_pricing.py | 10 +- InvenTree/plugin/base/event/events.py | 6 +- InvenTree/report/models.py | 2 + InvenTree/stock/api.py | 99 +- .../migrations/0053_auto_20201110_0513.py | 1 + .../migrations/0065_auto_20210701_0509.py | 24 +- InvenTree/stock/serializers.py | 103 +- InvenTree/templates/js/translated/bom.js | 6 +- InvenTree/templates/js/translated/build.js | 1892 ++++++----------- .../templates/js/translated/sales_order.js | 4 +- .../templates/js/translated/table_filters.js | 12 +- InvenTree/users/models.py | 1 + docs/docs/build/allocate.md | 4 +- docs/docs/build/bom.md | 6 - docs/docs/build/build.md | 2 +- docs/docs/report/build.md | 37 +- 54 files changed, 2193 insertions(+), 1903 deletions(-) create mode 100644 InvenTree/build/migrations/0043_buildline.py create mode 100644 InvenTree/build/migrations/0044_auto_20230528_1410.py create mode 100644 InvenTree/build/migrations/0045_builditem_build_line.py create mode 100644 InvenTree/build/migrations/0046_auto_20230606_1033.py create mode 100644 InvenTree/build/migrations/0047_auto_20230606_1058.py diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index e98a0adca8..c89fb1b799 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 119 +INVENTREE_API_VERSION = 120 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v120 -> 2023-06-07 : https://github.com/inventree/InvenTree/pull/4855 + - Major overhaul of the build order API + - Adds new BuildLine model v119 -> 2023-06-01 : https://github.com/inventree/InvenTree/pull/4898 - Add Metadata to: Part test templates, Part parameters, Part category parameter templates, BOM item substitute, Part relateds, Stock item test result diff --git a/InvenTree/InvenTree/apps.py b/InvenTree/InvenTree/apps.py index 1ba43edee7..4d2705be50 100644 --- a/InvenTree/InvenTree/apps.py +++ b/InvenTree/InvenTree/apps.py @@ -126,19 +126,22 @@ class InvenTreeConfig(AppConfig): update = False try: - backend = ExchangeBackend.objects.get(name='InvenTreeExchange') + backend = ExchangeBackend.objects.filter(name='InvenTreeExchange') - last_update = backend.last_update + if backend.exists(): + backend = backend.first() - if last_update is None: - # Never been updated - logger.info("Exchange backend has never been updated") - update = True + last_update = backend.last_update - # Backend currency has changed? - if base_currency != backend.base_currency: - logger.info(f"Base currency changed from {backend.base_currency} to {base_currency}") - update = True + if last_update is None: + # Never been updated + logger.info("Exchange backend has never been updated") + update = True + + # Backend currency has changed? + if base_currency != backend.base_currency: + logger.info(f"Base currency changed from {backend.base_currency} to {base_currency}") + update = True except (ExchangeBackend.DoesNotExist): logger.info("Exchange backend not found - updating") diff --git a/InvenTree/InvenTree/static/css/inventree.css b/InvenTree/InvenTree/static/css/inventree.css index 8bc36c3d70..a118a58e22 100644 --- a/InvenTree/InvenTree/static/css/inventree.css +++ b/InvenTree/InvenTree/static/css/inventree.css @@ -223,8 +223,7 @@ main { } .sub-table { - margin-left: 45px; - margin-right: 45px; + margin-left: 60px; } .detail-icon .glyphicon { diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 41aeddcbf6..6c813731f0 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -497,7 +497,7 @@ def check_for_updates(): def update_exchange_rates(): """Update currency exchange rates.""" try: - from djmoney.contrib.exchange.models import ExchangeBackend, Rate + from djmoney.contrib.exchange.models import Rate from common.settings import currency_code_default, currency_codes from InvenTree.exchange import InvenTreeExchange @@ -509,22 +509,9 @@ def update_exchange_rates(): # Other error? return - # Test to see if the database is ready yet - try: - backend = ExchangeBackend.objects.get(name='InvenTreeExchange') - except ExchangeBackend.DoesNotExist: - pass - except Exception: # pragma: no cover - # Some other error - logger.warning("update_exchange_rates: Database not ready") - return - backend = InvenTreeExchange() - logger.info(f"Updating exchange rates from {backend.url}") - base = currency_code_default() - - logger.info(f"Using base currency '{base}'") + logger.info(f"Updating exchange rates using base currency '{base}'") try: backend.update_rates(base_currency=base) diff --git a/InvenTree/InvenTree/test_urls.py b/InvenTree/InvenTree/test_urls.py index 8586de0e69..2f2db7e2a9 100644 --- a/InvenTree/InvenTree/test_urls.py +++ b/InvenTree/InvenTree/test_urls.py @@ -14,18 +14,18 @@ class URLTest(TestCase): # Need fixture data in the database fixtures = [ 'settings', - 'build', 'company', 'manufacturer_part', 'price_breaks', 'supplier_part', 'order', 'sales_order', - 'bom', 'category', 'params', 'part_pricebreaks', 'part', + 'bom', + 'build', 'test_templates', 'location', 'stock_tests', diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 014b384000..d4e364fcf4 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -525,8 +525,10 @@ class SettingsView(TemplateView): # When were the rates last updated? try: - backend = ExchangeBackend.objects.get(name='InvenTreeExchange') - ctx["rates_updated"] = backend.last_update + backend = ExchangeBackend.objects.filter(name='InvenTreeExchange') + if backend.exists(): + backend = backend.first() + ctx["rates_updated"] = backend.last_update except Exception: ctx["rates_updated"] = None diff --git a/InvenTree/build/admin.py b/InvenTree/build/admin.py index 9bcfc78327..a9f8d538c3 100644 --- a/InvenTree/build/admin.py +++ b/InvenTree/build/admin.py @@ -6,7 +6,7 @@ from import_export.admin import ImportExportModelAdmin from import_export.fields import Field from import_export import widgets -from build.models import Build, BuildItem +from build.models import Build, BuildLine, BuildItem from InvenTree.admin import InvenTreeResource import part.models @@ -87,18 +87,33 @@ class BuildItemAdmin(admin.ModelAdmin): """Class for managing the BuildItem model via the admin interface""" list_display = ( - 'build', 'stock_item', 'quantity' ) autocomplete_fields = [ - 'build', - 'bom_item', + 'build_line', 'stock_item', 'install_into', ] +class BuildLineAdmin(admin.ModelAdmin): + """Class for managing the BuildLine model via the admin interface""" + + list_display = ( + 'build', + 'bom_item', + 'quantity', + ) + + search_fields = [ + 'build__title', + 'build__reference', + 'bom_item__sub_part__name', + ] + + admin.site.register(Build, BuildAdmin) admin.site.register(BuildItem, BuildItemAdmin) +admin.site.register(BuildLine, BuildLineAdmin) diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index e0f9a4f8bb..c973884c9d 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -1,5 +1,6 @@ """JSON API for the Build app.""" +from django.db.models import F from django.urls import include, path, re_path from django.utils.translation import gettext_lazy as _ from django.contrib.auth.models import User @@ -17,7 +18,7 @@ from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI import build.admin import build.serializers -from build.models import Build, BuildItem, BuildOrderAttachment +from build.models import Build, BuildLine, BuildItem, BuildOrderAttachment import part.models from users.models import Owner from InvenTree.filters import SEARCH_ORDER_FILTER_ALIAS @@ -251,6 +252,88 @@ class BuildUnallocate(CreateAPI): return ctx +class BuildLineFilter(rest_filters.FilterSet): + """Custom filterset for the BuildLine API endpoint.""" + + class Meta: + """Meta information for the BuildLineFilter class.""" + model = BuildLine + fields = [ + 'build', + 'bom_item', + ] + + # Fields on related models + consumable = rest_filters.BooleanFilter(label=_('Consumable'), field_name='bom_item__consumable') + optional = rest_filters.BooleanFilter(label=_('Optional'), field_name='bom_item__optional') + tracked = rest_filters.BooleanFilter(label=_('Tracked'), field_name='bom_item__sub_part__trackable') + + allocated = rest_filters.BooleanFilter(label=_('Allocated'), method='filter_allocated') + + def filter_allocated(self, queryset, name, value): + """Filter by whether each BuildLine is fully allocated""" + + if str2bool(value): + return queryset.filter(allocated__gte=F('quantity')) + else: + return queryset.filter(allocated__lt=F('quantity')) + + +class BuildLineEndpoint: + """Mixin class for BuildLine API endpoints.""" + + queryset = BuildLine.objects.all() + serializer_class = build.serializers.BuildLineSerializer + + def get_queryset(self): + """Override queryset to select-related and annotate""" + queryset = super().get_queryset() + + queryset = queryset.select_related( + 'build', 'bom_item', + ) + + queryset = build.serializers.BuildLineSerializer.annotate_queryset(queryset) + + return queryset + + +class BuildLineList(BuildLineEndpoint, ListCreateAPI): + """API endpoint for accessing a list of BuildLine objects""" + + filterset_class = BuildLineFilter + filter_backends = SEARCH_ORDER_FILTER_ALIAS + + ordering_fields = [ + 'part', + 'allocated', + 'reference', + 'quantity', + 'consumable', + 'optional', + 'unit_quantity', + 'available_stock', + ] + + ordering_field_aliases = { + 'part': 'bom_item__sub_part__name', + 'reference': 'bom_item__reference', + 'unit_quantity': 'bom_item__quantity', + 'consumable': 'bom_item__consumable', + 'optional': 'bom_item__optional', + } + + search_fields = [ + 'bom_item__sub_part__name', + 'bom_item__reference', + ] + + +class BuildLineDetail(BuildLineEndpoint, RetrieveUpdateDestroyAPI): + """API endpoint for detail view of a BuildLine object.""" + pass + + class BuildOrderContextMixin: """Mixin class which adds build order as serializer context variable.""" @@ -373,9 +456,8 @@ class BuildItemFilter(rest_filters.FilterSet): """Metaclass option""" model = BuildItem fields = [ - 'build', + 'build_line', 'stock_item', - 'bom_item', 'install_into', ] @@ -384,6 +466,11 @@ class BuildItemFilter(rest_filters.FilterSet): field_name='stock_item__part', ) + build = rest_filters.ModelChoiceFilter( + queryset=build.models.Build.objects.all(), + field_name='build_line__build', + ) + tracked = rest_filters.BooleanFilter(label='Tracked', method='filter_tracked') def filter_tracked(self, queryset, name, value): @@ -409,10 +496,9 @@ class BuildItemList(ListCreateAPI): try: params = self.request.query_params - kwargs['part_detail'] = str2bool(params.get('part_detail', False)) - kwargs['build_detail'] = str2bool(params.get('build_detail', False)) - kwargs['location_detail'] = str2bool(params.get('location_detail', False)) - kwargs['stock_detail'] = str2bool(params.get('stock_detail', True)) + for key in ['part_detail', 'location_detail', 'stock_detail', 'build_detail']: + if key in params: + kwargs[key] = str2bool(params.get(key, False)) except AttributeError: pass @@ -423,9 +509,8 @@ class BuildItemList(ListCreateAPI): queryset = BuildItem.objects.all() queryset = queryset.select_related( - 'bom_item', - 'bom_item__sub_part', - 'build', + 'build_line', + 'build_line__build', 'install_into', 'stock_item', 'stock_item__location', @@ -435,7 +520,7 @@ class BuildItemList(ListCreateAPI): return queryset def filter_queryset(self, queryset): - """Customm query filtering for the BuildItem list.""" + """Custom query filtering for the BuildItem list.""" queryset = super().filter_queryset(queryset) params = self.request.query_params @@ -487,6 +572,12 @@ build_api_urls = [ re_path(r'^.*$', BuildAttachmentList.as_view(), name='api-build-attachment-list'), ])), + # Build lines + re_path(r'^line/', include([ + path(r'/', BuildLineDetail.as_view(), name='api-build-line-detail'), + re_path(r'^.*$', BuildLineList.as_view(), name='api-build-line-list'), + ])), + # Build Items re_path(r'^item/', include([ path(r'/', include([ diff --git a/InvenTree/build/migrations/0043_buildline.py b/InvenTree/build/migrations/0043_buildline.py new file mode 100644 index 0000000000..8da86bc015 --- /dev/null +++ b/InvenTree/build/migrations/0043_buildline.py @@ -0,0 +1,28 @@ +# Generated by Django 3.2.19 on 2023-05-19 06:04 + +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('part', '0109_auto_20230517_1048'), + ('build', '0042_alter_build_notes'), + ] + + operations = [ + migrations.CreateModel( + name='BuildLine', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('quantity', models.DecimalField(decimal_places=5, default=1, help_text='Required quantity for build order', max_digits=15, validators=[django.core.validators.MinValueValidator(0)], verbose_name='Quantity')), + ('bom_item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='build_lines', to='part.bomitem')), + ('build', models.ForeignKey(help_text='Build object', on_delete=django.db.models.deletion.CASCADE, related_name='build_lines', to='build.build')), + ], + options={ + 'unique_together': {('build', 'bom_item')}, + }, + ), + ] diff --git a/InvenTree/build/migrations/0044_auto_20230528_1410.py b/InvenTree/build/migrations/0044_auto_20230528_1410.py new file mode 100644 index 0000000000..6b7da23155 --- /dev/null +++ b/InvenTree/build/migrations/0044_auto_20230528_1410.py @@ -0,0 +1,97 @@ +# Generated by Django 3.2.19 on 2023-05-28 14:10 + +from django.db import migrations + + +def get_bom_items_for_part(part, Part, BomItem): + """ Return a list of all BOM items for a given part. + + Note that we cannot use the ORM here (as we are inside a data migration), + so we *copy* the logic from the Part class. + + This is a snapshot of the Part.get_bom_items() method as of 2023-05-29 + """ + + bom_items = set() + + # Get all BOM items which directly reference the part + for bom_item in BomItem.objects.filter(part=part): + bom_items.add(bom_item) + + # Get all BOM items which are inherited by the part + parents = Part.objects.filter( + tree_id=part.tree_id, + level__lt=part.level, + lft__lt=part.lft, + rght__gt=part.rght + ) + + for bom_item in BomItem.objects.filter(part__in=parents, inherited=True): + bom_items.add(bom_item) + + return list(bom_items) + + +def add_lines_to_builds(apps, schema_editor): + """Create BuildOrderLine objects for existing build orders""" + + # Get database models + Build = apps.get_model("build", "Build") + BuildLine = apps.get_model("build", "BuildLine") + + Part = apps.get_model("part", "Part") + BomItem = apps.get_model("part", "BomItem") + + build_lines = [] + + builds = Build.objects.all() + + if builds.count() > 0: + print(f"Creating BuildOrderLine objects for {builds.count()} existing builds") + + for build in builds: + # Create a BuildOrderLine for each BuildItem + + bom_items = get_bom_items_for_part(build.part, Part, BomItem) + + for item in bom_items: + build_lines.append( + BuildLine( + build=build, + bom_item=item, + quantity=item.quantity * build.quantity, + ) + ) + + if len(build_lines) > 0: + # Construct the new BuildLine objects + BuildLine.objects.bulk_create(build_lines) + print(f"Created {len(build_lines)} BuildOrderLine objects for existing builds") + + +def remove_build_lines(apps, schema_editor): + """Remove BuildOrderLine objects from the database""" + + # Get database models + BuildLine = apps.get_model("build", "BuildLine") + + n = BuildLine.objects.all().count() + + BuildLine.objects.all().delete() + + if n > 0: + print(f"Removed {n} BuildOrderLine objects") + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0043_buildline'), + ] + + operations = [ + migrations.RunPython( + add_lines_to_builds, + reverse_code=remove_build_lines, + ), + ] diff --git a/InvenTree/build/migrations/0045_builditem_build_line.py b/InvenTree/build/migrations/0045_builditem_build_line.py new file mode 100644 index 0000000000..690bb0352d --- /dev/null +++ b/InvenTree/build/migrations/0045_builditem_build_line.py @@ -0,0 +1,19 @@ +# Generated by Django 3.2.19 on 2023-06-06 10:30 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0044_auto_20230528_1410'), + ] + + operations = [ + migrations.AddField( + model_name='builditem', + name='build_line', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='allocations', to='build.buildline'), + ), + ] diff --git a/InvenTree/build/migrations/0046_auto_20230606_1033.py b/InvenTree/build/migrations/0046_auto_20230606_1033.py new file mode 100644 index 0000000000..60d290a70f --- /dev/null +++ b/InvenTree/build/migrations/0046_auto_20230606_1033.py @@ -0,0 +1,95 @@ +# Generated by Django 3.2.19 on 2023-06-06 10:33 + +import logging + +from django.db import migrations + + +logger = logging.getLogger('inventree') + + +def add_build_line_links(apps, schema_editor): + """Data migration to add links between BuildLine and BuildItem objects. + + Associated model types: + Build: A "Build Order" + BomItem: An individual line in the BOM for Build.part + BuildItem: An individual stock allocation against the Build Order + BuildLine: (new model) an individual line in the Build Order + + Goals: + - Find all BuildItem objects which are associated with a Build + - Link them against the relevant BuildLine object + - The BuildLine objects should have been created in 0044_auto_20230528_1410.py + """ + + BuildItem = apps.get_model("build", "BuildItem") + BuildLine = apps.get_model("build", "BuildLine") + + # Find any existing BuildItem objects + build_items = BuildItem.objects.all() + + n_missing = 0 + + for item in build_items: + + # Find the relevant BuildLine object + line = BuildLine.objects.filter( + build=item.build, + bom_item=item.bom_item + ).first() + + if line is None: + logger.warning(f"BuildLine does not exist for BuildItem {item.pk}") + n_missing += 1 + + if item.build is None or item.bom_item is None: + continue + + # Create one! + line = BuildLine.objects.create( + build=item.build, + bom_item=item.bom_item, + quantity=item.bom_item.quantity * item.build.quantity + ) + + # Link the BuildItem to the BuildLine + # In the next data migration, we remove the 'build' and 'bom_item' fields from BuildItem + item.build_line = line + item.save() + + if build_items.count() > 0: + logger.info(f"add_build_line_links: Updated {build_items.count()} BuildItem objects (added {n_missing})") + + +def reverse_build_links(apps, schema_editor): + """Reverse data migration from add_build_line_links + + Basically, iterate through each BuildItem and update the links based on the BuildLine + """ + + BuildItem = apps.get_model("build", "BuildItem") + + items = BuildItem.objects.all() + + for item in items: + item.build = item.build_line.build + item.bom_item = item.build_line.bom_item + item.save() + + if items.count() > 0: + logger.info(f"reverse_build_links: Updated {items.count()} BuildItem objects") + + +class Migration(migrations.Migration): + + dependencies = [ + ('build', '0045_builditem_build_line'), + ] + + operations = [ + migrations.RunPython( + add_build_line_links, + reverse_code=reverse_build_links, + ) + ] diff --git a/InvenTree/build/migrations/0047_auto_20230606_1058.py b/InvenTree/build/migrations/0047_auto_20230606_1058.py new file mode 100644 index 0000000000..88535c7347 --- /dev/null +++ b/InvenTree/build/migrations/0047_auto_20230606_1058.py @@ -0,0 +1,26 @@ +# Generated by Django 3.2.19 on 2023-06-06 10:58 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('stock', '0101_stockitemtestresult_metadata'), + ('build', '0046_auto_20230606_1033'), + ] + + operations = [ + migrations.AlterUniqueTogether( + name='builditem', + unique_together={('build_line', 'stock_item', 'install_into')}, + ), + migrations.RemoveField( + model_name='builditem', + name='bom_item', + ), + migrations.RemoveField( + model_name='builditem', + name='build', + ), + ] diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 726d99187d..b382e65bda 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -1,7 +1,7 @@ """Build database model definitions.""" import decimal - +import logging import os from datetime import datetime @@ -40,6 +40,9 @@ import stock.models import users.models +logger = logging.getLogger('inventree') + + class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models.InvenTreeNotesMixin, InvenTree.models.MetadataMixin, InvenTree.models.ReferenceIndexingMixin): """A Build object organises the creation of new StockItem objects from other existing StockItem objects. @@ -334,33 +337,24 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. return self.status in BuildStatusGroups.ACTIVE_CODES @property - def bom_items(self): - """Returns the BOM items for the part referenced by this BuildOrder.""" - return self.part.get_bom_items() + def tracked_line_items(self): + """Returns the "trackable" BOM lines for this BuildOrder.""" - @property - def tracked_bom_items(self): - """Returns the "trackable" BOM items for this BuildOrder.""" - items = self.bom_items - items = items.filter(sub_part__trackable=True) + return self.build_lines.filter(bom_item__sub_part__trackable=True) - return items - - def has_tracked_bom_items(self): + def has_tracked_line_items(self): """Returns True if this BuildOrder has trackable BomItems.""" - return self.tracked_bom_items.count() > 0 + return self.tracked_line_items.count() > 0 @property - def untracked_bom_items(self): + def untracked_line_items(self): """Returns the "non trackable" BOM items for this BuildOrder.""" - items = self.bom_items - items = items.filter(sub_part__trackable=False) - return items + return self.build_lines.filter(bom_item__sub_part__trackable=False) - def has_untracked_bom_items(self): + def has_untracked_line_items(self): """Returns True if this BuildOrder has non trackable BomItems.""" - return self.untracked_bom_items.count() > 0 + return self.has_untracked_line_items.count() > 0 @property def remaining(self): @@ -422,6 +416,11 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. return quantity + def is_partially_allocated(self): + """Test is this build order has any stock allocated against it""" + + return self.allocated_stock.count() > 0 + @property def incomplete_outputs(self): """Return all the "incomplete" build outputs.""" @@ -478,21 +477,22 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. @property def can_complete(self): - """Returns True if this build can be "completed". + """Returns True if this BuildOrder is ready to be completed - Must not have any outstanding build outputs - - 'completed' value must meet (or exceed) the 'quantity' value + - Completed count must meet the required quantity + - Untracked parts must be allocated """ + if self.incomplete_count > 0: return False if self.remaining > 0: return False - if not self.are_untracked_parts_allocated(): + if not self.is_fully_allocated(tracked=False): return False - # No issues! return True @transaction.atomic @@ -511,7 +511,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. # Ensure that there are no longer any BuildItem objects # which point to this Build Order - self.allocated_stock.all().delete() + self.allocated_stock.delete() # Register an event trigger_event('build.completed', id=self.pk) @@ -566,13 +566,14 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. remove_allocated_stock = kwargs.get('remove_allocated_stock', False) remove_incomplete_outputs = kwargs.get('remove_incomplete_outputs', False) - # Handle stock allocations - for build_item in self.allocated_stock.all(): + # Find all BuildItem objects associated with this Build + items = self.allocated_stock - if remove_allocated_stock: - build_item.complete_allocation(user) + if remove_allocated_stock: + for item in items: + item.complete_allocation(user) - build_item.delete() + items.delete() # Remove incomplete outputs (if required) if remove_incomplete_outputs: @@ -591,20 +592,19 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. trigger_event('build.cancelled', id=self.pk) @transaction.atomic - def unallocateStock(self, bom_item=None, output=None): - """Unallocate stock from this Build. + def deallocate_stock(self, build_line=None, output=None): + """Deallocate stock from this Build. Args: - bom_item: Specify a particular BomItem to unallocate stock against - output: Specify a particular StockItem (output) to unallocate stock against + build_line: Specify a particular BuildLine instance to un-allocate stock against + output: Specify a particular StockItem (output) to un-allocate stock against """ - allocations = BuildItem.objects.filter( - build=self, + allocations = self.allocated_stock.filter( install_into=output ) - if bom_item: - allocations = allocations.filter(bom_item=bom_item) + if build_line: + allocations = allocations.filter(build_line=build_line) allocations.delete() @@ -737,7 +737,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. """Remove a build output from the database. Executes: - - Unallocate any build items against the output + - Deallocate any build items against the output - Delete the output StockItem """ if not output: @@ -749,8 +749,8 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. if output.build != self: raise ValidationError(_("Build output does not match Build Order")) - # Unallocate all build items against the output - self.unallocateStock(output=output) + # Deallocate all build items against the output + self.deallocate_stock(output=output) # Remove the build output from the database output.delete() @@ -758,36 +758,47 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. @transaction.atomic def trim_allocated_stock(self): """Called after save to reduce allocated stock if the build order is now overallocated.""" - allocations = BuildItem.objects.filter(build=self) # Only need to worry about untracked stock here - for bom_item in self.untracked_bom_items: - reduce_by = self.allocated_quantity(bom_item) - self.required_quantity(bom_item) - if reduce_by <= 0: - continue # all OK + for build_line in self.untracked_line_items: + + reduce_by = build_line.allocated_quantity() - build_line.quantity + + if reduce_by <= 0: + continue + + # Find BuildItem objects to trim + for item in BuildItem.objects.filter(build_line=build_line): - # find builditem(s) to trim - for a in allocations.filter(bom_item=bom_item): # Previous item completed the job - if reduce_by == 0: + if reduce_by <= 0: break # Easy case - this item can just be reduced. - if a.quantity > reduce_by: - a.quantity -= reduce_by - a.save() + if item.quantity > reduce_by: + item.quantity -= reduce_by + item.save() break # Harder case, this item needs to be deleted, and any remainder # taken from the next items in the list. - reduce_by -= a.quantity - a.delete() + reduce_by -= item.quantity + item.delete() + + @property + def allocated_stock(self): + """Returns a QuerySet object of all BuildItem objects which point back to this Build""" + return BuildItem.objects.filter( + build_line__build=self + ) @transaction.atomic def subtract_allocated_stock(self, user): """Called when the Build is marked as "complete", this function removes the allocated untracked items from stock.""" + + # Find all BuildItem objects which point to this build items = self.allocated_stock.filter( - stock_item__part__trackable=False + build_line__bom_item__sub_part__trackable=False ) # Remove stock @@ -934,8 +945,13 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. else: return 3 - # Get a list of all 'untracked' BOM items - for bom_item in self.untracked_bom_items: + new_items = [] + + # Auto-allocation is only possible for "untracked" line items + for line_item in self.untracked_line_items.all(): + + # Find the referenced BomItem + bom_item = line_item.bom_item if bom_item.consumable: # Do not auto-allocate stock to consumable BOM items @@ -947,7 +963,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. variant_parts = bom_item.sub_part.get_descendants(include_self=False) - unallocated_quantity = self.unallocated_quantity(bom_item) + unallocated_quantity = line_item.unallocated_quantity() if unallocated_quantity <= 0: # This BomItem is fully allocated, we can continue @@ -998,18 +1014,22 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. # or all items are "interchangeable" and we don't care where we take stock from for stock_item in available_stock: + + # Skip inactive parts + if not stock_item.part.active: + continue + # How much of the stock item is "available" for allocation? quantity = min(unallocated_quantity, stock_item.unallocated_quantity()) if quantity > 0: try: - BuildItem.objects.create( - build=self, - bom_item=bom_item, + new_items.append(BuildItem( + build_line=line_item, stock_item=stock_item, quantity=quantity, - ) + )) # Subtract the required quantity unallocated_quantity -= quantity @@ -1022,163 +1042,83 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. # We have now fully-allocated this BomItem - no need to continue! break - def required_quantity(self, bom_item, output=None): - """Get the quantity of a part required to complete the particular build output. + # Bulk-create the new BuildItem objects + BuildItem.objects.bulk_create(new_items) + + def unallocated_lines(self, tracked=None): + """Returns a list of BuildLine objects which have not been fully allocated.""" + + lines = self.build_lines.all() + + if tracked is True: + lines = lines.filter(bom_item__sub_part__trackable=True) + elif tracked is False: + lines = lines.filter(bom_item__sub_part__trackable=False) + + unallocated_lines = [] + + for line in lines: + if not line.is_fully_allocated(): + unallocated_lines.append(line) + + return unallocated_lines + + def is_fully_allocated(self, tracked=None): + """Test if the BuildOrder has been fully allocated. + + This is *true* if *all* associated BuildLine items have sufficient allocation + + Arguments: + tracked: If True, only consider tracked BuildLine items. If False, only consider untracked BuildLine items. + + Returns: + True if the BuildOrder has been fully allocated, otherwise False + """ + + lines = self.unallocated_lines(tracked=tracked) + return len(lines) == 0 + + def is_output_fully_allocated(self, output): + """Determine if the specified output (StockItem) has been fully allocated for this build Args: - bom_item: The Part object - output: The particular build output (StockItem) + output: StockItem object + + To determine if the output has been fully allocated, + we need to test all "trackable" BuildLine objects """ - quantity = bom_item.quantity - if output: - quantity *= output.quantity - else: - quantity *= self.quantity - - return quantity - - def allocated_bom_items(self, bom_item, output=None): - """Return all BuildItem objects which allocate stock of to . - - Note that the bom_item may allow variants, or direct substitutes, - making things difficult. - - Args: - bom_item: The BomItem object - output: Build output (StockItem). - """ - allocations = BuildItem.objects.filter( - build=self, - bom_item=bom_item, - install_into=output, - ) - - return allocations - - def allocated_quantity(self, bom_item, output=None): - """Return the total quantity of given part allocated to a given build output.""" - allocations = self.allocated_bom_items(bom_item, output) - - allocated = allocations.aggregate( - q=Coalesce( - Sum('quantity'), - 0, - output_field=models.DecimalField(), + for line in self.build_lines.filter(bom_item__sub_part__trackable=True): + # Grab all BuildItem objects which point to this output + allocations = BuildItem.objects.filter( + build_line=line, + install_into=output, ) - ) - return allocated['q'] + allocated = allocations.aggregate( + q=Coalesce(Sum('quantity'), 0, output_field=models.DecimalField()) + ) - def unallocated_quantity(self, bom_item, output=None): - """Return the total unallocated (remaining) quantity of a part against a particular output.""" - required = self.required_quantity(bom_item, output) - allocated = self.allocated_quantity(bom_item, output) - - return max(required - allocated, 0) - - def is_bom_item_allocated(self, bom_item, output=None): - """Test if the supplied BomItem has been fully allocated""" - - if bom_item.consumable: - # Consumable BOM items do not need to be allocated - return True - - return self.unallocated_quantity(bom_item, output) == 0 - - def is_fully_allocated(self, output): - """Returns True if the particular build output is fully allocated.""" - # If output is not specified, we are talking about "untracked" items - if output is None: - bom_items = self.untracked_bom_items - else: - bom_items = self.tracked_bom_items - - for bom_item in bom_items: - - if not self.is_bom_item_allocated(bom_item, output): + # The amount allocated against an output must at least equal the BOM quantity + if allocated['q'] < line.bom_item.quantity: return False - # All parts must be fully allocated! + # At this stage, we can assume that the output is fully allocated return True - def is_partially_allocated(self, output): - """Returns True if the particular build output is (at least) partially allocated.""" - # If output is not specified, we are talking about "untracked" items - if output is None: - bom_items = self.untracked_bom_items - else: - bom_items = self.tracked_bom_items + def is_overallocated(self): + """Test if the BuildOrder has been over-allocated. - for bom_item in bom_items: + Returns: + True if any BuildLine has been over-allocated. + """ - if self.allocated_quantity(bom_item, output) > 0: + for line in self.build_lines.all(): + if line.is_overallocated(): return True return False - def are_untracked_parts_allocated(self): - """Returns True if the un-tracked parts are fully allocated for this BuildOrder.""" - return self.is_fully_allocated(None) - - def has_overallocated_parts(self, output=None): - """Check if parts have been 'over-allocated' against the specified output. - - Note: If output=None, test un-tracked parts - """ - - bom_items = self.tracked_bom_items if output else self.untracked_bom_items - - for bom_item in bom_items: - if self.allocated_quantity(bom_item, output) > self.required_quantity(bom_item, output): - return True - - return False - - def unallocated_bom_items(self, output): - """Return a list of bom items which have *not* been fully allocated against a particular output.""" - unallocated = [] - - # If output is not specified, we are talking about "untracked" items - if output is None: - bom_items = self.untracked_bom_items - else: - bom_items = self.tracked_bom_items - - for bom_item in bom_items: - - if not self.is_bom_item_allocated(bom_item, output): - unallocated.append(bom_item) - - return unallocated - - @property - def required_parts(self): - """Returns a list of parts required to build this part (BOM).""" - parts = [] - - for item in self.bom_items: - parts.append(item.sub_part) - - return parts - - @property - def required_parts_to_complete_build(self): - """Returns a list of parts required to complete the full build. - - TODO: 2022-01-06 : This method needs to be improved, it is very inefficient in terms of DB hits! - """ - parts = [] - - for bom_item in self.bom_items: - # Get remaining quantity needed - required_quantity_to_complete_build = self.remaining * bom_item.quantity - self.allocated_quantity(bom_item) - # Compare to net stock - if bom_item.sub_part.net_stock < required_quantity_to_complete_build: - parts.append(bom_item.sub_part) - - return parts - @property def is_active(self): """Is this build active? @@ -1194,6 +1134,52 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. """Returns True if the build status is COMPLETE.""" return self.status == BuildStatus.COMPLETE + @transaction.atomic + def create_build_line_items(self, prevent_duplicates=True): + """Create BuildLine objects for each BOM line in this BuildOrder.""" + + lines = [] + + bom_items = self.part.get_bom_items() + + logger.info(f"Creating BuildLine objects for BuildOrder {self.pk} ({len(bom_items)} items))") + + # Iterate through each part required to build the parent part + for bom_item in bom_items: + if prevent_duplicates: + if BuildLine.objects.filter(build=self, bom_item=bom_item).exists(): + logger.info(f"BuildLine already exists for BuildOrder {self.pk} and BomItem {bom_item.pk}") + continue + + # Calculate required quantity + quantity = bom_item.get_required_quantity(self.quantity) + + lines.append( + BuildLine( + build=self, + bom_item=bom_item, + quantity=quantity + ) + ) + + BuildLine.objects.bulk_create(lines) + + logger.info(f"Created {len(lines)} BuildLine objects for BuildOrder") + + @transaction.atomic + def update_build_line_items(self): + """Rebuild required quantity field for each BuildLine object""" + + lines_to_update = [] + + for line in self.build_lines.all(): + line.quantity = line.bom_item.get_required_quantity(self.quantity) + lines_to_update.append(line) + + BuildLine.objects.bulk_update(lines_to_update, ['quantity']) + + logger.info(f"Updated {len(lines_to_update)} BuildLine objects for BuildOrder") + @receiver(post_save, sender=Build, dispatch_uid='build_post_save_log') def after_save_build(sender, instance: Build, created: bool, **kwargs): @@ -1204,14 +1190,23 @@ def after_save_build(sender, instance: Build, created: bool, **kwargs): from . import tasks as build_tasks - if created: - # A new Build has just been created + if instance: - # Run checks on required parts - InvenTree.tasks.offload_task(build_tasks.check_build_stock, instance) + if created: + # A new Build has just been created - # Notify the responsible users that the build order has been created - InvenTree.helpers_model.notify_responsible(instance, sender, exclude=instance.issued_by) + # Generate initial BuildLine objects for the Build + instance.create_build_line_items() + + # Run checks on required parts + InvenTree.tasks.offload_task(build_tasks.check_build_stock, instance) + + # Notify the responsible users that the build order has been created + InvenTree.helpers_model.notify_responsible(instance, sender, exclude=instance.issued_by) + + else: + # Update BuildLine objects if the Build quantity has changed + instance.update_build_line_items() class BuildOrderAttachment(InvenTree.models.InvenTreeAttachment): @@ -1224,6 +1219,87 @@ class BuildOrderAttachment(InvenTree.models.InvenTreeAttachment): build = models.ForeignKey(Build, on_delete=models.CASCADE, related_name='attachments') +class BuildLine(models.Model): + """A BuildLine object links a BOMItem to a Build. + + When a new Build is created, the BuildLine objects are created automatically. + - A BuildLine entry is created for each BOM item associated with the part + - The quantity is set to the quantity required to build the part (including overage) + - BuildItem objects are associated with a particular BuildLine + + Once a build has been created, BuildLines can (optionally) be removed from the Build + + Attributes: + build: Link to a Build object + bom_item: Link to a BomItem object + quantity: Number of units required for the Build + """ + + class Meta: + """Model meta options""" + unique_together = [ + ('build', 'bom_item'), + ] + + @staticmethod + def get_api_url(): + """Return the API URL used to access this model""" + return reverse('api-build-line-list') + + build = models.ForeignKey( + Build, on_delete=models.CASCADE, + related_name='build_lines', help_text=_('Build object') + ) + + bom_item = models.ForeignKey( + part.models.BomItem, + on_delete=models.CASCADE, + related_name='build_lines', + ) + + quantity = models.DecimalField( + decimal_places=5, + max_digits=15, + default=1, + validators=[MinValueValidator(0)], + verbose_name=_('Quantity'), + help_text=_('Required quantity for build order'), + ) + + @property + def part(self): + """Return the sub_part reference from the link bom_item""" + return self.bom_item.sub_part + + def allocated_quantity(self): + """Calculate the total allocated quantity for this BuildLine""" + + # Queryset containing all BuildItem objects allocated against this BuildLine + allocations = self.allocations.all() + + allocated = allocations.aggregate( + q=Coalesce(Sum('quantity'), 0, output_field=models.DecimalField()) + ) + + return allocated['q'] + + def unallocated_quantity(self): + """Return the unallocated quantity for this BuildLine""" + return max(self.quantity - self.allocated_quantity(), 0) + + def is_fully_allocated(self): + """Return True if this BuildLine is fully allocated""" + + if self.bom_item.consumable: + return True + + return self.allocated_quantity() >= self.quantity + + def is_overallocated(self): + """Return True if this BuildLine is over-allocated""" + return self.allocated_quantity() > self.quantity + + class BuildItem(InvenTree.models.MetadataMixin, models.Model): """A BuildItem links multiple StockItem objects to a Build. @@ -1231,16 +1307,16 @@ class BuildItem(InvenTree.models.MetadataMixin, models.Model): Attributes: build: Link to a Build object - bom_item: Link to a BomItem object (may or may not point to the same part as the build) + build_line: Link to a BuildLine object (this is a "line item" within a build) stock_item: Link to a StockItem object quantity: Number of units allocated install_into: Destination stock item (or None) """ class Meta: - """Serializer metaclass""" + """Model meta options""" unique_together = [ - ('build', 'stock_item', 'install_into'), + ('build_line', 'stock_item', 'install_into'), ] @staticmethod @@ -1303,8 +1379,10 @@ class BuildItem(InvenTree.models.MetadataMixin, models.Model): 'quantity': _('Quantity must be 1 for serialized stock') }) - except (stock.models.StockItem.DoesNotExist, part.models.Part.DoesNotExist): - pass + except stock.models.StockItem.DoesNotExist: + raise ValidationError("Stock item must be specified") + except part.models.Part.DoesNotExist: + raise ValidationError("Part must be specified") """ Attempt to find the "BomItem" which links this BuildItem to the build. @@ -1312,7 +1390,7 @@ class BuildItem(InvenTree.models.MetadataMixin, models.Model): - If a BomItem is already set, and it is valid, then we are ok! """ - bom_item_valid = False + valid = False if self.bom_item and self.build: """ @@ -1327,39 +1405,51 @@ class BuildItem(InvenTree.models.MetadataMixin, models.Model): """ if self.build.part == self.bom_item.part: - bom_item_valid = self.bom_item.is_stock_item_valid(self.stock_item) + valid = self.bom_item.is_stock_item_valid(self.stock_item) elif self.bom_item.inherited: if self.build.part in self.bom_item.part.get_descendants(include_self=False): - bom_item_valid = self.bom_item.is_stock_item_valid(self.stock_item) + valid = self.bom_item.is_stock_item_valid(self.stock_item) # If the existing BomItem is *not* valid, try to find a match - if not bom_item_valid: + if not valid: if self.build and self.stock_item: ancestors = self.stock_item.part.get_ancestors(include_self=True, ascending=True) for idx, ancestor in enumerate(ancestors): - try: - bom_item = part.models.BomItem.objects.get(part=self.build.part, sub_part=ancestor) - except part.models.BomItem.DoesNotExist: - continue + build_line = BuildLine.objects.filter( + build=self.build, + bom_item__part=ancestor, + ) - # A matching BOM item has been found! - if idx == 0 or bom_item.allow_variants: - bom_item_valid = True - self.bom_item = bom_item - break + if build_line.exists(): + line = build_line.first() + + if idx == 0 or line.bom_item.allow_variants: + valid = True + self.build_line = line + break # BomItem did not exist or could not be validated. # Search for a new one - if not bom_item_valid: + if not valid: raise ValidationError({ - 'stock_item': _("Selected stock item not found in BOM") + 'stock_item': _("Selected stock item does not match BOM line") }) + @property + def build(self): + """Return the BuildOrder associated with this BuildItem""" + return self.build_line.build if self.build_line else None + + @property + def bom_item(self): + """Return the BomItem associated with this BuildItem""" + return self.build_line.bom_item if self.build_line else None + @transaction.atomic def complete_allocation(self, user, notes=''): """Complete the allocation of this BuildItem into the output stock item. @@ -1431,21 +1521,10 @@ class BuildItem(InvenTree.models.MetadataMixin, models.Model): else: return InvenTree.helpers.getBlankThumbnail() - build = models.ForeignKey( - Build, - on_delete=models.CASCADE, - related_name='allocated_stock', - verbose_name=_('Build'), - help_text=_('Build to allocate parts') - ) - - # Internal model which links part <-> sub_part - # We need to track this separately, to allow for "variant' stock - bom_item = models.ForeignKey( - part.models.BomItem, - on_delete=models.CASCADE, - related_name='allocate_build_items', - blank=True, null=True, + build_line = models.ForeignKey( + BuildLine, + on_delete=models.SET_NULL, null=True, + related_name='allocations', ) stock_item = models.ForeignKey( diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 193b9f6217..1bc881d629 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -4,8 +4,11 @@ from django.db import transaction from django.core.exceptions import ValidationError as DjangoValidationError from django.utils.translation import gettext_lazy as _ -from django.db.models import Case, When, Value +from django.db import models +from django.db.models import ExpressionWrapper, F, FloatField +from django.db.models import Case, Sum, When, Value from django.db.models import BooleanField +from django.db.models.functions import Coalesce from rest_framework import serializers from rest_framework.serializers import ValidationError @@ -20,11 +23,11 @@ from InvenTree.status_codes import StockStatus from stock.models import generate_batch_code, StockItem, StockLocation from stock.serializers import StockItemSerializerBrief, LocationSerializer -from part.models import BomItem -from part.serializers import PartSerializer, PartBriefSerializer +import part.filters +from part.serializers import BomItemSerializer, PartSerializer, PartBriefSerializer from users.serializers import OwnerSerializer -from .models import Build, BuildItem, BuildOrderAttachment +from .models import Build, BuildLine, BuildItem, BuildOrderAttachment class BuildSerializer(InvenTreeModelSerializer): @@ -170,7 +173,7 @@ class BuildOutputSerializer(serializers.Serializer): if to_complete: # The build output must have all tracked parts allocated - if not build.is_fully_allocated(output): + if not build.is_output_fully_allocated(output): # Check if the user has specified that incomplete allocations are ok accept_incomplete = InvenTree.helpers.str2bool(self.context['request'].data.get('accept_incomplete_allocation', False)) @@ -562,7 +565,7 @@ class BuildCancelSerializer(serializers.Serializer): build = self.context['build'] return { - 'has_allocated_stock': build.is_partially_allocated(None), + 'has_allocated_stock': build.is_partially_allocated(), 'incomplete_outputs': build.incomplete_count, 'completed_outputs': build.complete_count, } @@ -621,8 +624,8 @@ class BuildCompleteSerializer(serializers.Serializer): build = self.context['build'] return { - 'overallocated': build.has_overallocated_parts(), - 'allocated': build.are_untracked_parts_allocated(), + 'overallocated': build.is_overallocated(), + 'allocated': build.is_fully_allocated(), 'remaining': build.remaining, 'incomplete': build.incomplete_count, } @@ -639,7 +642,7 @@ class BuildCompleteSerializer(serializers.Serializer): """Check if the 'accept_overallocated' field is required""" build = self.context['build'] - if build.has_overallocated_parts(output=None) and value == OverallocationChoice.REJECT: + if build.is_overallocated() and value == OverallocationChoice.REJECT: raise ValidationError(_('Some stock items have been overallocated')) return value @@ -655,7 +658,7 @@ class BuildCompleteSerializer(serializers.Serializer): """Check if the 'accept_unallocated' field is required""" build = self.context['build'] - if not build.are_untracked_parts_allocated() and not value: + if not build.is_fully_allocated() and not value: raise ValidationError(_('Required stock has not been fully allocated')) return value @@ -706,12 +709,12 @@ class BuildUnallocationSerializer(serializers.Serializer): - bom_item: Filter against a particular BOM line item """ - bom_item = serializers.PrimaryKeyRelatedField( - queryset=BomItem.objects.all(), + build_line = serializers.PrimaryKeyRelatedField( + queryset=BuildLine.objects.all(), many=False, allow_null=True, required=False, - label=_('BOM Item'), + label=_('Build Line'), ) output = serializers.PrimaryKeyRelatedField( @@ -742,8 +745,8 @@ class BuildUnallocationSerializer(serializers.Serializer): data = self.validated_data - build.unallocateStock( - bom_item=data['bom_item'], + build.deallocate_stock( + build_line=data['build_line'], output=data['output'] ) @@ -754,34 +757,34 @@ class BuildAllocationItemSerializer(serializers.Serializer): class Meta: """Serializer metaclass""" fields = [ - 'bom_item', + 'build_item', 'stock_item', 'quantity', 'output', ] - bom_item = serializers.PrimaryKeyRelatedField( - queryset=BomItem.objects.all(), + build_line = serializers.PrimaryKeyRelatedField( + queryset=BuildLine.objects.all(), many=False, allow_null=False, required=True, - label=_('BOM Item'), + label=_('Build Line Item'), ) - def validate_bom_item(self, bom_item): + def validate_build_line(self, build_line): """Check if the parts match""" build = self.context['build'] # BomItem should point to the same 'part' as the parent build - if build.part != bom_item.part: + if build.part != build_line.bom_item.part: # If not, it may be marked as "inherited" from a parent part - if bom_item.inherited and build.part in bom_item.part.get_descendants(include_self=False): + if build_line.bom_item.inherited and build.part in build_line.bom_item.part.get_descendants(include_self=False): pass else: raise ValidationError(_("bom_item.part must point to the same part as the build order")) - return bom_item + return build_line stock_item = serializers.PrimaryKeyRelatedField( queryset=StockItem.objects.all(), @@ -824,8 +827,7 @@ class BuildAllocationItemSerializer(serializers.Serializer): """Perform data validation for this item""" super().validate(data) - build = self.context['build'] - bom_item = data['bom_item'] + build_line = data['build_line'] stock_item = data['stock_item'] quantity = data['quantity'] output = data.get('output', None) @@ -847,20 +849,20 @@ class BuildAllocationItemSerializer(serializers.Serializer): }) # Output *must* be set for trackable parts - if output is None and bom_item.sub_part.trackable: + if output is None and build_line.bom_item.sub_part.trackable: raise ValidationError({ 'output': _('Build output must be specified for allocation of tracked parts'), }) # Output *cannot* be set for un-tracked parts - if output is not None and not bom_item.sub_part.trackable: + if output is not None and not build_line.bom_item.sub_part.trackable: raise ValidationError({ 'output': _('Build output cannot be specified for allocation of untracked parts'), }) # Check if this allocation would be unique - if BuildItem.objects.filter(build=build, stock_item=stock_item, install_into=output).exists(): + if BuildItem.objects.filter(build_line=build_line, stock_item=stock_item, install_into=output).exists(): raise ValidationError(_('This stock item has already been allocated to this build output')) return data @@ -894,24 +896,21 @@ class BuildAllocationSerializer(serializers.Serializer): items = data.get('items', []) - build = self.context['build'] - with transaction.atomic(): for item in items: - bom_item = item['bom_item'] + build_line = item['build_line'] stock_item = item['stock_item'] quantity = item['quantity'] output = item.get('output', None) # Ignore allocation for consumable BOM items - if bom_item.consumable: + if build_line.bom_item.consumable: continue try: # Create a new BuildItem to allocate stock BuildItem.objects.create( - build=build, - bom_item=bom_item, + build_line=build_line, stock_item=stock_item, quantity=quantity, install_into=output @@ -993,43 +992,37 @@ class BuildItemSerializer(InvenTreeModelSerializer): model = BuildItem fields = [ 'pk', - 'bom_part', 'build', - 'build_detail', + 'build_line', 'install_into', - 'location', - 'location_detail', - 'part', - 'part_detail', 'stock_item', + 'quantity', + 'location_detail', + 'part_detail', 'stock_item_detail', - 'quantity' + 'build_detail', ] - bom_part = serializers.IntegerField(source='bom_item.sub_part.pk', read_only=True) - part = serializers.IntegerField(source='stock_item.part.pk', read_only=True) - location = serializers.IntegerField(source='stock_item.location.pk', read_only=True) + # Annotated fields + build = serializers.PrimaryKeyRelatedField(source='build_line.build', many=False, read_only=True) # Extra (optional) detail fields - part_detail = PartSerializer(source='stock_item.part', many=False, read_only=True) - build_detail = BuildSerializer(source='build', many=False, read_only=True) + part_detail = PartBriefSerializer(source='stock_item.part', many=False, read_only=True) stock_item_detail = StockItemSerializerBrief(source='stock_item', read_only=True) location_detail = LocationSerializer(source='stock_item.location', read_only=True) + build_detail = BuildSerializer(source='build_line.build', many=False, read_only=True) quantity = InvenTreeDecimalField() def __init__(self, *args, **kwargs): """Determine which extra details fields should be included""" - build_detail = kwargs.pop('build_detail', False) - part_detail = kwargs.pop('part_detail', False) - location_detail = kwargs.pop('location_detail', False) + part_detail = kwargs.pop('part_detail', True) + location_detail = kwargs.pop('location_detail', True) stock_detail = kwargs.pop('stock_detail', False) + build_detail = kwargs.pop('build_detail', False) super().__init__(*args, **kwargs) - if not build_detail: - self.fields.pop('build_detail') - if not part_detail: self.fields.pop('part_detail') @@ -1039,6 +1032,144 @@ class BuildItemSerializer(InvenTreeModelSerializer): if not stock_detail: self.fields.pop('stock_item_detail') + if not build_detail: + self.fields.pop('build_detail') + + +class BuildLineSerializer(InvenTreeModelSerializer): + """Serializer for a BuildItem object.""" + + class Meta: + """Serializer metaclass""" + + model = BuildLine + fields = [ + 'pk', + 'build', + 'bom_item', + 'bom_item_detail', + 'part_detail', + 'quantity', + 'allocations', + + # Annotated fields + 'allocated', + 'on_order', + 'available_stock', + 'available_substitute_stock', + 'available_variant_stock', + ] + + read_only_fields = [ + 'build', + 'bom_item', + 'allocations', + ] + + quantity = serializers.FloatField() + + # Foreign key fields + bom_item_detail = BomItemSerializer(source='bom_item', many=False, read_only=True) + part_detail = PartSerializer(source='bom_item.sub_part', many=False, read_only=True) + allocations = BuildItemSerializer(many=True, read_only=True) + + # Annotated (calculated) fields + allocated = serializers.FloatField(read_only=True) + on_order = serializers.FloatField(read_only=True) + available_stock = serializers.FloatField(read_only=True) + available_substitute_stock = serializers.FloatField(read_only=True) + available_variant_stock = serializers.FloatField(read_only=True) + + @staticmethod + def annotate_queryset(queryset): + """Add extra annotations to the queryset: + + - allocated: Total stock quantity allocated against this build line + - available: Total stock available for allocation against this build line + - on_order: Total stock on order for this build line + """ + + # Pre-fetch related fields + queryset = queryset.prefetch_related( + 'bom_item__sub_part__stock_items', + 'bom_item__sub_part__stock_items__allocations', + 'bom_item__sub_part__stock_items__sales_order_allocations', + + 'bom_item__substitutes', + 'bom_item__substitutes__part__stock_items', + 'bom_item__substitutes__part__stock_items__allocations', + 'bom_item__substitutes__part__stock_items__sales_order_allocations', + ) + + # Annotate the "allocated" quantity + # Difficulty: Easy + queryset = queryset.annotate( + allocated=Coalesce( + Sum('allocations__quantity'), 0, + output_field=models.DecimalField() + ), + ) + + ref = 'bom_item__sub_part__' + + # Annotate the "on_order" quantity + # Difficulty: Medium + queryset = queryset.annotate( + on_order=part.filters.annotate_on_order_quantity(reference=ref), + ) + + # Annotate the "available" quantity + # TODO: In the future, this should be refactored. + # TODO: Note that part.serializers.BomItemSerializer also has a similar annotation + queryset = queryset.alias( + total_stock=part.filters.annotate_total_stock(reference=ref), + allocated_to_sales_orders=part.filters.annotate_sales_order_allocations(reference=ref), + allocated_to_build_orders=part.filters.annotate_build_order_allocations(reference=ref), + ) + + # Calculate 'available_stock' based on previously annotated fields + queryset = queryset.annotate( + available_stock=ExpressionWrapper( + F('total_stock') - F('allocated_to_sales_orders') - F('allocated_to_build_orders'), + output_field=models.DecimalField(), + ) + ) + + ref = 'bom_item__substitutes__part__' + + # Extract similar information for any 'substitute' parts + queryset = queryset.alias( + substitute_stock=part.filters.annotate_total_stock(reference=ref), + substitute_build_allocations=part.filters.annotate_build_order_allocations(reference=ref), + substitute_sales_allocations=part.filters.annotate_sales_order_allocations(reference=ref) + ) + + # Calculate 'available_substitute_stock' field + queryset = queryset.annotate( + available_substitute_stock=ExpressionWrapper( + F('substitute_stock') - F('substitute_build_allocations') - F('substitute_sales_allocations'), + output_field=models.DecimalField(), + ) + ) + + # Annotate the queryset with 'available variant stock' information + variant_stock_query = part.filters.variant_stock_query(reference='bom_item__sub_part__') + + queryset = queryset.alias( + variant_stock_total=part.filters.annotate_variant_quantity(variant_stock_query, reference='quantity'), + variant_bo_allocations=part.filters.annotate_variant_quantity(variant_stock_query, reference='sales_order_allocations__quantity'), + variant_so_allocations=part.filters.annotate_variant_quantity(variant_stock_query, reference='allocations__quantity'), + ) + + queryset = queryset.annotate( + available_variant_stock=ExpressionWrapper( + F('variant_stock_total') - F('variant_bo_allocations') - F('variant_so_allocations'), + output_field=FloatField(), + ) + ) + + return queryset + class BuildAttachmentSerializer(InvenTreeAttachmentSerializer): """Serializer for a BuildAttachment.""" diff --git a/InvenTree/build/templates/build/build_base.html b/InvenTree/build/templates/build/build_base.html index 57c5c23470..fc692408c6 100644 --- a/InvenTree/build/templates/build/build_base.html +++ b/InvenTree/build/templates/build/build_base.html @@ -174,7 +174,7 @@ src="{% static 'img/blank_image.png' %}" {% else %} {% endif %} - {% trans "Completed" %} + {% trans "Completed Outputs" %} {% progress_bar build.completed build.quantity id='build-completed' max_width='150px' %} {% if build.parent %} diff --git a/InvenTree/build/templates/build/detail.html b/InvenTree/build/templates/build/detail.html index ea870d8c44..14c75be201 100644 --- a/InvenTree/build/templates/build/detail.html +++ b/InvenTree/build/templates/build/detail.html @@ -64,10 +64,10 @@ - {% trans "Completed" %} + {% trans "Completed Outputs" %} {% progress_bar build.completed build.quantity id='build-completed-2' max_width='150px' %} - {% if build.active and has_untracked_bom_items %} + {% if build.active %} {% trans "Allocated Parts" %} @@ -179,9 +179,9 @@

{% trans "Allocate Stock to Build" %}

{% include "spacer.html" %}
- {% if roles.build.add and build.active and has_untracked_bom_items %} -
- {% if has_untracked_bom_items %} {% if build.active %} - {% if build.are_untracked_parts_allocated %} + {% if build.is_fully_allocated %}
{% trans "Untracked stock has been fully allocated for this Build Order" %}
@@ -211,22 +210,17 @@
{% endif %} {% endif %} -
+
- {% include "filter_list.html" with id='builditems' %} + {% include "filter_list.html" with id='buildlines' %}
-
- {% else %} -
- {% trans "This Build Order does not have any associated untracked BOM items" %} -
- {% endif %} +
@@ -427,38 +421,15 @@ onPanelLoad('outputs', function() { {% endif %} }); -{% if build.active and has_untracked_bom_items %} - -function loadUntrackedStockTable() { - - var build_info = { - pk: {{ build.pk }}, - part: {{ build.part.pk }}, - quantity: {{ build.quantity }}, - {% if build.take_from %} - source_location: {{ build.take_from.pk }}, - {% endif %} - tracked_parts: false, - }; - - $('#allocation-table-untracked').bootstrapTable('destroy'); - - // Load allocation table for un-tracked parts - loadBuildOutputAllocationTable( - build_info, - null, - { - search: true, - } - ); -} - onPanelLoad('allocate', function() { - loadUntrackedStockTable(); + // Load the table of line items for this build order + loadBuildLineTable( + "#build-lines-table", + {{ build.pk }}, + {} + ); }); -{% endif %} - $('#btn-create-output').click(function() { createBuildOutput( @@ -480,66 +451,62 @@ $("#btn-auto-allocate").on('click', function() { {% if build.take_from %} location: {{ build.take_from.pk }}, {% endif %} - onSuccess: loadUntrackedStockTable, + onSuccess: function() { + $('#build-lines-table').bootstrapTable('refresh'); + }, } ); }); -$("#btn-allocate").on('click', function() { +function allocateSelectedLines() { - var bom_items = $("#allocation-table-untracked").bootstrapTable("getData"); + let data = getTableData('#build-lines-table'); - var incomplete_bom_items = []; + let unallocated_lines = []; - bom_items.forEach(function(bom_item) { - if (bom_item.required > bom_item.allocated) { - incomplete_bom_items.push(bom_item); + data.forEach(function(line) { + if (line.allocated < line.quantity) { + unallocated_lines.push(line); } }); - if (incomplete_bom_items.length == 0) { + if (unallocated_lines.length == 0) { showAlertDialog( '{% trans "Allocation Complete" %}', - '{% trans "All untracked stock items have been allocated" %}', + '{% trans "All lines have been fully allocated" %}', ); } else { allocateStockToBuild( {{ build.pk }}, - {{ build.part.pk }}, - incomplete_bom_items, + unallocated_lines, { {% if build.take_from %} source_location: {{ build.take_from.pk }}, {% endif %} - success: loadUntrackedStockTable, + success: function() { + $('#build-lines-table').bootstrapTable('refresh'); + }, } ); } -}); +} $('#btn-unallocate').on('click', function() { - unallocateStock({{ build.id }}, { + deallocateStock({{ build.id }}, { table: '#allocation-table-untracked', - onSuccess: loadUntrackedStockTable, + onSuccess: function() { + $('#build-lines-table').bootstrapTable('refresh'); + }, }); }); $('#allocate-selected-items').click(function() { + allocateSelectedLines(); +}); - var bom_items = getTableData('#allocation-table-untracked'); - - allocateStockToBuild( - {{ build.pk }}, - {{ build.part.pk }}, - bom_items, - { - {% if build.take_from %} - source_location: {{ build.take_from.pk }}, - {% endif %} - success: loadUntrackedStockTable, - } - ); +$("#btn-allocate").on('click', function() { + allocateSelectedLines(); }); {% endif %} diff --git a/InvenTree/build/templates/build/sidebar.html b/InvenTree/build/templates/build/sidebar.html index a7b7b15df7..c038b7782a 100644 --- a/InvenTree/build/templates/build/sidebar.html +++ b/InvenTree/build/templates/build/sidebar.html @@ -4,18 +4,16 @@ {% trans "Build Order Details" as text %} {% include "sidebar_item.html" with label='details' text=text icon="fa-info-circle" %} -{% if build.active %} +{% if build.is_active %} {% trans "Allocate Stock" as text %} {% include "sidebar_item.html" with label='allocate' text=text icon="fa-tasks" %} -{% endif %} -{% trans "Consumed Stock" as text %} -{% include "sidebar_item.html" with label='consumed' text=text icon="fa-list" %} -{% if build.is_active %} {% trans "Incomplete Outputs" as text %} {% include "sidebar_item.html" with label='outputs' text=text icon="fa-tools" %} {% endif %} {% trans "Completed Outputs" as text %} {% include "sidebar_item.html" with label='completed' text=text icon="fa-boxes" %} +{% trans "Consumed Stock" as text %} +{% include "sidebar_item.html" with label='consumed' text=text icon="fa-list" %} {% trans "Child Build Orders" as text %} {% include "sidebar_item.html" with label='children' text=text icon="fa-sitemap" %} {% trans "Attachments" as text %} diff --git a/InvenTree/build/test_api.py b/InvenTree/build/test_api.py index b998ad3cae..c01f633fad 100644 --- a/InvenTree/build/test_api.py +++ b/InvenTree/build/test_api.py @@ -582,6 +582,9 @@ class BuildAllocationTest(BuildAPITest): self.build = Build.objects.get(pk=1) + # Regenerate BuildLine objects + self.build.create_build_line_items() + # Record number of build items which exist at the start of each test self.n = BuildItem.objects.count() @@ -593,7 +596,7 @@ class BuildAllocationTest(BuildAPITest): self.assertEqual(self.build.part.bom_items.count(), 4) # No items yet allocated to this build - self.assertEqual(self.build.allocated_stock.count(), 0) + self.assertEqual(BuildItem.objects.filter(build_line__build=self.build).count(), 0) def test_get(self): """A GET request to the endpoint should return an error.""" @@ -634,7 +637,7 @@ class BuildAllocationTest(BuildAPITest): { "items": [ { - "bom_item": 1, # M2x4 LPHS + "build_line": 1, # M2x4 LPHS "stock_item": 2, # 5,000 screws available } ] @@ -658,7 +661,7 @@ class BuildAllocationTest(BuildAPITest): expected_code=400 ).data - self.assertIn("This field is required", str(data["items"][0]["bom_item"])) + self.assertIn("This field is required", str(data["items"][0]["build_line"])) # Missing stock_item data = self.post( @@ -666,7 +669,7 @@ class BuildAllocationTest(BuildAPITest): { "items": [ { - "bom_item": 1, + "build_line": 1, "quantity": 5000, } ] @@ -681,12 +684,25 @@ class BuildAllocationTest(BuildAPITest): def test_invalid_bom_item(self): """Test by passing an invalid BOM item.""" + + # Find the right (in this case, wrong) BuildLine instance + + si = StockItem.objects.get(pk=11) + lines = self.build.build_lines.all() + + wrong_line = None + + for line in lines: + if line.bom_item.sub_part.pk != si.pk: + wrong_line = line + break + data = self.post( self.url, { "items": [ { - "bom_item": 5, + "build_line": wrong_line.pk, "stock_item": 11, "quantity": 500, } @@ -695,19 +711,31 @@ class BuildAllocationTest(BuildAPITest): expected_code=400 ).data - self.assertIn('must point to the same part', str(data)) + self.assertIn('Selected stock item does not match BOM line', str(data)) def test_valid_data(self): """Test with valid data. This should result in creation of a new BuildItem object """ + + # Find the correct BuildLine + si = StockItem.objects.get(pk=2) + + right_line = None + + for line in self.build.build_lines.all(): + + if line.bom_item.sub_part.pk == si.part.pk: + right_line = line + break + self.post( self.url, { "items": [ { - "bom_item": 1, + "build_line": right_line.pk, "stock_item": 2, "quantity": 5000, } @@ -749,16 +777,22 @@ class BuildOverallocationTest(BuildAPITest): cls.state = {} cls.allocation = {} - for i, bi in enumerate(cls.build.part.bom_items.all()): - rq = cls.build.required_quantity(bi, None) + i + 1 - si = StockItem.objects.filter(part=bi.sub_part, quantity__gte=rq).first() + items_to_create = [] - cls.state[bi.sub_part] = (si, si.quantity, rq) - BuildItem.objects.create( - build=cls.build, + for idx, build_line in enumerate(cls.build.build_lines.all()): + required = build_line.quantity + idx + 1 + sub_part = build_line.bom_item.sub_part + si = StockItem.objects.filter(part=sub_part, quantity__gte=required).first() + + cls.state[sub_part] = (si, si.quantity, required) + + items_to_create.append(BuildItem( + build_line=build_line, stock_item=si, - quantity=rq, - ) + quantity=required, + )) + + BuildItem.objects.bulk_create(items_to_create) # create and complete outputs cls.build.create_build_output(cls.build.quantity) @@ -822,9 +856,10 @@ class BuildOverallocationTest(BuildAPITest): self.assertTrue(self.build.is_complete) # Check stock items have reduced only by bom requirement (overallocation trimmed) - for bi in self.build.part.bom_items.all(): - si, oq, _ = self.state[bi.sub_part] - rq = self.build.required_quantity(bi, None) + for line in self.build.build_lines.all(): + + si, oq, _ = self.state[line.bom_item.sub_part] + rq = line.quantity si.refresh_from_db() self.assertEqual(si.quantity, oq - rq) diff --git a/InvenTree/build/test_build.py b/InvenTree/build/test_build.py index 6d59a65e54..26659d82f0 100644 --- a/InvenTree/build/test_build.py +++ b/InvenTree/build/test_build.py @@ -13,7 +13,7 @@ from InvenTree import status_codes as status import common.models import build.tasks -from build.models import Build, BuildItem, generate_next_build_reference +from build.models import Build, BuildItem, BuildLine, generate_next_build_reference from part.models import Part, BomItem, BomItemSubstitute from stock.models import StockItem from users.models import Owner @@ -107,6 +107,11 @@ class BuildTestBase(TestCase): issued_by=get_user_model().objects.get(pk=1), ) + # Create some BuildLine items we can use later on + cls.line_1 = BuildLine.objects.get(build=cls.build, bom_item=cls.bom_item_1) + cls.line_2 = BuildLine.objects.get(build=cls.build, bom_item=cls.bom_item_2) + cls.line_3 = BuildLine.objects.get(build=cls.build, bom_item=cls.bom_item_3) + # Create some build output (StockItem) objects cls.output_1 = StockItem.objects.create( part=cls.assembly, @@ -248,13 +253,10 @@ class BuildTest(BuildTestBase): for output in self.build.get_build_outputs().all(): self.assertFalse(self.build.is_fully_allocated(output)) - self.assertFalse(self.build.is_bom_item_allocated(self.bom_item_1, self.output_1)) - self.assertFalse(self.build.is_bom_item_allocated(self.bom_item_2, self.output_2)) + self.assertFalse(self.line_1.is_fully_allocated()) + self.assertFalse(self.line_2.is_overallocated()) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_1, self.output_1), 15) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_1, self.output_2), 35) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_2, self.output_1), 9) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_2, self.output_2), 21) + self.assertEqual(self.line_1.allocated_quantity(), 0) self.assertFalse(self.build.is_complete) @@ -264,25 +266,25 @@ class BuildTest(BuildTestBase): stock = StockItem.objects.create(part=self.assembly, quantity=99) # Create a BuiltItem which points to an invalid StockItem - b = BuildItem(stock_item=stock, build=self.build, quantity=10) + b = BuildItem(stock_item=stock, build_line=self.line_2, quantity=10) with self.assertRaises(ValidationError): b.save() # Create a BuildItem which has too much stock assigned - b = BuildItem(stock_item=self.stock_1_1, build=self.build, quantity=9999999) + b = BuildItem(stock_item=self.stock_1_1, build_line=self.line_1, quantity=9999999) with self.assertRaises(ValidationError): b.clean() # Negative stock? Not on my watch! - b = BuildItem(stock_item=self.stock_1_1, build=self.build, quantity=-99) + b = BuildItem(stock_item=self.stock_1_1, build_line=self.line_1, quantity=-99) with self.assertRaises(ValidationError): b.clean() # Ok, what about we make one that does *not* fail? - b = BuildItem(stock_item=self.stock_1_2, build=self.build, install_into=self.output_1, quantity=10) + b = BuildItem(stock_item=self.stock_1_2, build_line=self.line_1, install_into=self.output_1, quantity=10) b.save() def test_duplicate_bom_line(self): @@ -302,13 +304,24 @@ class BuildTest(BuildTestBase): allocations: Map of {StockItem: quantity} """ + items_to_create = [] + for item, quantity in allocations.items(): - BuildItem.objects.create( + + # Find an appropriate BuildLine to allocate against + line = BuildLine.objects.filter( build=self.build, + bom_item__sub_part=item.part + ).first() + + items_to_create.append(BuildItem( + build_line=line, stock_item=item, quantity=quantity, install_into=output - ) + )) + + BuildItem.objects.bulk_create(items_to_create) def test_partial_allocation(self): """Test partial allocation of stock""" @@ -321,7 +334,7 @@ class BuildTest(BuildTestBase): } ) - self.assertTrue(self.build.is_fully_allocated(self.output_1)) + self.assertTrue(self.build.is_output_fully_allocated(self.output_1)) # Partially allocate tracked stock against build output 2 self.allocate_stock( @@ -331,7 +344,7 @@ class BuildTest(BuildTestBase): } ) - self.assertFalse(self.build.is_fully_allocated(self.output_2)) + self.assertFalse(self.build.is_output_fully_allocated(self.output_2)) # Partially allocate untracked stock against build self.allocate_stock( @@ -342,11 +355,12 @@ class BuildTest(BuildTestBase): } ) - self.assertFalse(self.build.is_fully_allocated(None)) + self.assertFalse(self.build.is_output_fully_allocated(None)) - unallocated = self.build.unallocated_bom_items(None) + # Find lines which are *not* fully allocated + unallocated = self.build.unallocated_lines() - self.assertEqual(len(unallocated), 2) + self.assertEqual(len(unallocated), 3) self.allocate_stock( None, @@ -357,17 +371,17 @@ class BuildTest(BuildTestBase): self.assertFalse(self.build.is_fully_allocated(None)) - unallocated = self.build.unallocated_bom_items(None) - - self.assertEqual(len(unallocated), 1) - - self.build.unallocateStock() - - unallocated = self.build.unallocated_bom_items(None) + unallocated = self.build.unallocated_lines() self.assertEqual(len(unallocated), 2) - self.assertFalse(self.build.are_untracked_parts_allocated()) + self.build.deallocate_stock() + + unallocated = self.build.unallocated_lines(None) + + self.assertEqual(len(unallocated), 3) + + self.assertFalse(self.build.is_fully_allocated(tracked=False)) self.stock_2_1.quantity = 500 self.stock_2_1.save() @@ -381,7 +395,7 @@ class BuildTest(BuildTestBase): } ) - self.assertTrue(self.build.are_untracked_parts_allocated()) + self.assertTrue(self.build.is_fully_allocated(tracked=False)) def test_overallocation_and_trim(self): """Test overallocation of stock and trim function""" @@ -425,10 +439,10 @@ class BuildTest(BuildTestBase): } ) - self.assertTrue(self.build.has_overallocated_parts(None)) + self.assertTrue(self.build.is_overallocated()) self.build.trim_allocated_stock() - self.assertFalse(self.build.has_overallocated_parts(None)) + self.assertFalse(self.build.is_overallocated()) self.build.complete_build_output(self.output_1, None) self.build.complete_build_output(self.output_2, None) @@ -587,7 +601,7 @@ class BuildTest(BuildTestBase): """Unit tests for the metadata field.""" # Make sure a BuildItem exists before trying to run this test - b = BuildItem(stock_item=self.stock_1_2, build=self.build, install_into=self.output_1, quantity=10) + b = BuildItem(stock_item=self.stock_1_2, build_line=self.line_1, install_into=self.output_1, quantity=10) b.save() for model in [Build, BuildItem]: @@ -644,7 +658,7 @@ class AutoAllocationTests(BuildTestBase): # No build item allocations have been made against the build self.assertEqual(self.build.allocated_stock.count(), 0) - self.assertFalse(self.build.are_untracked_parts_allocated()) + self.assertFalse(self.build.is_fully_allocated(tracked=False)) # Stock is not interchangeable, nothing will happen self.build.auto_allocate_stock( @@ -652,15 +666,15 @@ class AutoAllocationTests(BuildTestBase): substitutes=False, ) - self.assertFalse(self.build.are_untracked_parts_allocated()) + self.assertFalse(self.build.is_fully_allocated(tracked=False)) self.assertEqual(self.build.allocated_stock.count(), 0) - self.assertFalse(self.build.is_bom_item_allocated(self.bom_item_1)) - self.assertFalse(self.build.is_bom_item_allocated(self.bom_item_2)) + self.assertFalse(self.line_1.is_fully_allocated()) + self.assertFalse(self.line_2.is_fully_allocated()) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_1), 50) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_2), 30) + self.assertEqual(self.line_1.unallocated_quantity(), 50) + self.assertEqual(self.line_2.unallocated_quantity(), 30) # This time we expect stock to be allocated! self.build.auto_allocate_stock( @@ -669,15 +683,15 @@ class AutoAllocationTests(BuildTestBase): optional_items=True, ) - self.assertFalse(self.build.are_untracked_parts_allocated()) + self.assertFalse(self.build.is_fully_allocated(tracked=False)) self.assertEqual(self.build.allocated_stock.count(), 7) - self.assertTrue(self.build.is_bom_item_allocated(self.bom_item_1)) - self.assertFalse(self.build.is_bom_item_allocated(self.bom_item_2)) + self.assertTrue(self.line_1.is_fully_allocated()) + self.assertFalse(self.line_2.is_fully_allocated()) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_1), 0) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_2), 5) + self.assertEqual(self.line_1.unallocated_quantity(), 0) + self.assertEqual(self.line_2.unallocated_quantity(), 5) # This time, allow substitute parts to be used! self.build.auto_allocate_stock( @@ -685,12 +699,11 @@ class AutoAllocationTests(BuildTestBase): substitutes=True, ) - # self.assertEqual(self.build.allocated_stock.count(), 8) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_1), 0) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_2), 5.0) + self.assertEqual(self.line_1.unallocated_quantity(), 0) + self.assertEqual(self.line_2.unallocated_quantity(), 5) - self.assertTrue(self.build.is_bom_item_allocated(self.bom_item_1)) - self.assertFalse(self.build.is_bom_item_allocated(self.bom_item_2)) + self.assertTrue(self.line_1.is_fully_allocated()) + self.assertFalse(self.line_2.is_fully_allocated()) def test_fully_auto(self): """We should be able to auto-allocate against a build in a single go""" @@ -701,7 +714,7 @@ class AutoAllocationTests(BuildTestBase): optional_items=True, ) - self.assertTrue(self.build.are_untracked_parts_allocated()) + self.assertTrue(self.build.is_fully_allocated(tracked=False)) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_1), 0) - self.assertEqual(self.build.unallocated_quantity(self.bom_item_2), 0) + self.assertEqual(self.line_1.unallocated_quantity(), 0) + self.assertEqual(self.line_2.unallocated_quantity(), 0) diff --git a/InvenTree/build/test_migrations.py b/InvenTree/build/test_migrations.py index 1072e2ae61..af094db7f2 100644 --- a/InvenTree/build/test_migrations.py +++ b/InvenTree/build/test_migrations.py @@ -158,3 +158,139 @@ class TestReferencePatternMigration(MigratorTestCase): pattern = Setting.objects.get(key='BUILDORDER_REFERENCE_PATTERN') self.assertEqual(pattern.value, 'BuildOrder-{ref:04d}') + + +class TestBuildLineCreation(MigratorTestCase): + """Test that build lines are correctly created for existing builds. + + Ref: https://github.com/inventree/InvenTree/pull/4855 + + This PR added the 'BuildLine' model, which acts as a link between a Build and a BomItem. + + - Migration 0044 creates BuildLine objects for existing builds. + - Migration 0046 links any existing BuildItem objects to corresponding BuildLine + """ + + migrate_from = ('build', '0041_alter_build_title') + migrate_to = ('build', '0047_auto_20230606_1058') + + def prepare(self): + """Create data to work with""" + + # Model references + Part = self.old_state.apps.get_model('part', 'part') + BomItem = self.old_state.apps.get_model('part', 'bomitem') + Build = self.old_state.apps.get_model('build', 'build') + BuildItem = self.old_state.apps.get_model('build', 'builditem') + StockItem = self.old_state.apps.get_model('stock', 'stockitem') + + # The "BuildLine" model does not exist yet + with self.assertRaises(LookupError): + self.old_state.apps.get_model('build', 'buildline') + + # Create a part + assembly = Part.objects.create( + name='Assembly', + description='An assembly', + assembly=True, + level=0, lft=0, rght=0, tree_id=0, + ) + + # Create components + for idx in range(1, 11): + part = Part.objects.create( + name=f"Part {idx}", + description=f"Part {idx}", + level=0, lft=0, rght=0, tree_id=0, + ) + + # Create plentiful stock + StockItem.objects.create( + part=part, + quantity=1000, + level=0, lft=0, rght=0, tree_id=0, + ) + + # Create a BOM item + BomItem.objects.create( + part=assembly, + sub_part=part, + quantity=idx, + reference=f"REF-{idx}", + ) + + # Create some builds + for idx in range(1, 4): + build = Build.objects.create( + part=assembly, + title=f"Build {idx}", + quantity=idx * 10, + reference=f"REF-{idx}", + level=0, lft=0, rght=0, tree_id=0, + ) + + # Allocate stock to the build + for bom_item in BomItem.objects.all(): + stock_item = StockItem.objects.get(part=bom_item.sub_part) + BuildItem.objects.create( + build=build, + bom_item=bom_item, + stock_item=stock_item, + quantity=bom_item.quantity, + ) + + def test_build_line_creation(self): + """Test that the BuildLine objects have been created correctly""" + + Build = self.new_state.apps.get_model('build', 'build') + BomItem = self.new_state.apps.get_model('part', 'bomitem') + BuildLine = self.new_state.apps.get_model('build', 'buildline') + BuildItem = self.new_state.apps.get_model('build', 'builditem') + StockItem = self.new_state.apps.get_model('stock', 'stockitem') + + # There should be 3x builds + self.assertEqual(Build.objects.count(), 3) + + # 10x BOMItem objects + self.assertEqual(BomItem.objects.count(), 10) + + # 10x StockItem objects + self.assertEqual(StockItem.objects.count(), 10) + + # And 30x BuildLine items (1 for each BomItem for each Build) + self.assertEqual(BuildLine.objects.count(), 30) + + # And 30x BuildItem objects (1 for each BomItem for each Build) + self.assertEqual(BuildItem.objects.count(), 30) + + # Check that each BuildItem has been linked to a BuildLine + for item in BuildItem.objects.all(): + self.assertIsNotNone(item.build_line) + self.assertEqual( + item.stock_item.part, + item.build_line.bom_item.sub_part, + ) + + item = BuildItem.objects.first() + + # Check that the "build" field has been removed + with self.assertRaises(AttributeError): + item.build + + # Check that the "bom_item" field has been removed + with self.assertRaises(AttributeError): + item.bom_item + + # Check that each BuildLine is correctly configured + for line in BuildLine.objects.all(): + # Check that the quantity is correct + self.assertEqual( + line.quantity, + line.build.quantity * line.bom_item.quantity, + ) + + # Check that the linked parts are correct + self.assertEqual( + line.build.part, + line.bom_item.part, + ) diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index 4de664d2a1..36422e1688 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -39,7 +39,5 @@ class BuildDetail(InvenTreeRoleMixin, InvenTreePluginViewMixin, DetailView): part = build.part ctx['part'] = part - ctx['has_tracked_bom_items'] = build.has_tracked_bom_items() - ctx['has_untracked_bom_items'] = build.has_untracked_bom_items() return ctx diff --git a/InvenTree/common/api.py b/InvenTree/common/api.py index 1de77c4245..030630778f 100644 --- a/InvenTree/common/api.py +++ b/InvenTree/common/api.py @@ -122,8 +122,13 @@ class CurrencyExchangeView(APIView): # Information on last update try: - backend = ExchangeBackend.objects.get(name='InvenTreeExchange') - updated = backend.last_update + backend = ExchangeBackend.objects.filter(name='InvenTreeExchange') + + if backend.exists(): + backend = backend.first() + updated = backend.last_update + else: + updated = None except Exception: updated = None diff --git a/InvenTree/common/settings.py b/InvenTree/common/settings.py index 0c84e51ee7..205f13ee00 100644 --- a/InvenTree/common/settings.py +++ b/InvenTree/common/settings.py @@ -1,9 +1,13 @@ """User-configurable settings for the common app.""" +import logging + from django.conf import settings from moneyed import CURRENCIES +logger = logging.getLogger('inventree') + def currency_code_default(): """Returns the default currency code (or USD if not specified)""" diff --git a/InvenTree/company/migrations/0025_auto_20201110_1001.py b/InvenTree/company/migrations/0025_auto_20201110_1001.py index f2fa767d81..117710daa7 100644 --- a/InvenTree/company/migrations/0025_auto_20201110_1001.py +++ b/InvenTree/company/migrations/0025_auto_20201110_1001.py @@ -8,6 +8,7 @@ import common.settings class Migration(migrations.Migration): dependencies = [ + ('common', '0004_inventreesetting'), ('company', '0024_unique_name_email_constraint'), ] diff --git a/InvenTree/company/migrations/0039_auto_20210701_0509.py b/InvenTree/company/migrations/0039_auto_20210701_0509.py index 094c7a5009..74dadcc340 100644 --- a/InvenTree/company/migrations/0039_auto_20210701_0509.py +++ b/InvenTree/company/migrations/0039_auto_20210701_0509.py @@ -8,6 +8,7 @@ import djmoney.models.fields class Migration(migrations.Migration): dependencies = [ + ('common', '0004_inventreesetting'), ('company', '0038_manufacturerpartparameter'), ] diff --git a/InvenTree/company/migrations/0051_alter_supplierpricebreak_price.py b/InvenTree/company/migrations/0051_alter_supplierpricebreak_price.py index 9786ff618b..11f8d554be 100644 --- a/InvenTree/company/migrations/0051_alter_supplierpricebreak_price.py +++ b/InvenTree/company/migrations/0051_alter_supplierpricebreak_price.py @@ -8,6 +8,7 @@ import djmoney.models.validators class Migration(migrations.Migration): dependencies = [ + ('common', '0004_inventreesetting'), ('company', '0050_alter_company_website'), ] diff --git a/InvenTree/order/migrations/0038_auto_20201112_1737.py b/InvenTree/order/migrations/0038_auto_20201112_1737.py index cdad4fe72f..121bdbe64f 100644 --- a/InvenTree/order/migrations/0038_auto_20201112_1737.py +++ b/InvenTree/order/migrations/0038_auto_20201112_1737.py @@ -8,6 +8,7 @@ import common.settings class Migration(migrations.Migration): dependencies = [ + ('common', '0004_inventreesetting'), ('order', '0037_auto_20201110_0911'), ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index f7301e2894..f9992b4d83 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -833,10 +833,10 @@ class SalesOrder(TotalPriceMixin, Order): return True - def is_over_allocated(self): + def is_overallocated(self): """Return true if any lines in the order are over-allocated.""" for line in self.lines.all(): - if line.is_over_allocated(): + if line.is_overallocated(): return True return False @@ -1358,7 +1358,7 @@ class SalesOrderLineItem(OrderLineItem): return self.allocated_quantity() >= self.quantity - def is_over_allocated(self): + def is_overallocated(self): """Return True if this line item is over allocated.""" return self.allocated_quantity() > self.quantity diff --git a/InvenTree/order/test_sales_order.py b/InvenTree/order/test_sales_order.py index 77c4a900aa..7d787b91ff 100644 --- a/InvenTree/order/test_sales_order.py +++ b/InvenTree/order/test_sales_order.py @@ -102,7 +102,7 @@ class SalesOrderTest(TestCase): self.assertEqual(self.line.allocated_quantity(), 0) self.assertEqual(self.line.fulfilled_quantity(), 0) self.assertFalse(self.line.is_fully_allocated()) - self.assertFalse(self.line.is_over_allocated()) + self.assertFalse(self.line.is_overallocated()) self.assertTrue(self.order.is_pending) self.assertFalse(self.order.is_fully_allocated()) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 4af7ed98dd..a65a8bf583 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -350,7 +350,10 @@ class PartTestTemplateDetail(RetrieveUpdateDestroyAPI): class PartTestTemplateList(ListCreateAPI): - """API endpoint for listing (and creating) a PartTestTemplate.""" + """API endpoint for listing (and creating) a PartTestTemplate. + + TODO: Add filterset class for this view + """ queryset = PartTestTemplate.objects.all() serializer_class = part_serializers.PartTestTemplateSerializer @@ -945,6 +948,28 @@ class PartFilter(rest_filters.FilterSet): else: return queryset.filter(last_stocktake=None) + stock_to_build = rest_filters.BooleanFilter(label='Required for Build Order', method='filter_stock_to_build') + + def filter_stock_to_build(self, queryset, name, value): + """Filter the queryset based on whether part stock is required for a pending BuildOrder""" + + if str2bool(value): + # Return parts which are required for a build order, but have not yet been allocated + return queryset.filter(required_for_build_orders__gt=F('allocated_to_build_orders')) + else: + # Return parts which are not required for a build order, or have already been allocated + return queryset.filter(required_for_build_orders__lte=F('allocated_to_build_orders')) + + depleted_stock = rest_filters.BooleanFilter(label='Depleted Stock', method='filter_depleted_stock') + + def filter_deployed_stock(self, queryset, name, value): + """Filter the queryset based on whether the part is fully depleted of stock""" + + if str2bool(value): + return queryset.filter(Q(in_stock=0) & ~Q(stock_item_count=0)) + else: + return queryset.exclude(Q(in_stock=0) & ~Q(stock_item_count=0)) + is_template = rest_filters.BooleanFilter() assembly = rest_filters.BooleanFilter() @@ -1181,32 +1206,6 @@ class PartList(PartMixin, APIDownloadMixin, ListCreateAPI): except (ValueError, PartCategory.DoesNotExist): pass - # Filer by 'depleted_stock' status -> has no stock and stock items - depleted_stock = params.get('depleted_stock', None) - - if depleted_stock is not None: - depleted_stock = str2bool(depleted_stock) - - if depleted_stock: - queryset = queryset.filter(Q(in_stock=0) & ~Q(stock_item_count=0)) - - # Filter by "parts which need stock to complete build" - stock_to_build = params.get('stock_to_build', None) - - # TODO: This is super expensive, database query wise... - # TODO: Need to figure out a cheaper way of making this filter query - - if stock_to_build is not None: - # Get active builds - builds = Build.objects.filter(status__in=BuildStatusGroups.ACTIVE_CODES) - # Store parts with builds needing stock - parts_needed_to_complete_builds = [] - # Filter required parts - for build in builds: - parts_needed_to_complete_builds += [part.pk for part in build.required_parts_to_complete_build] - - queryset = queryset.filter(pk__in=parts_needed_to_complete_builds) - queryset = self.filter_parameteric_data(queryset) return queryset diff --git a/InvenTree/part/filters.py b/InvenTree/part/filters.py index 70555a0a78..dbdc907bfd 100644 --- a/InvenTree/part/filters.py +++ b/InvenTree/part/filters.py @@ -99,6 +99,28 @@ def annotate_total_stock(reference: str = ''): ) +def annotate_build_order_requirements(reference: str = ''): + """Annotate the total quantity of each part required for build orders. + + - Only interested in 'active' build orders + - We are looking for any BuildLine items which required this part (bom_item.sub_part) + - We are interested in the 'quantity' of each BuildLine item + + """ + + # Active build orders only + build_filter = Q(build__status__in=BuildStatusGroups.ACTIVE_CODES) + + return Coalesce( + SubquerySum( + f'{reference}used_in__build_lines__quantity', + filter=build_filter, + ), + Decimal(0), + output_field=models.DecimalField(), + ) + + def annotate_build_order_allocations(reference: str = ''): """Annotate the total quantity of each part allocated to build orders: @@ -112,7 +134,7 @@ def annotate_build_order_allocations(reference: str = ''): """ # Build filter only returns 'active' build orders - build_filter = Q(build__status__in=BuildStatusGroups.ACTIVE_CODES) + build_filter = Q(build_line__build__status__in=BuildStatusGroups.ACTIVE_CODES) return Coalesce( SubquerySum( diff --git a/InvenTree/part/fixtures/part.yaml b/InvenTree/part/fixtures/part.yaml index 39cbf74ccb..a25a919520 100644 --- a/InvenTree/part/fixtures/part.yaml +++ b/InvenTree/part/fixtures/part.yaml @@ -100,7 +100,7 @@ salable: true purchaseable: false category: 7 - active: False + active: True IPN: BOB revision: A2 tree_id: 0 diff --git a/InvenTree/part/migrations/0055_auto_20201110_1001.py b/InvenTree/part/migrations/0055_auto_20201110_1001.py index 5c31eb3250..911766ad6d 100644 --- a/InvenTree/part/migrations/0055_auto_20201110_1001.py +++ b/InvenTree/part/migrations/0055_auto_20201110_1001.py @@ -8,6 +8,7 @@ import common.settings class Migration(migrations.Migration): dependencies = [ + ('common', '0004_inventreesetting'), ('part', '0054_auto_20201109_1246'), ] diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 8e65f95e2f..83c2c63de5 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -10,6 +10,7 @@ import re from datetime import datetime, timedelta from decimal import Decimal, InvalidOperation +from django.conf import settings from django.contrib.auth.models import User from django.core.exceptions import ValidationError from django.core.validators import MinLengthValidator, MinValueValidator @@ -1747,7 +1748,7 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) return pricing - def schedule_pricing_update(self, create: bool = False): + def schedule_pricing_update(self, create: bool = False, test: bool = False): """Helper function to schedule a pricing update. Importantly, catches any errors which may occur during deletion of related objects, @@ -1757,6 +1758,7 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) Arguments: create: Whether or not a new PartPricing object should be created if it does not already exist + test: Whether or not the pricing update is allowed during unit tests """ try: @@ -1768,7 +1770,7 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) pricing = self.pricing if create or pricing.pk: - pricing.schedule_for_update() + pricing.schedule_for_update(test=test) except IntegrityError: # If this part instance has been deleted, # some post-delete or post-save signals may still be fired @@ -2360,11 +2362,15 @@ class PartPricing(common.models.MetaMixin): return result - def schedule_for_update(self, counter: int = 0): + def schedule_for_update(self, counter: int = 0, test: bool = False): """Schedule this pricing to be updated""" import InvenTree.ready + # If we are running within CI, only schedule the update if the test flag is set + if settings.TESTING and not test: + return + # If importing data, skip pricing update if InvenTree.ready.isImportingData(): return @@ -3720,7 +3726,7 @@ class BomItem(DataImportMixin, MetadataMixin, models.Model): Includes: - The referenced sub_part - - Any directly specvified substitute parts + - Any directly specified substitute parts - If allow_variants is True, all variants of sub_part """ # Set of parts we will allow @@ -3741,11 +3747,6 @@ class BomItem(DataImportMixin, MetadataMixin, models.Model): valid_parts = [] for p in parts: - - # Inactive parts cannot be 'auto allocated' - if not p.active: - continue - # Trackable status must be the same as the sub_part if p.trackable != self.sub_part.trackable: continue @@ -3990,10 +3991,10 @@ class BomItem(DataImportMixin, MetadataMixin, models.Model): # Base quantity requirement base_quantity = self.quantity * build_quantity - # Overage requiremet - ovrg_quantity = self.get_overage_quantity(base_quantity) + # Overage requirement + overage_quantity = self.get_overage_quantity(base_quantity) - required = float(base_quantity) + float(ovrg_quantity) + required = float(base_quantity) + float(overage_quantity) return required diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 2a209633d4..512c5cd08b 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -410,8 +410,6 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize partial = True fields = [ 'active', - 'allocated_to_build_orders', - 'allocated_to_sales_orders', 'assembly', 'barcode_hash', 'category', @@ -423,9 +421,6 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize 'description', 'full_name', 'image', - 'in_stock', - 'ordering', - 'building', 'IPN', 'is_template', 'keywords', @@ -441,20 +436,28 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize 'revision', 'salable', 'starred', - 'stock_item_count', - 'suppliers', 'thumbnail', - 'total_in_stock', 'trackable', - 'unallocated_stock', 'units', 'variant_of', - 'variant_stock', 'virtual', 'pricing_min', 'pricing_max', 'responsible', + # Annotated fields + 'allocated_to_build_orders', + 'allocated_to_sales_orders', + 'building', + 'in_stock', + 'ordering', + 'required_for_build_orders', + 'stock_item_count', + 'suppliers', + 'total_in_stock', + 'unallocated_stock', + 'variant_stock', + # Fields only used for Part creation 'duplicate', 'initial_stock', @@ -553,6 +556,9 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize ), ) + # TODO: This could do with some refactoring + # TODO: Note that BomItemSerializer and BuildLineSerializer have very similar code + queryset = queryset.annotate( ordering=part.filters.annotate_on_order_quantity(), in_stock=part.filters.annotate_total_stock(), @@ -578,6 +584,11 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize ) ) + # Annotate with the total 'required for builds' quantity + queryset = queryset.annotate( + required_for_build_orders=part.filters.annotate_build_order_requirements(), + ) + return queryset def get_starred(self, part): @@ -587,17 +598,18 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize # Extra detail for the category category_detail = CategorySerializer(source='category', many=False, read_only=True) - # Calculated fields + # Annotated fields allocated_to_build_orders = serializers.FloatField(read_only=True) allocated_to_sales_orders = serializers.FloatField(read_only=True) - unallocated_stock = serializers.FloatField(read_only=True) building = serializers.FloatField(read_only=True) in_stock = serializers.FloatField(read_only=True) - variant_stock = serializers.FloatField(read_only=True) - total_in_stock = serializers.FloatField(read_only=True) ordering = serializers.FloatField(read_only=True) + required_for_build_orders = serializers.IntegerField(read_only=True) stock_item_count = serializers.IntegerField(read_only=True) suppliers = serializers.IntegerField(read_only=True) + total_in_stock = serializers.FloatField(read_only=True) + unallocated_stock = serializers.FloatField(read_only=True) + variant_stock = serializers.FloatField(read_only=True) image = InvenTree.serializers.InvenTreeImageSerializerField(required=False, allow_null=True) thumbnail = serializers.CharField(source='get_thumbnail_url', read_only=True) diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index 2d66770318..5837493f2a 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -1997,10 +1997,14 @@ class PartAPIAggregationTest(InvenTreeAPITestCase): bom_item = BomItem.objects.get(pk=6) + line = build.models.BuildLine.objects.get( + bom_item=bom_item, + build=bo, + ) + # Allocate multiple stock items against this build order build.models.BuildItem.objects.create( - build=bo, - bom_item=bom_item, + build_line=line, stock_item=StockItem.objects.get(pk=1000), quantity=10, ) @@ -2021,8 +2025,7 @@ class PartAPIAggregationTest(InvenTreeAPITestCase): # Allocate further stock against the build build.models.BuildItem.objects.create( - build=bo, - bom_item=bom_item, + build_line=line, stock_item=StockItem.objects.get(pk=1001), quantity=10, ) diff --git a/InvenTree/part/test_category.py b/InvenTree/part/test_category.py index 111f53125a..2d404b5ef9 100644 --- a/InvenTree/part/test_category.py +++ b/InvenTree/part/test_category.py @@ -144,7 +144,15 @@ class CategoryTest(TestCase): self.assertEqual(self.electronics.partcount(), 3) self.assertEqual(self.mechanical.partcount(), 9) + self.assertEqual(self.mechanical.partcount(active=True), 9) + + # Mark one part as inactive and retry + part = Part.objects.get(pk=1) + part.active = False + part.save() + self.assertEqual(self.mechanical.partcount(active=True), 8) + self.assertEqual(self.mechanical.partcount(False), 7) self.assertEqual(self.electronics.item_count, self.electronics.partcount()) diff --git a/InvenTree/part/test_pricing.py b/InvenTree/part/test_pricing.py index 18dc5c170a..e0f975dfb3 100644 --- a/InvenTree/part/test_pricing.py +++ b/InvenTree/part/test_pricing.py @@ -444,11 +444,6 @@ class PartPricingTests(InvenTreeTestCase): # Check that PartPricing objects have been created self.assertEqual(part.models.PartPricing.objects.count(), 101) - # Check that background-tasks have been created - from django_q.models import OrmQ - - self.assertEqual(OrmQ.objects.count(), 101) - def test_delete_part_with_stock_items(self): """Test deleting a part instance with stock items. @@ -473,6 +468,9 @@ class PartPricingTests(InvenTreeTestCase): purchase_price=Money(10, 'USD') ) + # Manually schedule a pricing update (does not happen automatically in testing) + p.schedule_pricing_update(create=True, test=True) + # Check that a PartPricing object exists self.assertTrue(part.models.PartPricing.objects.filter(part=p).exists()) @@ -483,5 +481,5 @@ class PartPricingTests(InvenTreeTestCase): self.assertFalse(part.models.PartPricing.objects.filter(part=p).exists()) # Try to update pricing (should fail gracefully as the Part has been deleted) - p.schedule_pricing_update(create=False) + p.schedule_pricing_update(create=False, test=True) self.assertFalse(part.models.PartPricing.objects.filter(part=p).exists()) diff --git a/InvenTree/plugin/base/event/events.py b/InvenTree/plugin/base/event/events.py index 5073afbceb..f2b28a9c3e 100644 --- a/InvenTree/plugin/base/event/events.py +++ b/InvenTree/plugin/base/event/events.py @@ -95,10 +95,14 @@ def allow_table_event(table_name): We *do not* want events to be fired for some tables! """ + # Prevent table events during the data import process if isImportingData(): - # Prevent table events during the data import process return False # pragma: no cover + # Prevent table events when in testing mode (saves a lot of time) + if settings.TESTING: + return False + table_name = table_name.lower().strip() # Ignore any tables which start with these prefixes diff --git a/InvenTree/report/models.py b/InvenTree/report/models.py index 7e5567ba9b..5595a346d7 100644 --- a/InvenTree/report/models.py +++ b/InvenTree/report/models.py @@ -392,6 +392,8 @@ class BuildReport(ReportTemplateBase): return { 'build': my_build, 'part': my_build.part, + 'build_outputs': my_build.build_outputs.all(), + 'line_items': my_build.build_lines.all(), 'bom_items': my_build.part.get_bom_items(), 'reference': my_build.reference, 'quantity': my_build.quantity, diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 3a45debe9c..22358cfabb 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -21,7 +21,7 @@ import stock.serializers as StockSerializers from build.models import Build from build.serializers import BuildSerializer from company.models import Company, SupplierPart -from company.serializers import CompanySerializer, SupplierPartSerializer +from company.serializers import CompanySerializer from generic.states import StatusView from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView, MetadataView) @@ -553,6 +553,28 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): queryset = StockItem.objects.all() filterset_class = StockFilter + def get_serializer(self, *args, **kwargs): + """Set context before returning serializer. + + Extra detail may be provided to the serializer via query parameters: + + - part_detail: Include detail about the StockItem's part + - location_detail: Include detail about the StockItem's location + - supplier_part_detail: Include detail about the StockItem's supplier_part + - tests: Include detail about the StockItem's test results + """ + try: + params = self.request.query_params + + for key in ['part_detail', 'location_detail', 'supplier_part_detail', 'tests']: + kwargs[key] = str2bool(params.get(key, False)) + except AttributeError: + pass + + kwargs['context'] = self.get_serializer_context() + + return self.serializer_class(*args, **kwargs) + def get_serializer_context(self): """Extend serializer context.""" ctx = super().get_serializer_context() @@ -743,8 +765,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): """ queryset = self.filter_queryset(self.get_queryset()) - params = request.query_params - page = self.paginate_queryset(queryset) if page is not None: @@ -754,78 +774,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): data = serializer.data - # Keep track of which related models we need to query - location_ids = set() - part_ids = set() - supplier_part_ids = set() - - # Iterate through each StockItem and grab some data - for item in data: - loc = item['location'] - if loc: - location_ids.add(loc) - - part = item['part'] - if part: - part_ids.add(part) - - sp = item['supplier_part'] - - if sp: - supplier_part_ids.add(sp) - - # Do we wish to include Part detail? - if str2bool(params.get('part_detail', False)): - - # Fetch only the required Part objects from the database - parts = Part.objects.filter(pk__in=part_ids).prefetch_related( - 'category', - ) - - part_map = {} - - for part in parts: - part_map[part.pk] = PartBriefSerializer(part).data - - # Now update each StockItem with the related Part data - for stock_item in data: - part_id = stock_item['part'] - stock_item['part_detail'] = part_map.get(part_id, None) - - # Do we wish to include SupplierPart detail? - if str2bool(params.get('supplier_part_detail', False)): - - supplier_parts = SupplierPart.objects.filter(pk__in=supplier_part_ids) - - supplier_part_map = {} - - for part in supplier_parts: - supplier_part_map[part.pk] = SupplierPartSerializer(part).data - - for stock_item in data: - part_id = stock_item['supplier_part'] - stock_item['supplier_part_detail'] = supplier_part_map.get(part_id, None) - - # Do we wish to include StockLocation detail? - if str2bool(params.get('location_detail', False)): - - # Fetch only the required StockLocation objects from the database - locations = StockLocation.objects.filter(pk__in=location_ids).prefetch_related( - 'parent', - 'children', - ) - - location_map = {} - - # Serialize each StockLocation object - for location in locations: - location_map[location.pk] = StockSerializers.LocationBriefSerializer(location).data - - # Now update each StockItem with the related StockLocation data - for stock_item in data: - loc_id = stock_item['location'] - stock_item['location_detail'] = location_map.get(loc_id, None) - """ Determine the response type based on the request. a) For HTTP requests (e.g. via the browsable API) return a DRF response @@ -852,6 +800,7 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): 'part', 'part__category', 'location', + 'test_results', 'tags', ) diff --git a/InvenTree/stock/migrations/0053_auto_20201110_0513.py b/InvenTree/stock/migrations/0053_auto_20201110_0513.py index 4462eb44cb..0b0d6cbc5a 100644 --- a/InvenTree/stock/migrations/0053_auto_20201110_0513.py +++ b/InvenTree/stock/migrations/0053_auto_20201110_0513.py @@ -8,6 +8,7 @@ import common.settings class Migration(migrations.Migration): dependencies = [ + ('common', '0004_inventreesetting'), ('stock', '0052_stockitem_is_building'), ] diff --git a/InvenTree/stock/migrations/0065_auto_20210701_0509.py b/InvenTree/stock/migrations/0065_auto_20210701_0509.py index 99cde1e7f7..5aedb7c6da 100644 --- a/InvenTree/stock/migrations/0065_auto_20210701_0509.py +++ b/InvenTree/stock/migrations/0065_auto_20210701_0509.py @@ -4,6 +4,22 @@ import InvenTree.fields from django.db import migrations import djmoney.models.fields +from django.db.migrations.recorder import MigrationRecorder + + +def show_migrations(apps, schema_editor): + """Show the latest migrations from each app""" + + for app in apps.get_app_configs(): + + label = app.label + + migrations = MigrationRecorder.Migration.objects.filter(app=app).order_by('-applied')[:5] + + print(f"{label} migrations:") + for m in migrations: + print(f" - {m.name}") + class Migration(migrations.Migration): @@ -11,7 +27,13 @@ class Migration(migrations.Migration): ('stock', '0064_auto_20210621_1724'), ] - operations = [ + operations = [] + + xoperations = [ + migrations.RunPython( + code=show_migrations, + reverse_code=migrations.RunPython.noop + ), migrations.AlterField( model_name='stockitem', name='purchase_price', diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index d048a82977..103622ee73 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -44,6 +44,50 @@ class LocationBriefSerializer(InvenTree.serializers.InvenTreeModelSerializer): ] +class StockItemTestResultSerializer(InvenTree.serializers.InvenTreeModelSerializer): + """Serializer for the StockItemTestResult model.""" + + class Meta: + """Metaclass options.""" + + model = StockItemTestResult + + fields = [ + 'pk', + 'stock_item', + 'key', + 'test', + 'result', + 'value', + 'attachment', + 'notes', + 'user', + 'user_detail', + 'date' + ] + + read_only_fields = [ + 'pk', + 'user', + 'date', + ] + + def __init__(self, *args, **kwargs): + """Add detail fields.""" + user_detail = kwargs.pop('user_detail', False) + + super().__init__(*args, **kwargs) + + if user_detail is not True: + self.fields.pop('user_detail') + + user_detail = InvenTree.serializers.UserSerializer(source='user', read_only=True) + + key = serializers.CharField(read_only=True) + + attachment = InvenTree.serializers.InvenTreeAttachmentSerializerField(required=False) + + class StockItemSerializerBrief(InvenTree.serializers.InvenTreeModelSerializer): """Brief serializers for a StockItem.""" @@ -126,6 +170,7 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): 'purchase_price', 'purchase_price_currency', 'use_pack_size', + 'tests', 'tags', ] @@ -234,11 +279,11 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): status_text = serializers.CharField(source='get_status_display', read_only=True) + # Optional detail fields, which can be appended via query parameters supplier_part_detail = SupplierPartSerializer(source='supplier_part', many=False, read_only=True) - part_detail = PartBriefSerializer(source='part', many=False, read_only=True) - location_detail = LocationBriefSerializer(source='location', many=False, read_only=True) + tests = StockItemTestResultSerializer(source='test_results', many=True, read_only=True) quantity = InvenTreeDecimalField() @@ -266,18 +311,22 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): part_detail = kwargs.pop('part_detail', False) location_detail = kwargs.pop('location_detail', False) supplier_part_detail = kwargs.pop('supplier_part_detail', False) + tests = kwargs.pop('tests', False) super(StockItemSerializer, self).__init__(*args, **kwargs) - if part_detail is not True: + if not part_detail: self.fields.pop('part_detail') - if location_detail is not True: + if not location_detail: self.fields.pop('location_detail') - if supplier_part_detail is not True: + if not supplier_part_detail: self.fields.pop('supplier_part_detail') + if not tests: + self.fields.pop('tests') + class SerializeStockItemSerializer(serializers.Serializer): """A DRF serializer for "serializing" a StockItem. @@ -653,50 +702,6 @@ class StockItemAttachmentSerializer(InvenTree.serializers.InvenTreeAttachmentSer ]) -class StockItemTestResultSerializer(InvenTree.serializers.InvenTreeModelSerializer): - """Serializer for the StockItemTestResult model.""" - - class Meta: - """Metaclass options.""" - - model = StockItemTestResult - - fields = [ - 'pk', - 'stock_item', - 'key', - 'test', - 'result', - 'value', - 'attachment', - 'notes', - 'user', - 'user_detail', - 'date' - ] - - read_only_fields = [ - 'pk', - 'user', - 'date', - ] - - def __init__(self, *args, **kwargs): - """Add detail fields.""" - user_detail = kwargs.pop('user_detail', False) - - super().__init__(*args, **kwargs) - - if user_detail is not True: - self.fields.pop('user_detail') - - user_detail = InvenTree.serializers.UserSerializer(source='user', read_only=True) - - key = serializers.CharField(read_only=True) - - attachment = InvenTree.serializers.InvenTreeAttachmentSerializerField(required=False) - - class StockTrackingSerializer(InvenTree.serializers.InvenTreeModelSerializer): """Serializer for StockItemTracking model.""" diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index 2daee5d748..e6841b9217 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -972,7 +972,7 @@ function loadBomTable(table, options={}) { } if (row.overage) { - text += ` (${row.overage}) `; + text += ` (+${row.overage})`; } return text; @@ -1161,6 +1161,8 @@ function loadBomTable(table, options={}) { } } + text = renderLink(text, url); + if (row.on_order && row.on_order > 0) { text += makeIconBadge( 'fa-shopping-cart', @@ -1168,7 +1170,7 @@ function loadBomTable(table, options={}) { ); } - return renderLink(text, url); + return text; } }); diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 52d412fb67..9b40bcd87b 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -13,7 +13,7 @@ formatDecimal, FullCalendar, getFormFieldValue, - getTableData,0 + getTableData, handleFormErrors, handleFormSuccess, imageHoverIcon, @@ -24,6 +24,7 @@ launchModalForm, linkButtonsToSelection, loadTableFilters, + locationDetail, makeDeleteButton, makeEditButton, makeRemoveButton, @@ -55,9 +56,8 @@ createBuildOutput, duplicateBuildOrder, editBuildOrder, - loadAllocationTable, + loadBuildLineTable, loadBuildOrderAllocationTable, - loadBuildOutputAllocationTable, loadBuildOutputTable, loadBuildTable, */ @@ -191,7 +191,6 @@ function duplicateBuildOrder(build_id, options={}) { } - /* Construct a form to cancel a build order */ function cancelBuildOrder(build_id, options={}) { @@ -397,7 +396,7 @@ function makeBuildOutputButtons(output_id, build_info, options={}) { var html = ''; // Tracked parts? Must be individually allocated - if (options.has_bom_items) { + if (options.has_tracked_lines) { // Add a button to allocate stock against this build output html += makeIconButton( @@ -405,17 +404,14 @@ function makeBuildOutputButtons(output_id, build_info, options={}) { 'button-output-allocate', output_id, '{% trans "Allocate stock items to this build output" %}', - { - disabled: true, - } ); - // Add a button to unallocate stock from this build output + // Add a button to deallocate stock from this build output html += makeIconButton( 'fa-minus-circle icon-red', - 'button-output-unallocate', + 'button-output-deallocate', output_id, - '{% trans "Unallocate stock from build output" %}', + '{% trans "Deallocate stock from build output" %}', ); } @@ -447,19 +443,19 @@ function makeBuildOutputButtons(output_id, build_info, options={}) { /* - * Unallocate stock against a particular build order + * Deallocate stock against a particular build order * * Options: * - output: pk value for a stock item "build output" * - bom_item: pk value for a particular BOMItem (build item) */ -function unallocateStock(build_id, options={}) { +function deallocateStock(build_id, options={}) { var url = `{% url "api-build-list" %}${build_id}/unallocate/`; var html = `
- {% trans "Are you sure you wish to unallocate stock items from this build?" %} + {% trans "Are you sure you wish to deallocate the selected stock items from this build?" %} `; @@ -472,12 +468,12 @@ function unallocateStock(build_id, options={}) { hidden: true, value: options.output, }, - bom_item: { + build_line: { hidden: true, - value: options.bom_item, + value: options.build_line, }, }, - title: '{% trans "Unallocate Stock Items" %}', + title: '{% trans "Deallocate Stock Items" %}', onSuccess: function(response, opts) { if (options.onSuccess) { options.onSuccess(response, opts); @@ -928,6 +924,7 @@ function loadBuildOrderAllocationTable(table, options={}) { name: 'buildorderallocation', groupBy: false, search: false, + sortable: true, paginationVAlign: 'bottom', original: options.params, formatNoMatches: function() { @@ -941,29 +938,35 @@ function loadBuildOrderAllocationTable(table, options={}) { }, { field: 'build', + sortable: true, switchable: false, title: '{% trans "Build Order" %}', formatter: function(value, row) { + let ref = `${row.build_detail.reference}`; + let html = renderLink(ref, `/build/${row.build}/`); - var ref = `${row.build_detail.reference}`; + html += `- ${row.build_detail.title}`; - return renderLink(ref, `/build/${row.build}/`); + html += buildStatusDisplay(row.build_detail.status, { + classes: 'float-right', + }); + + return html; } }, { - field: 'item', - title: '{% trans "Stock Item" %}', + field: 'quantity', + sortable: true, + title: '{% trans "Allocated Quantity" %}', formatter: function(value, row) { - // Render a link to the particular stock item - - var link = `/stock/item/${row.stock_item}/`; - var text = `{% trans "Stock Item" %} ${row.stock_item}`; + let link = `/stock/item/${row.stock_item}/`; + let text = formatDecimal(value); return renderLink(text, link); } }, { - field: 'location', + field: 'location_detail', title: '{% trans "Location" %}', formatter: function(value, row) { @@ -971,55 +974,24 @@ function loadBuildOrderAllocationTable(table, options={}) { return '{% trans "Location not specified" %}'; } - var link = `/stock/location/${value}`; - var text = row.location_detail.description; + let item = row.stock_item_detail; + item.location_detail = row.location_detail; - return renderLink(text, link); + return locationDetail(item, true); } }, - { - field: 'quantity', - title: '{% trans "Quantity" %}', - sortable: true, - } ] }); } -/* Internal helper functions for performing calculations on BOM data */ - -// Iterate through a list of allocations, returning *only* those which match a particular BOM row -function getAllocationsForBomRow(bom_row, allocations) { - var part_id = bom_row.sub_part; - - var matching_allocations = []; - - allocations.forEach(function(allocation) { - if (allocation.bom_part == part_id) { - matching_allocations.push(allocation); - } - }); - - return matching_allocations; -} - -// Sum the allocation quantity for a given BOM row -function sumAllocationsForBomRow(bom_row, allocations) { - var quantity = 0; - - getAllocationsForBomRow(bom_row, allocations).forEach(function(allocation) { - quantity += allocation.quantity; - }); - - return formatDecimal(quantity, 10); -} - - /* * Display a "build output" table for a particular build. * - * This displays a list of "active" (i.e. "in production") build outputs for a given build + * This displays a list of "active" (i.e. "in production") build outputs (stock items) for a given build. + * + * - Any required tests are displayed here for each output + * - Additionally, if any tracked items are present in the build, the allocated items are displayed * */ function loadBuildOutputTable(build_info, options={}) { @@ -1028,8 +1000,15 @@ function loadBuildOutputTable(build_info, options={}) { var params = options.params || {}; + // test templates for the part being assembled + let test_templates = null; + + // tracked line items for this build + let has_tracked_lines = false; + // Mandatory query filters params.part_detail = true; + params.tests = true; params.is_building = true; params.build = build_info.pk; @@ -1048,320 +1027,152 @@ function loadBuildOutputTable(build_info, options={}) { plural_name: '{% trans "build outputs" %}', }); - function setupBuildOutputButtonCallbacks() { - - // Callback for the "allocate" button - $(table).find('.button-output-allocate').click(function() { - var pk = $(this).attr('pk'); - - // Find the "allocation" sub-table associated with this output - var subtable = $(`#output-sub-table-${pk}`); - - if (subtable.exists()) { - var rows = getTableData(`#output-sub-table-${pk}`); - - allocateStockToBuild( - build_info.pk, - build_info.part, - rows, - { - output: pk, - success: function() { - $(table).bootstrapTable('refresh'); - } - } - ); - } else { - console.warn(`Could not locate sub-table for output ${pk}`); - } - }); - - // Callback for the "unallocate" button - $(table).find('.button-output-unallocate').click(function() { - var pk = $(this).attr('pk'); - - unallocateStock(build_info.pk, { - output: pk, - table: table - }); - }); - - // Callback for the "complete" button - $(table).find('.button-output-complete').click(function() { - var pk = $(this).attr('pk'); - - var output = $(table).bootstrapTable('getRowByUniqueId', pk); - - completeBuildOutputs( - build_info.pk, - [ - output, - ], - { - success: function() { - $(table).bootstrapTable('refresh'); - $('#build-stock-table').bootstrapTable('refresh'); - } - } - ); - }); - - // Callback for the "scrap" button - $(table).find('.button-output-scrap').click(function() { - var pk = $(this).attr('pk'); - var output = $(table).bootstrapTable('getRowByUniqueId', pk); - - scrapBuildOutputs( - build_info.pk, - [output], - { - success: function() { - $(table).bootstrapTable('refresh'); - $('#build-stock-table').bootstrapTable('refresh'); - } - } - ); - }); - - // Callback for the "remove" button - $(table).find('.button-output-remove').click(function() { - var pk = $(this).attr('pk'); - - var output = $(table).bootstrapTable('getRowByUniqueId', pk); - - deleteBuildOutputs( - build_info.pk, - [ - output, - ], - { - success: function() { - $(table).bootstrapTable('refresh'); - $('#build-stock-table').bootstrapTable('refresh'); - } - } - ); - }); - } - - // List of "tracked bom items" required for this build order - var bom_items = null; - - // Request list of BOM data for this build order + // Request list of required tests for the part being assembled inventreeGet( - '{% url "api-bom-list" %}', + '{% url "api-part-test-template-list" %}', { part: build_info.part, - sub_part_detail: true, - sub_part_trackable: true, }, { async: false, success: function(response) { - // Save the BOM items - bom_items = response; + test_templates = []; + response.forEach(function(item) { + // Only include "required" tests + if (item.required) { + test_templates.push(item); + } + }); } } ); - /* - * Construct a "sub table" showing the required BOM items - */ - function constructBuildOutputSubTable(index, row, element) { - var sub_table_id = `output-sub-table-${row.pk}`; - - var html = ` -
-
-
- `; - - element.html(html); - - // Pass through the cached BOM items - build_info.bom_items = bom_items; - - loadBuildOutputAllocationTable( - build_info, - row, - { - table: `#${sub_table_id}`, - parent_table: table, - } - ); - } - - function updateAllocationData(rows) { - // Update stock allocation information for the build outputs - - // Request updated stock allocation data for this build order + // Callback function to load the allocated stock items + function reloadOutputAllocations() { inventreeGet( - '{% url "api-build-item-list" %}', + '{% url "api-build-line-list" %}', { build: build_info.pk, - part_detail: true, - location_detail: true, - sub_part_trackable: true, tracked: true, }, { success: function(response) { + let build_lines = response.results || response; + let table_data = $(table).bootstrapTable('getData'); - // Group allocation information by the "install_into" field - var allocations = {}; + has_tracked_lines = build_lines.length > 0; - response.forEach(function(allocation) { - var target = allocation.install_into; + /* Iterate through each active build output and update allocations + * For each build output, we need to: + * - Append any existing allocations + * - Work out how many lines are "fully allocated" + */ + for (var ii = 0; ii < table_data.length; ii++) { + let output = table_data[ii]; - if (target != null) { - if (!(target in allocations)) { - allocations[target] = []; - } + let fully_allocated = 0; - allocations[target].push(allocation); - } - }); + // Construct a list of allocations for this output + let lines = []; - // Now that the allocations have been grouped by stock item, - // we can update each row in the table, - // using the pk value of each row (stock item) + // Iterate through each tracked build line item + for (let jj = 0; jj < build_lines.length; jj++) { - var data = []; + // Create a local copy of the build line + let line = Object.assign({}, build_lines[jj]); - rows.forEach(function(row) { - row.allocations = allocations[row.pk] || []; - data.push(row); + let required = line.bom_item_detail.quantity * output.quantity; - var n_completed_lines = 0; + let allocations = []; + let allocated = 0; - // Check how many BOM lines have been completely allocated for this build output - bom_items.forEach(function(bom_item) { + // Iterate through each allocation for this line item + for (let kk = 0; kk < line.allocations.length; kk++) { + let allocation = line.allocations[kk]; - var required_quantity = bom_item.quantity * row.quantity; - - if (sumAllocationsForBomRow(bom_item, row.allocations) >= required_quantity) { - n_completed_lines += 1; - } - - var output_progress_bar = $(`#output-progress-${row.pk}`); - - if (output_progress_bar.exists()) { - output_progress_bar.html( - makeProgressBar( - n_completed_lines, - bom_items.length, - { - max_width: '150px', - } - ) - ); - } - }); - }); - - // Reload table with updated data - $(table).bootstrapTable('load', data); - } - } - ); - } - - var part_tests = null; - - function updateTestResultData(rows) { - // Update test result information for the build outputs - - // Request test template data if it has not already been retrieved - if (part_tests == null) { - inventreeGet( - '{% url "api-part-test-template-list" %}', - { - part: build_info.part, - required: true, - }, - { - success: function(response) { - // Save the list of part tests - part_tests = response; - - // Callback to this function again - updateTestResultData(rows); - } - } - ); - - return; - } - - // Retrieve stock results for the entire build - inventreeGet( - '{% url "api-stock-test-result-list" %}', - { - build: build_info.pk, - ordering: '-date', - }, - { - success: function(results) { - - var data = []; - // Iterate through each row and find matching test results - rows.forEach(function(row) { - var test_results = {}; - - results.forEach(function(result) { - if (result.stock_item == row.pk) { - // This test result matches the particular stock item - - if (!(result.key in test_results)) { - test_results[result.key] = result.result; + if (allocation.install_into == output.pk) { + allocations.push(allocation); + allocated += allocation.quantity; } } - }); - row.passed_tests = test_results; + line.allocations = allocations; + line.allocated = allocated; + line.quantity = required; - data.push(row); - }); + if (allocated >= required) { + fully_allocated += 1; + } - $(table).bootstrapTable('load', data); + lines.push(line); + } + + // Push the row back in + output.lines = lines; + output.fully_allocated = fully_allocated; + table_data[ii] = output; + } + + // Update the table data + $(table).bootstrapTable('load', table_data); + + if (has_tracked_lines) { + $(table).bootstrapTable('showColumn', 'fully_allocated'); + } else { + $(table).bootstrapTable('hideColumn', 'fully_allocated'); + } } } ); } - // Return the number of 'passed' tests in a given row - function countPassedTests(row) { - if (part_tests == null) { - return 0; - } + // Callback function to construct a child table + function constructOutputSubTable(index, row, element) { + let sub_table_id = `output-table-${row.pk}`; - var results = row.passed_tests || {}; - var n = 0; + element.html(` +
+
+
+ `); - part_tests.forEach(function(test) { - if (results[test.key] || false) { - n += 1; + loadBuildLineTable( + `#${sub_table_id}`, + build_info.pk, + { + output: row.pk, + data: row.lines, + } + ); + } + + // Return the "passed test count" for a given row + function getPassedTestCount(row) { + let passed_tests = 0; + + // Iterate through the available test templates + test_templates.forEach(function(test) { + // Iterate through all the "test results" for the given stock item + // If the keys match, update the result + // As they are returned in order, the "latest" result is the one we use + + let final_result = false; + + row.tests.forEach(function(result) { + if (result.key == test.key) { + final_result = result.result; + } + }); + + if (final_result) { + passed_tests += 1; } }); - return n; - } - - // Return the number of 'fully allocated' lines for a given row - function countAllocatedLines(row) { - var n_completed_lines = 0; - - bom_items.forEach(function(bom_row) { - var required_quantity = bom_row.quantity * row.quantity; - - if (sumAllocationsForBomRow(bom_row, row.allocations || []) >= required_quantity) { - n_completed_lines += 1; - } - }); - - return n_completed_lines; + return passed_tests; } + // Now, construct the actual table $(table).inventreeTable({ url: '{% url "api-stock-list" %}', queryParams: filters, @@ -1372,23 +1183,18 @@ function loadBuildOutputTable(build_info, options={}) { sortable: true, search: true, sidePagination: 'client', - detailView: bom_items.length > 0, + detailView: true, detailFilter: function(index, row) { - return bom_items.length > 0; + return has_tracked_lines; }, detailFormatter: function(index, row, element) { - constructBuildOutputSubTable(index, row, element); + return constructOutputSubTable(index, row, element); }, formatNoMatches: function() { return '{% trans "No active build outputs found" %}'; }, - onPostBody: function(rows) { - // Add callbacks for the buttons - setupBuildOutputButtonCallbacks(); - }, - onLoadSuccess: function(rows) { - updateAllocationData(rows); - updateTestResultData(rows); + onLoadSuccess: function() { + reloadOutputAllocations(); }, buttons: constructExpandCollapseButtons(table), columns: [ @@ -1401,11 +1207,11 @@ function loadBuildOutputTable(build_info, options={}) { { field: 'part', title: '{% trans "Part" %}', - switchable: true, + switchable: false, formatter: function(value, row) { - var thumb = row.part_detail.thumbnail; - - return imageHoverIcon(thumb) + row.part_detail.full_name + makePartIcons(row.part_detail); + return imageHoverIcon(row.part_detail.thumbnail) + + renderLink(row.part_detail.full_name, `/part/${row.part_detail.pk}/`) + + makePartIcons(row.part_detail); } }, { @@ -1414,18 +1220,19 @@ function loadBuildOutputTable(build_info, options={}) { switchable: false, sortable: true, formatter: function(value, row) { - - var url = `/stock/item/${row.pk}/`; - - var text = ''; + let text = ''; if (row.serial && row.quantity == 1) { text = `{% trans "Serial Number" %}: ${row.serial}`; } else { text = `{% trans "Quantity" %}: ${row.quantity}`; - if (row.part_detail && row.part_detail.units) { - text += ` ${row.part_detail.units}`; - } + + } + + text = renderLink(text, `/stock/item/${row.pk}/`); + + if (row.part_detail && row.part_detail.units) { + text += ` [${row.part_detail.units}]`; } if (row.batch) { @@ -1434,80 +1241,35 @@ function loadBuildOutputTable(build_info, options={}) { text += stockStatusDisplay(row.status, {classes: 'float-right'}); - return renderLink(text, url); - }, - sorter: function(a, b, row_a, row_b) { - // Sort first by quantity, and then by serial number - if ((row_a.quantity > 1) || (row_b.quantity > 1)) { - return row_a.quantity > row_b.quantity ? 1 : -1; - } - - if ((row_a.serial != null) && (row_b.serial != null)) { - var sn_a = Number.parseInt(row_a.serial) || 0; - var sn_b = Number.parseInt(row_b.serial) || 0; - - return sn_a > sn_b ? 1 : -1; - } - - return 0; + return text; } }, { - field: 'allocated', - title: '{% trans "Allocated Stock" %}', - visible: bom_items.length > 0, - switchable: false, + field: 'fully_allocated', + title: '{% trans "Allocated Lines" %}', + visible: false, sortable: true, + switchable: false, formatter: function(value, row) { - - if (bom_items.length == 0) { - return `
{% trans "No tracked BOM items for this build" %}
`; + if (!row.lines) { + return '-'; } - var progressBar = makeProgressBar( - countAllocatedLines(row), - bom_items.length, - { - max_width: '150px', - } - ); - - return `
${progressBar}
`; - }, - sorter: function(value_a, value_b, row_a, row_b) { - var q_a = countAllocatedLines(row_a); - var q_b = countAllocatedLines(row_b); - - return q_a > q_b ? 1 : -1; - }, + return makeProgressBar(row.fully_allocated, row.lines.length); + } }, { field: 'tests', - title: '{% trans "Completed Tests" %}', - sortable: true, + title: '{% trans "Required Tests" %}', + visible: test_templates.length > 0, switchable: true, formatter: function(value, row) { - if (part_tests == null || part_tests.length == 0) { - return `{% trans "No required tests for this build" %}`; + if (row.tests) { + return makeProgressBar( + getPassedTestCount(row), + test_templates.length + ); } - - var n_passed = countPassedTests(row); - - var progress = makeProgressBar( - n_passed, - part_tests.length, - { - max_width: '150px', - } - ); - - return progress; - }, - sorter: function(a, b, row_a, row_b) { - var n_a = countPassedTests(row_a); - var n_b = countPassedTests(row_b); - - return n_a > n_b ? 1 : -1; } }, { @@ -1519,39 +1281,92 @@ function loadBuildOutputTable(build_info, options={}) { row.pk, build_info, { - has_bom_items: bom_items.length > 0, + has_tracked_lines: has_tracked_lines, } - ); + ) } } ] }); - // Enable the "allocate" button when the sub-table is exanded - $(table).on('expand-row.bs.table', function(detail, index, row) { - $(`#button-output-allocate-${row.pk}`).prop('disabled', false); + /* Callbacks for the build output buttons */ + + // Allocate stock button + $(table).on('click', '.button-output-allocate', function() { + let pk = $(this).attr('pk'); + + // Retrieve build output row + let output = $(table).bootstrapTable('getRowByUniqueId', pk); + let lines = output.lines || []; + + allocateStockToBuild( + build_info.pk, + lines, + { + output: pk, + success: function() { + $(table).bootstrapTable('refresh'); + $('#build-stock-table').bootstrapTable('refresh'); + } + } + ); }); - // Disable the "allocate" button when the sub-table is collapsed - $(table).on('collapse-row.bs.table', function(detail, index, row) { - $(`#button-output-allocate-${row.pk}`).prop('disabled', true); + // Deallocate stock button + $(table).on('click', '.button-output-deallocate', function() { + let pk = $(this).attr('pk'); + + deallocateStock(build_info.pk, { + output: pk, + table: table + }); }); - // Add callbacks for the various table menubar buttons + // Complete build output button + $(table).on('click', '.button-output-complete', function() { + let pk = $(this).attr('pk'); + let output = $(table).bootstrapTable('getRowByUniqueId', pk); - // Scrap multiple outputs - $('#multi-output-scrap').click(function() { - var outputs = getTableData(table); + completeBuildOutputs( + build_info.pk, + [output], + { + success: function() { + $(table).bootstrapTable('refresh'); + $('#build-stock-table').bootstrapTable('refresh'); + } + } + ); + }); + + // Scrap build output button + $(table).on('click', '.button-output-scrap', function() { + let pk = $(this).attr('pk'); + let output = $(table).bootstrapTable('getRowByUniqueId', pk); scrapBuildOutputs( build_info.pk, - outputs, + [output], { success: function() { - // Reload the "in progress" table - $('#build-output-table').bootstrapTable('refresh'); + $(table).bootstrapTable('refresh'); + $('#build-stock-table').bootstrapTable('refresh'); + } + } + ); + }); - // Reload the "completed" table + // Remove build output button + $(table).on('click', '.button-output-remove', function() { + let pk = $(this).attr('pk'); + let output = $(table).bootstrapTable('getRowByUniqueId', pk); + + deleteBuildOutputs( + build_info.pk, + [output], + { + success: function() { + $(table).bootstrapTable('refresh'); $('#build-stock-table').bootstrapTable('refresh'); } } @@ -1596,6 +1411,25 @@ function loadBuildOutputTable(build_info, options={}) { ); }); + // Scrap multiple outputs + $('#multi-output-scrap').click(function() { + var outputs = getTableData(table); + + scrapBuildOutputs( + build_info.pk, + outputs, + { + success: function() { + // Reload the "in progress" table + $('#build-output-table').bootstrapTable('refresh'); + + // Reload the "completed" table + $('#build-stock-table').bootstrapTable('refresh'); + } + } + ); + }); + $('#outputs-expand').click(function() { $(table).bootstrapTable('expandAllRows'); }); @@ -1606,705 +1440,21 @@ function loadBuildOutputTable(build_info, options={}) { } -/* - * Display the "allocation table" for a particular build output. - * - * This displays a table of required allocations for a particular build output - * - * Args: - * - buildId: The PK of the Build object - * - partId: The PK of the Part object - * - output: The StockItem object which is the "output" of the build - * - options: - * -- table: The #id of the table (will be auto-calculated if not provided) - */ -function loadBuildOutputAllocationTable(buildInfo, output, options={}) { - - var buildId = buildInfo.pk; - var partId = buildInfo.part; - - var outputId = null; - - if (output) { - outputId = output.pk; - } else { - outputId = 'untracked'; - } - - var bom_items = buildInfo.bom_items || null; - - function loadBomData() { - let data = []; - - inventreeGet( - '{% url "api-bom-list" %}', - { - part: partId, - sub_part_detail: true, - sub_part_trackable: buildInfo.tracked_parts, - }, - { - async: false, - success: function(results) { - data = results; - } - } - ); - - return data; - } - - // If BOM items have not been provided, load via the API - if (bom_items == null) { - bom_items = loadBomData(); - } - - // Apply filters to build table - // As the table is constructed locally, we can apply filters directly - function filterBuildAllocationTable(filters={}) { - $(table).bootstrapTable( - 'filterBy', - filters, - { - 'filterAlgorithm': function(row, filters) { - let result = true; - - if (!filters) { - return true; - } - - // Filter by 'consumable' flag - if ('consumable' in filters) { - result &= filters.consumable == '1' ? row.consumable : !row.consumable; - } - - // Filter by 'optional' flag - if ('optional' in filters) { - result &= filters.optional == '1' ? row.optional : !row.optional; - } - - // Filter by 'allocated' flag - if ('allocated' in filters) { - let fully_allocated = row.consumable || isRowFullyAllocated(row); - result &= filters.allocated == '1' ? fully_allocated : !fully_allocated; - } - - // Filter by 'available' flag - if ('available' in filters) { - let available = row.available_stock > 0; - result &= filters.available == '1' ? available : !available; - } - - return result; - } - } - ); - } - - var table = options.table || `#allocation-table-${outputId}`; - - // Filters - let filters = loadTableFilters('builditems', options.params); - - setupFilterList('builditems', $(table), options.filterTarget, { - callback: function(table, filters, options) { - if (filters == null) { - // Destroy and re-create the table from scratch - $(table).bootstrapTable('destroy'); - loadBuildOutputAllocationTable(buildInfo, output, options); - } else { - filterBuildAllocationTable(filters); - } - } - }); - - var allocated_items = output == null ? null : output.allocations; - - function redrawAllocationData() { - // Force a refresh of each row in the table - // Note we cannot call 'refresh' because we are passing data from memory - - // How many rows are fully allocated? - var allocated_rows = 0; - - for (var idx = 0; idx < bom_items.length; idx++) { - var row = bom_items[idx]; - - if (isRowFullyAllocated(row)) { - allocated_rows++; - } - } - - // Reload table data - $(table).bootstrapTable('load', bom_items); - - // Find the top-level progress bar for this build output - var output_progress_bar = $(`#output-progress-${outputId}`); - - if (output_progress_bar.exists()) { - if (bom_items.length > 0) { - output_progress_bar.html( - makeProgressBar( - allocated_rows, - bom_items.length, - { - max_width: '150px', - } - ) - ); - } - } else { - console.warn(`Could not find progress bar for output '${outputId}'`); - } - } - - function reloadAllocationData(async=true) { - // Reload stock allocation data for this particular build output - - inventreeGet( - '{% url "api-build-item-list" %}', - { - build: buildId, - part_detail: true, - location_detail: true, - output: output == null ? null : output.pk, - }, - { - async: async, - success: function(response) { - allocated_items = response; - - redrawAllocationData(); - - } - } - ); - } - - if (allocated_items == null) { - // No allocation data provided? Request from server (blocking) - reloadAllocationData(false); - } else { - redrawAllocationData(); - } - - function requiredQuantity(row) { - // Return the required quantity for a given row - - var quantity = 0; - - if (output) { - // "Tracked" parts are calculated against individual build outputs - quantity = row.quantity * output.quantity; - } else { - // "Untracked" parts are specified against the build itself - quantity = row.quantity * buildInfo.quantity; - } - - // Store the required quantity in the row data - // Prevent weird rounding issues - row.required = formatDecimal(quantity, 15); - return row.required; - } - - function availableQuantity(row) { - // Return the total available stock for a given row - - // Base stock - var available = row.available_stock; - - // Substitute stock - available += (row.available_substitute_stock || 0); - - // Variant stock - if (row.allow_variants) { - available += (row.available_variant_stock || 0); - } - - return available; - } - - function allocatedQuantity(row) { - row.allocated = sumAllocationsForBomRow(row, allocated_items); - return row.allocated; - } - - function isRowFullyAllocated(row) { - return allocatedQuantity(row) >= requiredQuantity(row); - } - - function setupCallbacks() { - // Register button callbacks once table data are loaded - - // Callback for 'allocate' button - $(table).find('.button-add').click(function() { - - // Primary key of the 'sub_part' - var pk = $(this).attr('pk'); - - // Extract BomItem information from this row - var row = $(table).bootstrapTable('getRowByUniqueId', pk); - - if (!row) { - console.warn('getRowByUniqueId returned null'); - return; - } - - allocateStockToBuild( - buildId, - partId, - [ - row, - ], - { - source_location: buildInfo.source_location, - success: function(data) { - // $(table).bootstrapTable('refresh'); - reloadAllocationData(); - }, - output: output == null ? null : output.pk, - } - ); - }); - - // Callback for 'buy' button - $(table).find('.button-buy').click(function() { - - var pk = $(this).attr('pk'); - - inventreeGet( - `/api/part/${pk}/`, - {}, - { - success: function(part) { - orderParts( - [part], - {} - ); - } - } - ); - }); - - // Callback for 'build' button - $(table).find('.button-build').click(function() { - var pk = $(this).attr('pk'); - - // Extract row data from the table - var idx = $(this).closest('tr').attr('data-index'); - var row = $(table).bootstrapTable('getData')[idx]; - - newBuildOrder({ - part: pk, - parent: buildId, - quantity: requiredQuantity(row) - allocatedQuantity(row), - }); - }); - - // Callback for 'unallocate' button - $(table).find('.button-unallocate').click(function() { - - // Extract row data from the table - var idx = $(this).closest('tr').attr('data-index'); - var row = $(table).bootstrapTable('getData')[idx]; - - unallocateStock(buildId, { - bom_item: row.pk, - output: outputId == 'untracked' ? null : outputId, - table: table, - onSuccess: function(response, opts) { - reloadAllocationData(); - } - }); - }); - } - - // Load table of BOM items - $(table).inventreeTable({ - data: bom_items, - disablePagination: true, - formatNoMatches: function() { - return '{% trans "No BOM items found" %}'; - }, - name: 'build-allocation', - uniqueId: 'sub_part', - search: options.search || false, - queryParams: filters, - original: options.params, - onRefresh: function(data) { - filterBuildAllocationTable(filters); - }, - onPostBody: function(data) { - // Setup button callbacks - setupCallbacks(); - }, - sortable: true, - showColumns: true, - detailView: true, - detailFilter: function(index, row) { - return allocatedQuantity(row) > 0; - }, - buttons: constructExpandCollapseButtons(table), - detailFormatter: function(index, row, element) { - // Construct an 'inner table' which shows which stock items have been allocated - - var subTableId = `allocation-table-${outputId}-${row.pk}`; - - var html = `
`; - - element.html(html); - - var subTable = $(`#${subTableId}`); - - subTable.bootstrapTable({ - data: getAllocationsForBomRow(row, allocated_items), - showHeader: true, - columns: [ - { - field: 'part', - title: '{% trans "Part" %}', - formatter: function(value, row) { - - var html = imageHoverIcon(row.part_detail.thumbnail); - html += renderLink(row.part_detail.full_name, `/part/${value}/`); - return html; - } - }, - { - width: '50%', - field: 'quantity', - title: '{% trans "Assigned Stock" %}', - formatter: function(value, row) { - var text = ''; - - var url = ''; - - var serial = row.serial; - - if (row.stock_item_detail) { - serial = row.stock_item_detail.serial; - } - - if (serial && row.quantity == 1) { - text = `{% trans "Serial Number" %}: ${serial}`; - } else { - text = `{% trans "Quantity" %}: ${row.quantity}`; - if (row.part_detail && row.part_detail.units) { - text += ` ${row.part_detail.units}`; - } - } - - var pk = row.stock_item || row.pk; - - url = `/stock/item/${pk}/`; - - return renderLink(text, url); - } - }, - { - field: 'location', - title: '{% trans "Location" %}', - formatter: function(value, row) { - - if (row.location && row.location_detail) { - var text = shortenString(row.location_detail.pathstring); - var url = `/stock/location/${row.location}/`; - - return renderLink(text, url); - } else { - return '{% trans "No location set" %}'; - } - } - }, - { - field: 'actions', - formatter: function(value, row) { - /* Actions available for a particular stock item allocation: - * - * - Edit the allocation quantity - * - Delete the allocation - */ - - var pk = row.pk; - - var html = ''; - - html += makeEditButton('button-allocation-edit', pk, '{% trans "Edit stock allocation" %}'); - - html += makeDeleteButton('button-allocation-delete', pk, '{% trans "Delete stock allocation" %}'); - - return wrapButtons(html); - } - } - ] - }); - - // Assign button callbacks to the newly created allocation buttons - subTable.find('.button-allocation-edit').click(function() { - var pk = $(this).attr('pk'); - - constructForm(`{% url "api-build-item-list" %}${pk}/`, { - fields: { - quantity: {}, - }, - title: '{% trans "Edit Allocation" %}', - onSuccess: reloadAllocationData, - }); - }); - - subTable.find('.button-allocation-delete').click(function() { - var pk = $(this).attr('pk'); - - constructForm(`{% url "api-build-item-list" %}${pk}/`, { - method: 'DELETE', - title: '{% trans "Remove Allocation" %}', - onSuccess: reloadAllocationData, - }); - }); - }, - columns: [ - { - visible: true, - switchable: false, - checkbox: true, - }, - { - field: 'sub_part_detail.full_name', - title: '{% trans "Required Part" %}', - sortable: true, - switchable: false, - formatter: function(value, row) { - var url = `/part/${row.sub_part}/`; - var thumb = row.sub_part_detail.thumbnail; - var name = row.sub_part_detail.full_name; - - var html = imageHoverIcon(thumb) + renderLink(name, url); - - html += makePartIcons(row.sub_part_detail); - - if (row.substitutes && row.substitutes.length > 0) { - html += makeIconBadge('fa-exchange-alt', '{% trans "Substitute parts available" %}'); - } - - if (row.allow_variants) { - html += makeIconBadge('fa-sitemap', '{% trans "Variant stock allowed" %}'); - } - - return html; - } - }, - { - field: 'reference', - title: '{% trans "Reference" %}', - sortable: true, - switchable: true, - }, - { - field: 'consumable', - title: '{% trans "Consumable" %}', - sortable: true, - switchable: true, - formatter: function(value) { - return yesNoLabel(value); - } - }, - { - field: 'optional', - title: '{% trans "Optional" %}', - sortable: true, - switchable: true, - formatter: function(value) { - return yesNoLabel(value); - } - }, - { - field: 'quantity', - title: '{% trans "Quantity Per" %}', - sortable: true, - switchable: false, - formatter: function(value, row) { - var text = value; - - if (row.sub_part_detail && row.sub_part_detail.units) { - text += ` ${row.sub_part_detail.units}`; - } - return text; - } - }, - { - field: 'available_stock', - title: '{% trans "Available" %}', - sortable: true, - switchable: true, - formatter: function(value, row) { - - var url = `/part/${row.sub_part_detail.pk}/?display=part-stock`; - - // Calculate total "available" (unallocated) quantity - var substitute_stock = row.available_substitute_stock || 0; - var variant_stock = row.allow_variants ? (row.available_variant_stock || 0) : 0; - - var available_stock = availableQuantity(row); - - var required = requiredQuantity(row); - var allocated = allocatedQuantity(row); - - var text = ''; - - if (available_stock > 0) { - text += `${available_stock}`; - if (row.sub_part_detail && row.sub_part_detail.units) { - text += ` ${row.sub_part_detail.units}`; - } - } - - var icons = ''; - - if (row.consumable) { - icons += ``; - } else { - if (available_stock < (required - allocated)) { - icons += makeIconBadge('fa-times-circle icon-red', '{% trans "Insufficient stock available" %}'); - } else { - icons += makeIconBadge('fa-check-circle icon-green', '{% trans "Sufficient stock available" %}'); - } - - if (available_stock <= 0) { - icons += `{% trans "No Stock Available" %}`; - } else { - let extra = ''; - if ((substitute_stock > 0) && (variant_stock > 0)) { - extra = '{% trans "Includes variant and substitute stock" %}'; - } else if (variant_stock > 0) { - extra = '{% trans "Includes variant stock" %}'; - } else if (substitute_stock > 0) { - extra = '{% trans "Includes substitute stock" %}'; - } - - if (extra) { - icons += makeIconBadge('fa-info-circle icon-blue', extra); - } - } - } - - if (row.on_order && row.on_order > 0) { - icons += makeIconBadge('fa-shopping-cart', '{% trans "On Order" %}: ' + row.on_order); - } - - return renderLink(text, url) + icons; - }, - sorter: function(valA, valB, rowA, rowB) { - - return availableQuantity(rowA) > availableQuantity(rowB) ? 1 : -1; - }, - }, - { - field: 'allocated', - title: '{% trans "Allocated" %}', - sortable: true, - switchable: false, - formatter: function(value, row) { - var required = requiredQuantity(row); - var allocated = row.consumable ? required : allocatedQuantity(row); - var progressbar_text = `${allocated} / ${required}`; - if (row.sub_part_detail && row.sub_part_detail.units) { - progressbar_text += ` ${row.sub_part_detail.units}`; - } - return makeProgressBar(allocated, required, {text: progressbar_text}); - }, - sorter: function(valA, valB, rowA, rowB) { - // Custom sorting function for progress bars - - var aA = allocatedQuantity(rowA); - var aB = allocatedQuantity(rowB); - - var qA = requiredQuantity(rowA); - var qB = requiredQuantity(rowB); - - // Handle the case where both numerators are zero - if ((aA == 0) && (aB == 0)) { - return (qA > qB) ? 1 : -1; - } - - // Handle the case where either denominator is zero - if ((qA == 0) || (qB == 0)) { - return 1; - } - - var progressA = parseFloat(aA) / qA; - var progressB = parseFloat(aB) / qB; - - // Handle the case where both ratios are equal - if (progressA == progressB) { - return (qA > qB) ? 1 : -1; - } - - if (progressA == progressB) return 0; - - return (progressA > progressB) ? 1 : -1; - } - }, - { - field: 'actions', - title: '{% trans "Actions" %}', - switchable: false, - sortable: false, - formatter: function(value, row) { - - if (row.consumable) { - return `{% trans "Consumable item" %}`; - } - - // Generate action buttons for this build output - let html = ''; - - if (allocatedQuantity(row) < requiredQuantity(row)) { - if (row.sub_part_detail.assembly) { - html += makeIconButton('fa-tools icon-blue', 'button-build', row.sub_part, '{% trans "Build stock" %}'); - } - - if (row.sub_part_detail.purchaseable) { - html += makeIconButton('fa-shopping-cart icon-blue', 'button-buy', row.sub_part, '{% trans "Order stock" %}'); - } - - html += makeIconButton('fa-sign-in-alt icon-green', 'button-add', row.sub_part, '{% trans "Allocate stock" %}'); - } - - html += makeRemoveButton( - 'button-unallocate', - row.sub_part, - '{% trans "Unallocate stock" %}', - { - disabled: allocatedQuantity(row) == 0, - } - ); - - return wrapButtons(html); - } - }, - ] - }); - - filterBuildAllocationTable(filters); -} - - - /** * Allocate stock items to a build * * arguments: * - buildId: ID / PK value for the build * - partId: ID / PK value for the part being built - * - bom_items: A list of BomItem objects to be allocated + * - line_items: A list of BuildItem objects to be allocated * * options: * - output: ID / PK of the associated build output (or null for untracked items) * - source_location: ID / PK of the top-level StockLocation to source stock from (or null) */ -function allocateStockToBuild(build_id, part_id, bom_items, options={}) { +function allocateStockToBuild(build_id, line_items, options={}) { - if (bom_items.length == 0) { + if (line_items.length == 0) { showAlertDialog( '{% trans "Select Parts" %}', @@ -2314,7 +1464,22 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { return; } - // ID of the associated "build output" (or null) + let build = null; + + // Extract build information + inventreeGet(`{% url "api-build-list" %}${build_id}/`, {}, { + async: false, + success: function(response) { + build = response; + } + }); + + if (!build) { + console.error(`Failed to find build ${build_id}`); + return; + } + + // ID of the associated "build output" (stock item) (or null) var output_id = options.output || null; var auto_fill_filters = {}; @@ -2324,21 +1489,21 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { if (output_id) { // Request information on the particular build output (stock item) inventreeGet(`{% url "api-stock-list" %}${output_id}/`, {}, { + async: false, success: function(output) { if (output.quantity == 1 && output.serial != null) { auto_fill_filters.serial = output.serial; } }, - async: false, }); } - function renderBomItemRow(bom_item, quantity) { + function renderBuildLineRow(build_line, quantity) { - var pk = bom_item.pk; - var sub_part = bom_item.sub_part_detail; + var pk = build_line.pk; + var sub_part = build_line.part_detail; - var thumb = thumbnailImage(bom_item.sub_part_detail.thumbnail); + var thumb = thumbnailImage(sub_part.thumbnail); var delete_button = `
`; @@ -2365,8 +1530,8 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { ); var allocated_display = makeProgressBar( - bom_item.allocated, - bom_item.required, + build_line.allocated, + build_line.quantity, ); var stock_input = constructField( @@ -2380,8 +1545,6 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { } ); - // var stock_input = constructRelatedFieldInput(`items_stock_item_${pk}`); - var html = ` @@ -2407,16 +1570,16 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { var table_entries = ''; - for (var idx = 0; idx < bom_items.length; idx++) { - var bom_item = bom_items[idx]; + for (var idx = 0; idx < line_items.length; idx++) { + let item = line_items[idx]; // Ignore "consumable" BOM items - if (bom_item.consumable) { + if (item.part_detail.consumable) { continue; } - var required = bom_item.required || 0; - var allocated = bom_item.allocated || 0; + var required = item.quantity || 0; + var allocated = item.allocated || 0; var remaining = required - allocated; if (remaining < 0) { @@ -2428,7 +1591,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { // We only care about entries which are not yet fully allocated if (remaining > 0) { - table_entries += renderBomItemRow(bom_item, remaining); + table_entries += renderBuildLineRow(item, remaining); } } @@ -2508,13 +1671,13 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { ); // Initialize stock item fields - bom_items.forEach(function(bom_item) { + line_items.forEach(function(line_item) { initializeRelatedField( { - name: `items_stock_item_${bom_item.pk}`, + name: `items_stock_item_${line_item.pk}`, api_url: '{% url "api-stock-list" %}', filters: { - bom_item: bom_item.pk, + bom_item: line_item.bom_item_detail.pk, in_stock: true, available: true, part_detail: true, @@ -2536,7 +1699,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { } // Quantity remaining to be allocated - var remaining = Math.max((bom_item.required || 0) - (bom_item.allocated || 0), 0); + var remaining = Math.max((line_item.quantity || 0) - (line_item.allocated || 0), 0); // Calculate the available quantity var available = Math.max((data.quantity || 0) - (data.allocated || 0), 0); @@ -2544,7 +1707,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { // Maximum amount that we need var desired = Math.min(available, remaining); - updateFieldValue(`items_quantity_${bom_item.pk}`, desired, {}, opts); + updateFieldValue(`items_quantity_${line_item.pk}`, desired, {}, opts); }, adjustFilters: function(filters) { // Restrict query to the selected location @@ -2586,7 +1749,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { var item_pk_values = []; - bom_items.forEach(function(item) { + line_items.forEach(function(item) { var quantity = getFormFieldValue( `items_quantity_${item.pk}`, @@ -2606,7 +1769,7 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) { if (quantity != null) { data.items.push({ - bom_item: item.pk, + build_line: item.pk, stock_item: stock_item, quantity: quantity, output: output_id, @@ -3023,91 +2186,430 @@ function updateAllocationTotal(id, count, required) { } } -function loadAllocationTable(table, part_id, part, url, required, button) { +/* + * Render a table of BuildItem objects, which are allocated against a particular BuildLine + */ +function renderBuildLineAllocationTable(element, build_line, options={}) { - // Load the allocation table - table.bootstrapTable({ - url: url, - sortable: false, - formatNoMatches: function() { - return '{% trans "No parts allocated for" %} ' + part; - }, + let output = options.output || 'untracked'; + let tableId = `allocation-table-${output}-${build_line.pk}`; + + // Construct a table element + let html = ` +
+
+
`; + + element.html(html); + + let sub_table = $(`#${tableId}`); + + // Load the allocation items into the table + sub_table.bootstrapTable({ + data: build_line.allocations, + showHeader: false, columns: [ { - field: 'stock_item_detail', - title: '{% trans "Stock Item" %}', - formatter: function(value) { - return '' + parseFloat(value.quantity) + ' x ' + value.part_name + ' @ ' + value.location_name; - } - }, - { - field: 'stock_item_detail.quantity', - title: '{% trans "Available" %}', - formatter: function(value) { - return parseFloat(value); + field: 'part', + title: '{% trans "Part" %}', + formatter: function(value, row) { + let html = imageHoverIcon(row.part_detail.thumbnail); + html += renderLink(row.part_detail.full_name, `/part/${value}/`); + return html; } }, { field: 'quantity', - title: '{% trans "Allocated" %}', + title: '{% trans "Allocated Quantity" %}', formatter: function(value, row) { - var html = parseFloat(value); + let text = ''; + let url = ''; + let serial = row.serial; - var bEdit = ``; - var bDel = ``; + if (row.stock_item_detail) { + serial = row.stock_item_detail.serial; + } - html += ` -
- ${bEdit} - ${bDel} -
- `; + if (serial && row.quantity == 1) { + text = `{% trans "Serial Number" %}: ${serial}`; + } else { + text = `{% trans "Quantity" %}: ${row.quantity}`; + if (row.part_detail && row.part_detail.units) { + text += ` ${row.part_detail.units}`; + } + } - return html; + var pk = row.stock_item || row.pk; + + url = `/stock/item/${pk}/`; + + return renderLink(text, url); + } + }, + { + field: 'location', + title: '{% trans "Location" %}', + formatter: function(value, row) { + if (row.location_detail) { + var text = shortenString(row.location_detail.pathstring); + var url = `/stock/location/${row.location}/`; + + return renderLink(text, url); + } else { + return '{% trans "No location set" %}'; + } + } + }, + { + field: 'actions', + title: '', + formatter: function(value, row) { + let buttons = ''; + buttons += makeEditButton('button-allocation-edit', row.pk, '{% trans "Edit stock allocation" %}'); + buttons += makeDeleteButton('button-allocation-delete', row.pk, '{% trans "Delete stock allocation" %}'); + return wrapButtons(buttons); } } - ], + ] }); - // Callback for 'new-item' button - button.click(function() { - launchModalForm(button.attr('url'), { - success: function() { - table.bootstrapTable('refresh'); + // Callbacks + $(sub_table).on('click', '.button-allocation-edit', function() { + let pk = $(this).attr('pk'); + + constructForm(`{% url "api-build-item-list" %}${pk}/`, { + fields: { + quantity: {}, + }, + title: '{% trans "Edit Allocation" %}', + onSuccess: function() { + $(options.parent_table).bootstrapTable('refresh'); }, }); }); - table.on('load-success.bs.table', function() { - // Extract table data - var results = table.bootstrapTable('getData'); + $(sub_table).on('click', '.button-allocation-delete', function() { + let pk = $(this).attr('pk'); - var count = 0; + constructForm(`{% url "api-build-item-list" %}${pk}/`, { + method: 'DELETE', + title: '{% trans "Remove Allocation" %}', + onSuccess: function() { + $(options.parent_table).bootstrapTable('refresh'); + }, + }); + }); +} - for (var i = 0; i < results.length; i++) { - count += parseFloat(results[i].quantity); - } - updateAllocationTotal(part_id, count, required); +/* + * Load a table of BuildLine objects associated with a Build + * + * @param {int} build_id - The ID of the Build object + * @param {object} options - Options for the table + */ +function loadBuildLineTable(table, build_id, options={}) { + + let name = 'build-lines'; + let params = options.params || {}; + let output = options.output; + + params.build = build_id; + + if (output) { + params.output = output; + name += `-${output}`; + } else { + // Default to untracked parts for the build + params.tracked = false; + } + + let filters = loadTableFilters('buildlines', params); + let filterTarget = options.filterTarget || '#filter-list-buildlines'; + + setupFilterList('buildlines', $(table), filterTarget); + // If data is passed directly to this function, do not request data from the server + + let table_options = { + name: name, + uniqueId: 'pk', + detailView: true, + detailFilter: function(index, row) { + // Detail view is available if there is any allocated stock + return row.allocated > 0; + }, + detailFormatter: function(_index, row, element) { + renderBuildLineAllocationTable(element, row, { + parent_table: table, + }); + }, + formatNoMatches: function() { + return '{% trans "No build lines found" %}'; + }, + columns: [ + { + checkbox: true, + title: '{% trans "Select" %}', + searchable: false, + switchable: false, + }, + { + field: 'bom_item', + title: '{% trans "Required Part" %}', + switchable: false, + sortable: true, + sortName: 'part', + formatter: function(value, row) { + if (value == null) { + return `BOM item deleted`; + } + + let html = ''; + + // Part thumbnail + html += imageHoverIcon(row.part_detail.thumbnail) + renderLink(row.part_detail.full_name, `/part/${row.part_detail.pk}/`); + + if (row.bom_item_detail.allow_variants) { + html += makeIconBadge('fa-sitemap', '{% trans "Variant stock allowed" %}'); + } + + if (row.part_detail.trackable) { + html += makeIconBadge('fa-directions', '{% trans "Trackable part" %}'); + } + + return html; + } + }, + { + field: 'reference', + title: '{% trans "Reference" %}', + sortable: true, + formatter: function(value, row) { + return row.bom_item_detail.reference; + } + }, + { + field: 'consumable', + title: '{% trans "Consumable" %}', + sortable: true, + switchable: true, + formatter: function(value, row) { + return yesNoLabel(row.bom_item_detail.consumable); + } + }, + { + field: 'optional', + title: '{% trans "Optional" %}', + sortable: true, + switchable: true, + formatter: function(value, row) { + return yesNoLabel(row.bom_item_detail.optional); + } + }, + { + field: 'unit_quantity', + sortable: true, + title: '{% trans "Unit Quantity" %}', + formatter: function(value, row) { + let text = row.bom_item_detail.quantity; + + if (row.bom_item_detail.overage) { + text += ` (+${row.bom_item_detail.overage})`; + } + + if (row.part_detail.units) { + text += ` [${row.part_detail.units}]`; + } + + return text; + } + }, + { + field: 'quantity', + title: '{% trans "Required Quantity" %}', + sortable: true, + }, + { + field: 'available_stock', + title: '{% trans "Available" %}', + sortable: true, + formatter: function(value, row) { + var url = `/part/${row.part_detail.pk}/?display=part-stock`; + // Calculate the "available" quantity + let available = row.available_stock + row.available_substitute_stock; + + if (row.bom_item_detail.allow_variants) { + available += row.available_variant_stock; + } + + let text = ''; + + if (available > 0) { + text += `${formatDecimal(available)}`; + + if (row.part_detail.units) { + text += ` [${row.part_detail.units}]`; + } + } + + let icons = ''; + + if (row.bom_item_detail.consumable) { + icons += ``; + } else { + if (available < (row.quantity - row.allocated)) { + icons += makeIconBadge('fa-times-circle icon-red', '{% trans "Insufficient stock available" %}'); + } else { + icons += makeIconBadge('fa-check-circle icon-green', '{% trans "Sufficient stock available" %}'); + } + + if (available <= 0) { + icons += `{% trans "No Stock Available" %}`; + } else { + let extra = ''; + if ((row.available_substitute_stock > 0) && (row.available_variant_stock > 0)) { + extra = '{% trans "Includes variant and substitute stock" %}'; + } else if (row.available_variant_stock > 0) { + extra = '{% trans "Includes variant stock" %}'; + } else if (row.available_substitute_stock > 0) { + extra = '{% trans "Includes substitute stock" %}'; + } + + if (extra) { + icons += makeIconBadge('fa-info-circle icon-blue', extra); + } + } + } + + if (row.on_order && row.on_order > 0) { + icons += makeIconBadge('fa-shopping-cart', `{% trans "On Order" %}: ${formatDecimal(row.on_order)}`); + } + + return renderLink(text, url) + icons; + } + }, + { + field: 'allocated', + title: '{% trans "Allocated" %}', + sortable: true, + formatter: function(value, row) { + return makeProgressBar(row.allocated, row.quantity); + } + }, + { + field: 'actions', + title: '', + switchable: false, + sortable: false, + formatter: function(value, row) { + let buttons = ''; + let pk = row.pk; + + // Consumable items do not need to be allocated + if (row.bom_item_detail.consumable) { + return `{% trans "Consumable Item" %}`; + } + + if (row.part_detail.trackable && !options.output) { + // Tracked parts must be allocated to a specific build output + return `{% trans "Tracked item" %}`; + } + + if (row.allocated < row.quantity) { + + // Add a button to "build" stock for this line + if (row.part_detail.assembly) { + buttons += makeIconButton('fa-tools icon-blue', 'button-build', pk, '{% trans "Build stock" %}'); + } + + // Add a button to "purchase" stock for this line + if (row.part_detail.purchaseable) { + buttons += makeIconButton('fa-shopping-cart icon-blue', 'button-buy', pk, '{% trans "Order stock" %}'); + } + + // Add a button to "allocate" stock for this line + buttons += makeIconButton('fa-sign-in-alt icon-green', 'button-allocate', pk, '{% trans "Allocate stock" %}'); + } + + if (row.allocated > 0) { + buttons += makeRemoveButton('button-unallocate', pk, '{% trans "Remove stock allocation" %}'); + } + + return wrapButtons(buttons); + } + } + ] + }; + + if (options.data) { + Object.assign(table_options, { + data: options.data, + sidePagination: 'client', + showColumns: false, + pagination: false, + disablePagination: true, + search: false, + }); + } else { + Object.assign(table_options, { + url: '{% url "api-build-line-list" %}', + queryParams: filters, + original: params, + search: true, + sidePagination: 'server', + pagination: true, + showColumns: true, + buttons: constructExpandCollapseButtons(table), + }); + } + + $(table).inventreeTable(table_options); + + /* Add callbacks for allocation buttons */ + + // Callback to build stock + $(table).on('click', '.button-build', function() { + let pk = $(this).attr('pk'); + let row = $(table).bootstrapTable('getRowByUniqueId', pk); + + // Start a new "build" for this line + newBuildOrder({ + part: row.part_detail.pk, + parent: build_id, + quantity: Math.max(row.quantity - row.allocated, 0), + }); }); - // Button callbacks for editing and deleting the allocations - table.on('click', '.item-edit-button', function() { - var button = $(this); + // Callback to purchase stock + $(table).on('click', '.button-buy', function() { + let pk = $(this).attr('pk'); + let row = $(table).bootstrapTable('getRowByUniqueId', pk); - launchModalForm(button.attr('url'), { + // TODO: Refresh table after purchase order is created + orderParts([row.part_detail], {}); + }); + + // Callback to allocate stock + $(table).on('click', '.button-allocate', function() { + let pk = $(this).attr('pk'); + let row = $(table).bootstrapTable('getRowByUniqueId', pk); + + allocateStockToBuild(build_id, [row], { + output: options.output, success: function() { - table.bootstrapTable('refresh'); + $(table).bootstrapTable('refresh'); } }); }); - table.on('click', '.item-del-button', function() { - var button = $(this); + // Callback to un-allocate stock + $(table).on('click', '.button-unallocate', function() { + let pk = $(this).attr('pk'); - launchModalForm(button.attr('url'), { - success: function() { - table.bootstrapTable('refresh'); + deallocateStock(build_id, { + build_line: pk, + onSuccess: function() { + $(table).bootstrapTable('refresh'); } }); }); diff --git a/InvenTree/templates/js/translated/sales_order.js b/InvenTree/templates/js/translated/sales_order.js index 35e3d2d7e8..678169a82f 100644 --- a/InvenTree/templates/js/translated/sales_order.js +++ b/InvenTree/templates/js/translated/sales_order.js @@ -1727,12 +1727,12 @@ function loadSalesOrderLineItemTable(table, options={}) { options.params = options.params || {}; if (!options.order) { - console.error('function called without order ID'); + console.error('loadSalesOrderLineItemTable called without order ID'); return; } if (!options.status) { - console.error('function called without order status'); + console.error('loadSalesOrderLineItemTable called without order status'); return; } diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index 6c422a3cae..c24b90c15c 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -480,8 +480,8 @@ function getBuildTableFilters() { } -// Return a dictionary of filters for the "build item" table -function getBuildItemTableFilters() { +// Return a dictionary of filters for the "build lines" table +function getBuildLineTableFilters() { return { allocated: { type: 'bool', @@ -491,6 +491,10 @@ function getBuildItemTableFilters() { type: 'bool', title: '{% trans "Available" %}', }, + tracked: { + type: 'bool', + title: '{% trans "Tracked" %}', + }, consumable: { type: 'bool', title: '{% trans "Consumable" %}', @@ -771,8 +775,8 @@ function getAvailableTableFilters(tableKey) { return getBOMTableFilters(); case 'build': return getBuildTableFilters(); - case 'builditems': - return getBuildItemTableFilters(); + case 'buildlines': + return getBuildLineTableFilters(); case 'location': return getStockLocationFilters(); case 'parameters': diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index df5efc8d08..7a9120770f 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -131,6 +131,7 @@ class RuleSet(models.Model): 'part_bomitemsubstitute', 'build_build', 'build_builditem', + 'build_buildline', 'build_buildorderattachment', 'stock_stockitem', 'stock_stocklocation', diff --git a/docs/docs/build/allocate.md b/docs/docs/build/allocate.md index 5eba88d672..06512b4c1f 100644 --- a/docs/docs/build/allocate.md +++ b/docs/docs/build/allocate.md @@ -82,9 +82,9 @@ Stock can be manually allocated to the build as required, using the *Allocate st Stock allocations can be manually adjusted or deleted using the action buttons available in each row of the allocation table. -### Unallocate Stock +### Deallocate Stock -The *Unallocate Stock* button can be used to remove all allocations of untracked stock items against the build order. +The *Deallocate Stock* button can be used to remove all allocations of untracked stock items against the build order. ## Automatic Stock Allocation diff --git a/docs/docs/build/bom.md b/docs/docs/build/bom.md index f773f349ae..281e801d41 100644 --- a/docs/docs/build/bom.md +++ b/docs/docs/build/bom.md @@ -23,12 +23,6 @@ A BOM for a particular assembly is comprised of a number (zero or more) of BOM " | Optional | A boolean field which indicates if this BOM Line Item is "optional" | | Note | Optional note field for additional information -!!! missing "Overage" - While the overage field exists, it is currently non-functional and has no effect on BOM operation - -!!! missing "Optional" - The Optional field is currently for indication only - it does not serve a functional purpose (yet) - ### Consumable BOM Line Items If a BOM line item is marked as *consumable*, this means that while the part and quantity information is tracked in the BOM, this line item does not get allocated to a [Build Order](./build.md). This may be useful for certain items that the user does not wish to track through the build process, as they may be low value, in abundant stock, or otherwise complicated to track. diff --git a/docs/docs/build/build.md b/docs/docs/build/build.md index f7659e6f57..74fc6e2404 100644 --- a/docs/docs/build/build.md +++ b/docs/docs/build/build.md @@ -26,7 +26,7 @@ To navigate to the Build Order display, select *Build* from the main navigation {% include "img.html" %} {% endwith %} -#### Tree Vieww +#### Tree View *Tree View* also provides a tabulated view of Build Orders. Orders are displayed in a hierarchical manner, showing any parent / child relationships between different build orders. diff --git a/docs/docs/report/build.md b/docs/docs/report/build.md index 4461cadc9e..f1b138f5eb 100644 --- a/docs/docs/report/build.md +++ b/docs/docs/report/build.md @@ -18,8 +18,11 @@ In addition to the default report context variables, the following context varia | --- | --- | | build | The build object the report is being generated against | | part | The [Part](./context_variables.md#part) object that the build references | +| line_items | A shortcut for [build.line_items](#build) | +| bom_items | A shortcut for [build.bom_items](#build) | +| build_outputs | A shortcut for [build.build_outputs](#build) | | reference | The build order reference string | -| quantity | Build order quantity | +| quantity | Build order quantity (number of assemblies being built) | #### build @@ -29,7 +32,9 @@ The following variables are accessed by build.variable | --- | --- | | active | Boolean that tells if the build is active | | batch | Batch code transferred to build parts (optional) | -| bom_items | A query set with all BOM items for the build | +| line_items | A query set with all the build line items associated with the build | +| bom_items | A query set with all BOM items for the part being assembled | +| build_outputs | A queryset containing all build output ([Stock Item](../stock/stock.md)) objects associated with this build | | can_complete | Boolean that tells if the build can be completed. Means: All material allocated and all parts have been build. | | are_untracked_parts_allocated | Boolean that tells if all bom_items have allocated stock_items. | | creation_date | Date where the build has been created | @@ -42,7 +47,8 @@ The following variables are accessed by build.variable | notes | Text notes | | parent | Reference to a parent build object if this is a sub build | | part | The [Part](./context_variables.md#part) to be built (from component BOM items) | -| quantity | Build order quantity | +| quantity | Build order quantity (total number of assembly outputs) | +| completed | The number out outputs which have been completed | | reference | Build order reference (required, must be unique) | | required_parts | A query set with all parts that are required for the build | | responsible | Owner responsible for completing the build. This can be a user or a group. Depending on that further context variables differ | @@ -59,19 +65,38 @@ The following variables are accessed by build.variable As usual items in a query sets can be selected by adding a .n to the set e.g. build.required_parts.0 will result in the first part of the list. Each query set has again its own context variables. +#### line_items + +The `line_items` variable is a list of all build line items associated with the selected build. The following attributes are available for each individual line_item instance: + +| Attribute | Description | +| --- | --- | +| .build | A reference back to the parent build order | +| .bom_item | A reference to the BOMItem which defines this line item | +| .quantity | The required quantity which is to be allocated against this line item | +| .part | A shortcut for .bom_item.sub_part | +| .allocations | A list of BuildItem objects which allocate stock items against this line item | +| .allocated_quantity | The total stock quantity which has been allocated against this line | +| .unallocated_quantity | The remaining quantity to allocate | +| .is_fully_allocated | Boolean value, returns True if the line item has sufficient stock allocated against it | +| .is_overallocated | Boolean value, returns True if the line item has more allocated stock than is required | + #### bom_items -| Variable | Description | +| Attribute | Description | | --- | --- | | .reference | The reference designators of the components | -| .quantity | The number of components | +| .quantity | The number of components required to build | +| .overage | The extra amount required to assembly | +| .consumable | Boolean field, True if this is a "consumable" part which is not tracked through builds | | .sub_part | The part at this position | | .substitutes.all | A query set with all allowed substitutes for that part | +| .note | Extra text field which can contain additional information | #### allocated_stock.all -| Variable | Description | +| Attribute | Description | | --- | --- | | .bom_item | The bom item where this part belongs to | | .stock_item | The allocated [StockItem](./context_variables.md#stockitem) | From c8365ccd0c9371ea4d127fe616e0029f35b3c19c Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 13 Jun 2023 21:04:17 +1000 Subject: [PATCH 015/103] Update app docs (#5032) --- docs/docs/app/settings.md | 71 ++++++++++++------ docs/docs/assets/images/app/app_settings.png | Bin 124647 -> 183514 bytes .../assets/images/app/barcode_settings.png | Bin 0 -> 49307 bytes docs/docs/assets/images/app/settings.png | Bin 69260 -> 99134 bytes 4 files changed, 50 insertions(+), 21 deletions(-) create mode 100644 docs/docs/assets/images/app/barcode_settings.png diff --git a/docs/docs/app/settings.md b/docs/docs/app/settings.md index cb12ba53aa..c76d678778 100644 --- a/docs/docs/app/settings.md +++ b/docs/docs/app/settings.md @@ -8,11 +8,15 @@ The *Settings* view provides access to user configurable settings, in addition t The main settings view is shown below, and provides the following options: -- **Server** - Configure and select server profile -- **App Settings** - Configure app settings -- **Home Screen** - Configure home screen settings -- **Part** - Configure part settings -- **About** - Display app version information +| Option | Description | +| --- | --- | +| [Server](./connect.md) | Select server profile and configure settings | +| [App Settings](#app-settings) | Configure app settings | +| [Barcode Settings](#barcode-settings) | Configure barcode scanning settings | +| [Home Screen](#home-screen) | Configure home screen options | +| [Part](#part-settings) | Configure part management options | +| About | Display app version information | + {% with id="settings_view", url="app/settings.png", maxheight="240px", description="Settings view" %} {% include 'img.html' %} @@ -26,32 +30,40 @@ The *App Settings* view provides configuration options for the InvenTree app: {% include 'img.html' %} {% endwith %} -### Parts +### App Settings -Configure options for "parts" display: +| Option | Description | +| --- | --- | +| Dark Mode | Enable "dark mode" display for the app. | +| Screen Orientation | Select [screen orientation mode](#screen-orientation) | +| Use Strict HTTPS | Enforce strict checking of HTTPs certificates. Enabling this option may prevent you from connecting to the server if there are certificate issues. | +| Language | Select app language. By default, will use the system language of the device the app is installed on. | +| Upload Error Reports | Enable uploading of anonymous error / crash reports. These reports are used to improve the quality of the app. | -- **Include Subcategories** - When viewing a list of parts in a category, include parts from subcategories +#### Screen Orientation -### Stock - -Configure options for "stock" display: - -- **Include Sublocations** - When viewing a list of stock items in a location, include items from sublocations -- **Stock History** - Display stock item history in the stock detail view +By default, the screen orientation follows your system preference. However if desired, the screen orientation can be locked in either portrait or landscape mode. ### Sounds Configure audible app notifications: -- **Server Error** - Play an audible tone when a server error occurs -- **Barcode Tones** - Play audible tones when scanning barcodes +| Option | Description | +| --- | --- | +| Server Error | Play an audible tone when a server error occurs | +| Barcode Tones | Play audible tones when scanning barcodes | -### App Settings +## Barcode Settings -- **Dark Mode** - Enable "dark mode" display for the app. -- **Use Strict HTTPS** - Enforce strict checking of HTTPs certificates. Enabling this option may prevent you from connecting to the server if there are certificate issues. -- **Language** - Select app language. By default, will use the system language of the device the app is installed on. -- **Upload Error Reports** - Enable uploading of anonymous error / crash reports. These reports are used to improve the quality of the app. +The *Barcode Settings* view allows you to configure options relating to barcode scanning: + +{% with id="barcode_settings", url="app/barcode_settings.png", maxheight="240px", description="Barcode Settings" %} +{% include 'img.html' %} +{% endwith %} + +| Option | Description | +| --- | --- | +| Barcode Scan Delay | Delay between successive scans | ## Home Screen @@ -60,3 +72,20 @@ The *Home Screen* view allows you to configure display options for the app 'home {% with id="home_settings", url="app/home_settings.png", maxheight="240px", description="Home Screen Settings" %} {% include 'img.html' %} {% endwith %} + +| Option | Description | +| --- | --- | +| Subscribed Parts | Show a list of subscribed parts on the home page | +| Show Purchase Orders | Display a link to purchase orders on the home page | +| Show Suppliers | Display a link to suppliers on the home page | + +## Part Settings + +The *Part Settings* view allows you to configure various options governing what part features are available: + +| Option | Description | +| --- | --- | +| Parameters | Enable display of part parameters in the part detail view | +| BOM | Enable bill of materials display in the part detail view | +| Stock History | Enable display of stock history in the stock detail view | +| Test Results | Enable display of test results in the stock detail view | diff --git a/docs/docs/assets/images/app/app_settings.png b/docs/docs/assets/images/app/app_settings.png index 733ef87de6f8722f62e8e1425bbc8504a31a4ec0..e96fba01f19a89cf9968146494daca7ca5e82fc9 100644 GIT binary patch literal 183514 zcmeFZbySpJ7%pmp1*nKfD=8qLq%f4yEu8}*-92hMIHr8XrIJ`hz){{~UGYwxQ9~^RLerKbZfxS?j`D zsw0)IJ|iGtZRJ{Yp))f*ft+Y8(a@D5srmlt`>jvUyXQTb!d||W-o>0hFY{=Efe2QJay z5A6Tl`2C_={C9KZn^f!7e|K*q{jUGJ`AmKFzZcvRx<>f#$$gLiofjoeO#SzQuln(i zL!Zf%348{UPP>wvx(&Jo=`e_o(SiTy3M4?%O|YIhPn& zkFT8Jy^+DY1DAzjWlCna_gdf44L?Nk+|B;pHilLhirO5JvYdRge{6O+&a-!F&*2sU z)fNqE?) zCi+U#pwwDpxl|;@u3V2A4-+>b{Q=bGmA78sH~6DpU|#nq{6Mq`(XD{KL%>>4O4Glc zH6ZYqExNWiLBorkWT(&_f(LSQ|+GoxcPXrl6w z>43_c+uOEBA8R;)05XD#dIBkjA6gu+AWgXDM1*aea>VfJohD@E%w(w=;l5wPH?Eb0 z%jHA}5x$TLmWI^H&P-?)tIr}5|CxY-luQLG&DBc8h>q;$wn<(y{h{F7^)JJ0g^EGY z{ov}=*fBdj_|w|-t8~VAVfk6n>iGyiBebH$LdJAm?5K7~_GD?ed2qE+s5P=ZnLej3 z!6KEl2F+5_TYUby@03}K!{xQOtd%;S4R7wqLuMUvT+<XOLJU+VD#kL)0@+y$%+zjyeMIH1ab~egd+>frKT;_V zI@5k?@=TT>xyttTZq>*ia_v`e7)GfGY20*m+0xTu)KoX(!9xmJ8neaUi21ol;x?Mnx%jzoenJo z3+0;=jt1k5Bv+3dyUOn5Kg+Kl#bg<83Ou2BYRcV}dRXJr0uLA5w+NHIC=MS*wSsjpJ-*oJ&;E^la# zV|@izz32-tyZffFLHH{<8uHNegHpA|1(IhaceQsunen06;wIRfGtEqCv{)j0x7Ze6 zLOtZP`I#5Y?oP-Q5xrn|Z7dpI_q669PmO@@lrXl3;@zuUZ%^a8(u9P5dpWr~b-jZb z&$*VHj(Nz>R7h`GYtfb%EGL+MR^IeMmRQZH<&1p5C^uJK`4uXFWRhGw-JDOb1PYqawpqo&7Lvuy63T* zIvShePv$+>Lf?VOs%XGH3Jf2>4*C4);7$ZASvnR2P5YW8HP=+s$`y6E5Z}{{T3DzY zwZ^S_-B^49xh2(dqPzhhvG9DXyYZ`pR zgM5)a5`F%#9N{2SvCUeSI#yt&AT{gP3*dB4`E502R`%4utQP-_cO-xoKhy4sE_P;@ z*2l$(7PsZpQ(gkM@UEjaoZUDodv;f)OU!aC3|d#eEHOm)p*_4;U{zfPiJBPyQ^r>E z_wPcjzw>c0XP(|Or&%%{aI3_mQ$FJBgOElb%rHWOygclZ21x$JJQkWnNSz*U{IrPQZP1FM`lh;d^73&>)G&CF9>o#oo#ImF~m z_f*Z^-QGlb@#(6pr6QF}k8?XodBr48aDh9cgR^R`^trjS0@LD@`coUNW#OUT=*F8I z#L@INdW>-QfSLWug<*9oh!*Q%k=iUnvT>REcE}K>6L<4f)}Sjy;q!Ql5b$>NUXiaV z9kX|XdYyMv85YY^HDxFg8+QC+E9!pjOpR1Xg>M&*acn32s4{TYm z$c7Z*T67l9iCU*m)FVmP;gP+yC5g4;JNGYjFA$sY%;_w-k_Mqy2lvco83-5KBn#)m zi?iZX+O91w&!<16dMqM6)vN%UNF~8YjLbeRGYKm=6(EbZlA@oE;q6}vq&G3{U4^*@ z=(*aJU7Q|4=j2lcn|tes;#WWA)KX=m6niE;&130eXXb2#rp1$4s^s*#4GH<>VcX<9 zCuEnrLsTwyPTO?qHByO*d;0#YW3rl+()SkbaB@nCfRU~19TKBD4Reai%mHxDHS!If z+VDUoazTTB4m$eH^Q^^#5a#W&HT=0QxJCs{2Ms4-wOH8?(Rop#BiEe&`5qXYTivwv zRzcSi!Hh*@J2JQCw&fWQDK<1azN*h4Ws91znLGKxhAbA=U_#8}ZO%T&VWYzi@s;hU zXh+c3^pt3O8ZPHFZ0dn&*e*QLm1+;I&k;yQj@QK}@01?WRs=}t*2Qm*wJRVw6 zN7Gu6beM-5^Rc@a4ehKGQgOEKC_W7QkaekqyT*8t(QLEiy1J#p0B^_yb1$%OddY{|aA}d+l{A6|2nnfCJ&{KwHYwzMi(e9?S%o=#Ej(zneZ6h&CKWtwAbTd2$?k$K zd#q{pEQY%225?@r)vq_p0_P0qNzmb=K3Qhw^4jEYG=S8FsgS-Dy zF+w)xIw_xn0sX`|t4tK@TWx4`mHKa!W}kJzxYIgIepEQPceHd+?awBp9Wn@sSS<}=Az8(F0rDG9$wY|tKx8^noJ;pN;Rdv6MN8j zXu>))4;aJY$)35Sflh%P>(1OWxJga5aiChI(sa2v3R~7s0g(7)jBI4k*t z=~6>#aimmiS_arofpujyZhCTy;1CzCTfKj&w(fZI2J-Hh;HAI&<8i3h!(o$FF;)j0 zJmAjzlMIA>^n9s?+vG?I8o6y!O{l5LW1SbLTGNe;Fif0({BGj@WJ3#v=bMRWXY90# zK>5RtUR$l@P8}7L@IRivT3Qn`?NXeyb19#%GF)Bh3?{CHP&#C~9^_U)rwmE0P2Bz@ z^^-S&{m-tGn><+)P)|{RS1mVPH7eB4%SV>1VhUkqgHC6Pe<23!-X?0Ures;a$2&YE zbk;Fqt1X@pKK`C;O#bWou)S&GvnMIsmd+F)-Wr@sZrGsybEXSt@o-(I4C^yx)<570T zZqCZVu#%d-bYwnbBnE8r+qFvZvl@kKH($rb%|LUF^kY-68g6($EjdQD)|TT3k!tK` zRc1CZn$)@kXkIS;vlPsX)X_`e*_!S^xx*t8g5*G=*Dw-kii9`>w-8a;!O;#AuEZRd zU8b2?udVB%9Wq%>-L|bZqnBKIZtO~;cH^;3MbFU0EmW1==nKxR#6~g*@AGp0ch=nG z&IIrRFvOK_ze+N>-NKyTH8+38i*&$@6T@x4sg<)Y@#JnSS<9q;$0K@O_{akFs+&zW zUk=2H-f&iZH1YvL+Vq46Qq(eNu3BegDI3P*vc~0?Yf@3+v8MZmMYHAl3 zT8GM3@Z@vKsh$d;uyM>0!hicsqh!w0N|s0BasoFvy@PsoXIV;gwaz<)2wmZ#6L~dv z3lX_SMAsr7@t}y!lnvu;coooDTP=|jHh>zfaqOg=jL(0VP(uD~Uek4jXGo>`yA|2@_P> zr{(O*WN;dp%zncp4SbEH0Sni~Kcos6?74bS}Ty*9e@s^rv0pfsyp~M$;%>Wwpvx%7l$;-)Wi z9KW>s^Z!($g~;@rx!J@_$BsRA;2Hw!J!vj-?MGys1f=#Tju;jj0;^L(^>AtrSG(Bs zL(>yE3K__KS+$Y#mjzuc7(aHIyLr8(2DEDgQ9X`TT&R{g+n}&sEG-SEXs^{O6_i{S zr%LMnIe0J;y9KnoS5Y93Ohpjq$^c%EAw{M)hh2?zj9paKta_b5O|26 zyTvi<5miRA^*mawhLao)zUK*gZ2s)tmJ{zBl*cC};6`PyBu%?5D#^4*_J?LG+DcTG zCXR>dyaNGO_%K>Rth^D1T_ZTX$=f-A>h5;zQ(7M1+@sx1`8)9g!)IEmJSbhsDV0tO zck>7dP>=n^t7*C@&ErwO(hOYdLV*%K(zhF zWi;QhvBsf*Ff15%%YRW zN*_yiHKl~-k#Uu9n&_Hnuubb|7s)4g&M)&ZOIl7Uuh(-?cs@O3YOY}wtu}HxKZ;GJ zqA%8RwKcqn3OoT5OEOqizUaSdoqD=qc~zC-*;C2VMSq<;wr#MA`qnjGO#wz+7zw{-stx9*UxW@!!q=i+Q{M zd(-(pkxBgj*o>qeqV~1Jg>L*)Y}A#jQamW!1tV@S)|g3ndP?j+%{$z;r+<&b@SP}m zDaEXcz#z~5OVTQ+=@=1xEhwb4jr&6bhi1?_ogRjBJ-_m2hb3yRUVgetjAfbugz1FMZL>B4&XN{&WyxDX4N!`D04BCfnyl00cRq3KTZ zAR&@vi^8?p85>+c`yJ3Bp2mZXIS(Xn*yyoCb{GI*WQAKQE?do1CzA0hny#L3O8IKb z4w)yt3Y?o5-$%psU;wy+2YP_eO($Fh%A%D&}p=#OkszCideU@xk8;39Tko8)|-ah;_# zQfYFnirAN+q&R+3@-Z2(qjM3wZC}6$e(%Q?^XU!i9nO&ZEfV#^D#(Ud|8@cy9fTI_ zPjw*GySt_$o^rzw$#KEisO-bgHQXQ06D6E9%e=0uzm;t<2liyCvS>j4)m+7GhBR8C!|~Th*Zbg` z513>0&2}bkVuwTbY3do*>&XsyNNX9HJx2Xn?FX@QU7X&5^esp?6d$<;+wD#GY6 z8IOPAvp3!1JD#P^3bXsR)y_A!jYWKzml$BZP9qE=fY(}oeN!U{8>c+MbP4Zi4xhhE z{z#XT#?D?o1y|L9i^4AAj(2>HIZmh!R=syLT?Cice^9u3FCrpMt$7yiUaI+H&9NUH zkWatnn)k*l<|>=(k#`h=(@!K1NlDQ0=O|xJChz78{IQ1;aweI_A0M&Z7PJYBh;KN~ z<2;Wf$WVWm#DV=GvL=G-Yvn~1`Nj!dyhs*{EL-^)lu71VBFI6D9n7k?(D`P5$%Y@XM(rqx! zEt(aUY_1sxn3dTAOBwFfK3ah3^{U$vAE$_WNonA$m-vXWB0>?oKHHqR!}(H8#x+y4 zSx3IU;WW1QAkcX>rTez6LRw{~v`6BpM-`LoX)JJ4{p(?cYZXrOw}qqQ+0cax49#mr z{2!{D%Fa3KBRLplQZ>fxKeOFfx}0rF`C~HsdixdZ#|;qA?b~{*^!D0Lz4<0nIcjiQ za2M)ikhX15GPG2!xBd7gH7^~9{UNW)d&L%7+c(Par#>bBDkuuNp;#xqHhZIP3-E>z z`|E@AZLKBJ14~T3V3Ga0k=^X6+G}a)XVuR0m~4&YL#|vQh%tz*?i>I{JSQImBp^gs zh9Hvy)gk+XNm+QEjQ-C<9BU%C5lXNdSL4Hm$^nsW(0** zjzXWw-3dAPo$MIzUF-;>X0EPCf%oKC*HjFO%~@m=zMmrm$(gVLw!_(sH#vvsVCbl{ z+JG;lwt0cL7R^(Awi=iJ{1##l*YcwhG1%pAHXaotkD#5Jae;wNqb2x+Y1F^N4r zA)jKr>x`;OY8oCjNeT-Do4&a7O3HwRjE?JcB*{-~hPQh#{e=^XtjDz)AwA40&~?Oh zq~kt`>j*bFd4c4kj!Xa3=;HA*e!h^Vv08<`dJjs9JmTtf5qVE6tfkrBF>|p?oitE)eJlszG9kn7j0M z4nV2p1$LgevS@>`Y3v@q`g$BIbOAL6(pm4U*ccb3pV(5m$284k5Ed8tCG;t}v+vcD z!5XpXR|W~!w(6%M^`+SsznFC~GV9Rd0v5V2_}paV8@|s~#%96-6giH+HQn8nZe;KH zahaqK8Cnx@_MUy8bv8|s*;jh3x9;!TtA|U>ZjX<1K|PqoRVU{B5s`I23gJh4^4yW6 zZ=izCp9G!ZX6bgOHFnluKY}Xn3dhZRXw9o5V);+|cy{>DLSQl-o~yX+$x1unxZ`Q_ zU~F>6eiOFQ`y_A`TcL53-nA-%Q7tfcU6w;6(PKO4lcP6!;7iYt>AErKjYVOzrgck5 z$8FW+!xC!$RVbDznND)D_>!4PTR!7?4ba!Ws~di<-A15R17f2MyDm!J_MvEj^#)St zXNDl(N zEfYkcUaU)x(=<@H5CS=|r|+tWUZZp)e-iOUJlSaruWcX@WZ`y!N$$bEfq1I04B_ms zch1E$=5v4haYG6<&wD0e7Rb^?${e=Szd)o(Zlu&^-`BT5Z4}|h^gb{m+~A4xNGy0F zQ`2|V(#ALX4BMi=?bqhJCxGObFUooo5Q;l?H8E?^ukyq>=&CGz^hV!4;h0y?5=J!< z8Ivk1oVPF!_4)2@@N89a;=WNBn<*8$K!EJo)T{Kre^~GkzlasNC1`efFWz;fT}7uc zm3Qvfh|aj%?Wtg1Nmh&LK(J%6D4m>E z3X(+GJO|5ouVPjaZgsTnL-C-p>7J*J8Ooh0O5+(kst$gjd;$y`3l&x#b4rK~*T1xuy=L-wh?EYjPx6op|q=lXXCPQvsdsXVYy;uyYkUwPJ zQSEv}J_|YptD>tKfoDXj7|&bsh2K`v;2~s&2_D-YOxh{bstk5r!? zmPs@1Piq9j+94fpSsd;d^9i@5Td8#6i;l$%;9HHAx%Ld1v^W~Yw}nW?v|LbNNVl0< zXtXFtT29JQ7Mk#M=vEZ}ifJ+fm$8T^>n;zVA+{;FXF)w__R;;nMnTq(*!4)N670x6 zMYpGJdIrrh^AaM#+Uur+E$Xn77bm`rD$|XPTM873JuR5e{rq+C$!P9mF56O%0VxhV zJj$(CFOQ}xh4I6pKtC9!)J=J$cbu@osDrQVHy)yPaD>7S_V5a=_2w}0c zxs$>;)f%_r%~@Sg(XPC%6opGH`am&T{T6m4o=nUk>wa09WP?`eeOH0jU#0&5SQkK9 z2ivrjjhl5`Z1w4CNj_cO*v)OuAZpSkDyzwseOq5i(_i_Eue|n@EH)f0;mZtn z4xAa`QJ;v^#qR)%w(S&8BNqk*=6zdt!M!xx(L&C-L_s9eYLlD~JDS4x*1Yhf8`wAT zuE?_M=$gC2VInKG+gtU0LH(EPYCBfFEj%Pv5@d2$&z(Q@f9qm8VP^@q7_MFv<~Vhb z2Pk-Ud&Q&^N;l2(q+ z&9a3cRy>qW12lykelv~X{qYsLj(GU>yVEmxyg{z@vVXx0zH zP3XGCbQoBHKhLG-x*~5 zu#a~$l5TvjAm^oI@8&}<_OH94vLSQ(@n3TzgsKSfAOG?}FX|{>RJr!DA3y&yut~P- zO??*KHgqXq7Va6^to5+eHJMAccI=h;4eSfXU4z@(RFHgbe%OE@^6Sg5RtA{FjT`-~ z4^$F`U%^ACIOby~I1={pCgwy}HX+=51CdONG!~|rFYlI1FE!^iYq}f&m z$#>CetNpsh8@^8=2QJ70oQx$|h&RUJq-diDyM)MrQ5kVesozKJt&+wrPZ)fu;HbC# zJXg=%fYp7vBJt=oqVu$(tG4tup)h^&YXqrF$2}2Ek0rheCQ$3gjcXbQMz}yw_nt7j zpbhdMtRR^9T4+jPFC8pK2)B$llS0s;;ke?K&Z{~%DDqzBx{gd1EjV(=u%om4R&m&j zDVWGf8S9kxkbIuswGfk|ozhG{v6#(Q&-dPp?Xsyk-i2;S17f=}7{|XWzuCLc!=6M7 zary)TSH@!e4~c_OzBrzJpFNHOb<^=!cwJZX5N<=sN@V@a#Wq z$~v~+1HP)O-vUazjX!xX9))7AB{Fq*+n2I3U{zS$LS7$rAjxaR2rMnf{P?jNbvJEX zYVBgYaoQ)o&Dz6gYC0SfQ=g)j+O+yRoIl8Lm|smfycfZF+sx7HmCQwES&ZwTxv2B zwtUHDv-#agK>8chAbPmh)Q=ky3JGf{wtP2sAN_+!%kksb&l%e~mruXS*vXXE!|Zw> z`^LybUnbBFlx$smN`awk3eWkaE>#8m0P&0BljoK#G3#E0GuKy4S_}PW>e>3&rw>_I5 za&>4Aw9cJ;?_MWV(oG{0?>ekB`!LS<(M|%;S`T77ElEHa3@5E0n)E}NaY;UcAKi=V zQwQ-O%SD_gx6)nwG5kFSST(Y|iqlObuKCmlO5i-Ja3vf5QocST|Hm+RoUhxc>NyGkM(aI=ZJ&P&$>{q zs{rPjbTf@p?C*XsYf;9fi_00CH9zAzn)cXkTQ3Xt<*d4R3xTt{L9|p!uXbH{hs+Dm z@5KQnUv^zJ57ahXrogclD9qgMl%5H5WKT$yb%|RUD2TCs2$m$pV5{A8SRc*s)*0ff zb%xfLXMwp6CpLbnq)6!Y5mvs?C6YU_GP12;6;1?3mR#ml^#Bi4-0$16nFh<6+)ga= zx~M(FmdTt=+H=$VODnWH^K4pR{8SAzydStt{e|RST#!?;MW>4}9P7>dP1j{cllVTC z_;H$2mpaFPeEg$I*%9869{hpSSLNVBxlRBR0!i&E&6sKRmuY>%Z1=TadqH`%j;2Q~ zgH0{?{CI&t@a2Cp8d!WDYtPtaX4m7pr{lihQ|yy>lr@Yr$?WaCjo0Lv*E6=rfq-p1 zJ`tfN_VfY)FG*(4UlHCl-q*`Uopn}c;hYCjf?}+7$N8J zQ!OItPo385tTdSD^wa&1phYc;c5F^4P0)`*GlR=!GEr>$MdB*4B0ChtzyAoCT-KFV zSv4O=Mv290k)pbAx6e-avO3|v7@}cRCZ%U3C`?dSE!?f~5u3^FM<8n+qVpH$Df`6H z>oo8TzbqDbYpuI;VI4C&t@lKvaxuz0mZQ$7XIv;}B$C(&n|dKDdo^gT_D!x)fJID3G@CM*|0mxXDs6JY%h&}txzBp`93g{0`q1Fw>?mKAS~Td;qAF9 za-Ma(fgc&MgFEKRDfRZp`u=?kRLnG91Lab>XeRAz+4nq&^wnfxR`e3nDOy}{sO5@a zo!2OU*XB$p5}QSc=!Rr>WjseR;R|a9a`U@32 zw?u(+8WRmAdYx_gHX^yK&-eE!-h%D@!=XVRCO6%2>BfHLys^Ta`fqKeHkD5E3XN27 zuY@!BP`H8A`!3THB44guu@*8{Xn2D53DMkB>~yBT?`}za`bFVc(8{AX{oOHS4vM|r zo#UncO?_xWVa+5C9G_V)uFIy9RoF>)4KFyM7i7|KxWPnF)>~vS{q;OK!{12BxH{VP zg6PxCT$R`b)a)`t;q$(tNEFs~eIG5@;AIhZ>8*WnuroGT&N0NlKl33x-R9c*q6weL zj=Z}*3o_9eqM#3ey+RW|qms)Y5!cEyGT}$%{ynGCiHY^Jk3)_kA$Kf?On`R}3k-$@ z+uIy07Jn|WZ*c5l5AVwO@wfwED$lR)iTP>?_6@yZldB@A9{7o!3SOUj%3a7>L+gs^ zs=Ep-Z<;4#MgiP{G#&wJGE9(TGZ$5vT9{B=@5--46wzM_yx<0i5r!e zC*zy^OVtg$a?Wi`AIRIuZ_KMm=2jb3r8Y#rpZLUgA*J%L&r-!uu|dTYnO7P6>2BM! z>%}wdph)&$^W0>5(q(6-2XZbeuv=T^1PJH)qwXqaT|}If&&2#n`uS`IACqInht!w{{E|(ldk(= z5V={#B5rg^P~^DZ_~q)`CFpY?N1}7;cM2Y?k#V^51tf<~dt@SI5g9dw#al zs%m=N;4%_G_JCOqh??FH~Gd& zho0(-&-3`k*_G(76Aw*{SK@yPQ)7{Ln>^=tu!)mSX|mdlMHpJley^UclsyW^kKLVw z@7FniEI;6vAhZ5+r);0M&h+<1HHne&f#$QpxY=B1?6rrF*77KgGk zgcsc|18jYJq-zVcfhxJ&p{gP#XRw%W?t}Ad*1lq&={^<7+(t zBifqPop;4)`$C97W3+4g_5IQdvAKY-&5||mZL}@3lFPJ9oa;srXS-qnI<)?=kzKLyQ`gDpI3K84alQLcT& zDqT&}HN>>*{dRruKTB~wi36H;j$D5&X<2pWF&VM0%4r`E<2}}_Ao;U4cYF&DyTrU} za%#)BbV`@KS1?PNZ3LQ;hNB^^PNv65m+3?@hf-7!E<~sTWCq(Ji8+*`vj1uTIfx*Y zNxK!@L}8uVKYm%8d+2E zkSxI}=wL4POL3vj7Z?)}-Im%1=&UrlE7WuQPek6W#<2o- zym6{8DCB@>?`#mDZXc4_*)|SqDqCQHy#I`1^|cRB^Z%L5tXA6fRATo+^uh|$({kW; zw*37KJnC~C$Q4LL2x?#aM8Fq*?4*7wgIrjHwseQ8oI4X8cE3XDcV7yLt+zo)K;#PY z)~ibAt~C;Jpm)Vs@wD;o+wFQ=(4QuquV5P8Nkvb$r8 zodg94Do^P-A{zm?5Nd`FZqYC!=>mFai)17dW*BR1N-yh*Fski5^bUmyUs=qNb>a~! z&KUY;nQ#sq$0$qnInS>K>5k4E+wH}__n28{NO*Q8%1-h3I6YzYQ1@Cp$G#oT85v~y z+|aw!wCTtyW)>t9+_a_Isi@jBb&N&Ta&kD}V?2Uy`!Vxr^U4SGP`Aoz!9c-zvF`Sr zSzG1*vGU)T7Hb)YMl25+2(>C5(y6 zQxov1`JmWb>Qyp2(33P;U}lNAj1)Wbe?;E^?cukg%?s43S=VNkcU8t*wb<}M%;Og* z+IsbhxdzJ0HwL%CI;WChjMnBdIBI6PK9u|{Z+y5L;L5wq%gXvdV7k!1GA9H}b%N2S z2eqn0J{z59*jAoDcaI5e4dpz*@4gKorv$Xz@Idy2XhG{@1h`^s)-WeXx|#lL01Z#- zs1HUZpzjRTe|z8Hyt&#+_kHaAiL3M>)Znr;*5wm8=JD&rF%DZ)?Ibtu56;*Cho)G+ z(7fxDFRu|{eK9>{Mf3qLEDBHrq439-UkU&B6}J^%dfzo`WPs|50ccK&K~l{96?{9t zGbF8zbm6@WXT~@z!3m?3pxTCgpW~SRM7w--F4Mm``#!vHw(O;;2rj#02|j}UV83;` zs*+3mrt&U8c`EfPx(nC4nO|{Q?J3posxXu896PvVIqxR_i6sIwS@j#X=k%cypqxV5e%r2b0^MadCg{l39$Wl( z^Zz$a{O_FQ`hULzW9S96aV#MrfrUIA{1jGKtHm2&TMRA?OKebo{vBQOd))SfZs?#_ zgf{vM_!$`)iAzY(ICMcuOz3D^_1V3C-T$)l{{J|?hG!JUOvFzcEgg>oDX7Q6;)Sz% z{6D`)W~sMD_HKl|A~*{Cr*6?cd;6nzCt22=l53Hb$&?lW0Rd}r%DoA>$6)Y| zr1a99QNWOjLq!tfBx@LqsFKnEnB|mf2}E^M)?-(4~YNM z*p<%&|MOU3bE_X6^4#>l*=)(NoQUgGlKwXl?rgRF+XY{*QT|?VMUTnze%evfo-%D z3MX&EO_b;s*)6n?zkKg^dbGo8B=3KD<_BD_O>r0Jpj#|DBqrve_udcu6o{*>5mAm_ zrm#1+?dHE5_T}co-#e-Q(=nT(`Lzfz1n<%Pm`ZCTXM92e@6pSDzizJlme_uEV}lQT zRO^bK|6gB`1z-989lYZ0$oFA$Bcgw+^?S^~{Xc93} z8sSqytCG%0nzECFjjps*Zi|@x{e5ynwI!pH@wR}wJXRAg1~NqqfXYWA>p=PFR7yRRqTMyFp+^x(iKA`|@Aax_gB+hvo-e^w|Q)Gk$c{L=sWt(V@Xe_M0#;uX?fD~kmY z+I)Qw&?QDBl&vIul0Cf*9E+Nc4mrll$ERhteueOS+W@Dcp`igKtdM!t`MYtubkrmf zntOKUwYI*_JH3C|jPBrR@ZU+N=Ma}DLi3St%&7KtRxtA*34@`xQri?yrG{SZY z;pi6KSVo1Bvy%fJyLrKZq*r1?f(K!Wke%vQ&&M44Y4(f?PBHQEIr_~W4{X6}ukeVs zUZphNo+y#INjXz%Gg@siO8#Da>4Dw4q@rR(hS$Cf)NLuCx35oCM<*rh6)>3Ly`}cU z*6T#S&klx&nlNB42{pCCL6;urE7|+tJN8kS1z!>SP4P%-p=#T?MwTu{`K0@6ME1t|n3OwMbaBpLSP+fsWF>%-umvk=cCYp7!n!|j<&5#JU(LQ1WR z)2*Vi37fjPgfY&X;Vh{{-}y2F1WSN4lR`>%s%<0ldPe5iDpMmEv4|4B+qnIADTqdc zA2y+Fwi)SrmPL;_%mh0kS24X%y-1_r>sL{CcXxsHB%@2L41edF#>^uj3Pr0RTOWFY{tpzu;T&;#wNAF*N)pe7tzw z`{HCHh0iX7*KWQz-}QkKFr|Ng7eL7KC?70w3t5#Hc#rJ+13JmyK&H7#96*mTZ-G(J z|95+)IP_CmkLpju$!q>u$m|ymZI^_ zUcg;oPLJvkB^0*x-(;WlZdp&2zq!OQuvN(p-ZeRGC|)`f0OM+Tis{Z^r)$8)q&b(z z$E4S{N1Hue38)2M+gr`=%+z%eyymr?&6lEfr)OM@p2g}_d)D@wy zm62Po*E=6bx;JTWgUNPcq4IC^{yccM^w7x=cb{ zHybuGx75Z@*iEcVy_OEhWz>YOVmH~1_EGZh*jd_MY0_yB~q z)T5(K4(jIQXgOZSRk?0}!wOhjt3g%Oo#(XIu3h`|ef8R|ZfS$Dg(4c9zcMOi*u~R(D>Nc`;HJ2 z-g7-uV`DAv9pKI^RO<~;)8BMg4y*1ZutP0jO7Gu4 z&2V2QTbi1jBxQ-01*h{b02STF-7@j}1K8w-<9 z7Z@)-2S(Uhpqlq$eq(dgusvhqa9jBVdB2JLKVbM1p%)0tu<^FflP1 zo0u4`bcTOln%yo#M6l`BmNVjC3NH9VE07xkcLCRapnN3>kcPdQ9FOb3=q+Ha4woLk zqKle1#9l*9?LGEr$8D!(vOmEpE-vo& zb^NF)xGM+PpnO#@u&6UM?t()yocw0M+pEp`k=51QO(*NAubqEK_0)iOx0fLEU44K3VX^ zH6v@JBB=v3ig<4878Vu#L7HU-A5l?LM*y8Y6A&Q36L3u+oiI2!*loL{E-ER>eEc|q zMueSwwi!4W0CJGeD~9cXh9lWBTGi$c*bQ2&9d`inb69G-`FDGAs1QR>OH2EGFo4GY z!MUcFSCcvR_i$D~nV6W^tM{!}s;p|Qk)H|+SyC6AdgGYg&JQOQU{4$z9DaP42rUN; zc-Zr2$XA{Hey*WK0O2HU1Ydn}yMg0X3WX!IbXwk*0AsbDuD%V7^Kn^0aq&;U|0|p~ zRl+Fv2m$Ke19K%zSDZA)c{EcScpt|9ZU9b*7+?{}mRz?n=jXt{4~JXhj0ilunL4|= zeYoX;0c{_E%6-eN5sL)`B5QS{c34IaRuEWR&9{`o+m@a+yy!`!- zYr{@Q`A+xA$wTZ~P9&YNqk%wW6<|9E?zLX82dHX)ytgE2l>&CPf-_lne=--_<4=c2 zM~}VV3p=iU=~xq0;WX)eGz<%u^jFT349;NX;NatbjODqxRo6~%=gvc+jkUFaH~x6q zJd*LU4AZs+^IfwIP7i2k?2gEVz3SD`QsUrBC%R5ZdnJg7<}sTezftGCD&7?`s?MLa zW7fCr?Cgdy_**plx|UPrhTp5m6*GmyLqb9xW6-<15r6?bgu9|U0f4iTPjEXQp|l0h z_S&^tyc#-A$v1{FNo_J;8otf)4hjrRsfkZaoYBixvutW=5}%>CXwucO{7^P$>Ves1 zo4y!RRa(NL5q#M5qrE**Ksg5V*$U>~UQUmS!pi>s)$dh&SN^0>0K@na7RK%QYre*c zRHIZ6S$yqlf|ky@1HggDn4Q(t&j6c4CMxUQ4;c0I^mNXsuiU4k47=Q?L?UM|Vd(jA z8sD?w57LJBNlAmo#?;OLCw?m`>es_Bw=@_+!dm{J<4$Uq>%qE0Dmwb1obJKI_;@m9 zUT$s*bY*MHveK)NK{A3exV-#jRUjIadSz@V3Ha>iAZ~kU{_Cmp&h$7tTH&8) zubbJw%X8hC<{5^HeE9G|e4A8DC-)LV4SY^IN{s*?PBn)MnQC1*gnXI8F{cqpu^_5!X9$Hv06xZ@H-&R8v&D=c7Q-NJ0&7((;!fldn+_==1q?lCl=7E~C zDfhSiuemI@UUvQRIlmHkH5^&2_lVo|(D(1(Pfj*651*&yXSrp!{5&0^sA#=ikcE)p z*wyA{`%Vani0Drrbx!JfeQ)nDaE=d8a>mBSmX;RDMQgu;PA55^FSVjOGuGl6H#SA{ zNN}h{M@P&5Tsg3>aHos<@c5Bv`D4fK+zk#69t1>re8Bcx2(X34OtH^shp70$3Kmid z-Ztxy%jctY#S@7~<}+V+Cu8>8+sN>6x~l1G$;nc^?)iJWii?VL`)=L3<@W9C%M=}w zmM#5Hohli*%5U#d%8f3!5zWIh?OW5+r%;{*m6SLs;v9)Mp%STSX>R=G8J6O=BCK-t zf#=$MK3DpTbDvVV^)^0>6X}V8M}eU+l(7+DC+y_s=K{*gTuA1PQ^U=A6C~NKk*W^j z+wNn*;6PGL=1KcHty{h5rpMoXj+d~Wd?FOv^HE?7nV!XMZfeTea{$l)cgb=5`Sa%- zu7PrQD=Ii`0~bpz{k^@t;{X~r9Msj*iwM|x;^2mceQz)4W7R_Y`wu>P{CEg}LEc*Z)Xb=vu!x9NKhyQ) z{M_tZ2MDgU@oTBrOnVH9koS{#jLQ&}w z-^L{-wgg=yA6B=JhSuB4AcohuR6=`rcsTcgJDv?kda4vCj!mq|l*^+8&DW1MHA#$nkdSaq;S*eRoe7skW|L26R!_H@3;Dk##96J_y zyYX)Qnh7mEXj}IeyZi#U-+m zgatfbc840Lg?u1j0oM!&(EJayznXMgz>?H3_wFgMMXZ9<6n?v zbj$T5w{C4f1LE=hgP~nNLLJYrUMN=e!n0@3M1Cx?vC>-wzx_Ohg-9Lt3ZELUO ztpD;EU+ED+@4Zi1S()RQB9O!L(Eu6-&Y;VeSpb3)OAY{-gIc(*=I;}Cj$EsxBoh$) z$h(Kz!8wLLeY&&Vm71Db#`C@I{bpLqhJbki_1}{^fDPKY=89JPXJWR0b87brM!DJm zNLi1lZF{~+Sa_p=fR>Vvx3}JzGnHoNxTQ>}f}CI9wFB9q;BjRQ7FScdl z;JC!$`WCmGr2H^`zb9h{!DwDdNI2H@2Q=6)_>NHhG%X8@>u;D;^e^t(F?P^&{(Q|QwbT~xWHpb8)>1wv5^{7tdigKmLvA|Z3~`0K4ldd(j@9wNzp0^TncEP1$cNf z9h7gp#RF|{`0e77#hgtDq8+<;mvXvO>WYrG4u1ONXj)6d#l;mJ%7aAY`+KT6sk8k2 z{rh4h=m4YS&*Wmd59FffukrGvQdc?d9Gi!|N9s-P1Xw=7-IMsHOHI+z(n=jqGl+FR zbud2Okbz4!-EyvU{mDQTcaZs+IZ=;GMz9ty1=ds8gq{7SfZ_SLI>XTh+|2QE!4 z4gL8w(Y$W2ssJ}W6=GH5`BecRRY7zDw_lRUZ!cfjK2ba(Bd*SA8BZ8 z%ne9Jm;dO~A?@Q|mT-y-jiz1&1yRoa{FrcE!ObdiA#vL=Ci8q7x5B)Tfy>`$Q#{g=u{V{U;BP<+3dz-i%%CFvSz)4Uvz%H6v3`l>ev1K{YlF-{~>O# zG}xP@Z{q{C8laqFyKMvc02ZQcc-Yv2qj?nHPc?5iG2Q*Lrz6X>5In1Xtt}eKvxpdT zjcOiLt!i*eZ41gSQfJSeokS+O^!%pGr_Z0m79ZV4R5|rpw=QSAw8O6|XuMo8Q{~?8+02)!r&W$tfp){$g7#nQC9Hx0;Ovl> z=V!WYJyC6xl$8axY@s972rNgET5-eU$E&1jf6F?)xE(z|?|W1A%vwuJOLAxdAfrLm z9)ABQV)FZU7xSg)D=iM!rR`QAzXg%>g~(IFos~RT5rhiZUwvjBWCtC*87l`zXu#rv zfQSeU`rmTVCsWhYk6vXM6#|;yRPmM)xGdwo78C}3-pdy6j^w^tqc6N3gI#I|d?}uYGn()yt;4cV?imnFn zHaR=1k471Q@W#VunYr`x^Mi=I~^TV;eC^T)o0|?pvGoNosd|LuV#FlGKkn+oy zFFEG+I<(-ObR(bgYXsa3WLk>{Y?AbTExVwgEbfum14efpq=D2S0)E;vj1syyxk(IM z(PK~w58rX8`|A`k{rkjYx3%!-(z@M1*G>2TBWh|PwOpxtdC`XmuKhP9|C*ajnt1q%iJ;&L3bd5rXvKFdF{Y-bg}zfq zkgku^1yN0+n{aoRM0vOb^xm$nAItCN`PG4>hSaV{1R-FVDHE?INJdM4eSI2PS=k%a z8XGrKq#jPM{ou8SX}RAmYYq&-yHO6mt3EUTYhdYJj=zwgAW-&#qg&}Na%&x!Z#mL5 zBUD-W`I)ZmJUVsb!2^|pwE=wFPk$>>TD%dSnYIsk7=#u%jU;WMLhgv0tEj3PuKD$? z@glQ2-RaYF3Y?pk?^wkic$rqN+_-gXcFWffUdk(|sae_CLr8PEHiU zN8IMUKGV{FUo~8Xz2(^;-I_HQN`=J zl9ThSUFZD1tVe(rEbG=$hiDIt46*$ERqvfw8I&*rkxl>Q%a^t(b@#C% zE=f4{|NOQgKMC{YpR1~15&r%NpCN~2`De#>&i`KR$_JUjjsN~~3)+GIz3}qQ_}{Jg zUsU`(yZ^r&kevq1chpcnwe<8>P5Y@i$a3AhdGk)Y6R(>1zh}=y`yQhbcrTCPCPq}6 zw9HI8px`Z{qB2#I!on+&)@X3=WPUah2N_(HD{rl#E{-ZCc3{afFe#VTA zjXBPdygofKFc9;9f930CDubg(H^uNOUm)3dZV1dDn4pFiFJ8n5p;(ch)UKC9D`L6__8 zE^Jp_zUlHCPft_EMCIk#HP9DDHbmE7q_rRI$YM~;G)1e!NyE%9Uj2S}m`_c3EnppE z+`v8P{(bE_%OAq!w8}GsQZUd;zLSR|7s6v=ntBTD1>#!9ZtYT5*#bqTL@2_U;TY&TKD|ILc_qohMJlhPFV*!5DugW zhiJF!r;Sxyjf<0kLLH|7>ito3bD!Jlrp38|ScrnxOTb(DUxz|`XkoczrOs-7r)man z;bv4s2Spmdm8(__p?t7EZ0hUdf#Cg~S}fveTbmvr1?4b46J_*t_Zc)i%ER~ANwo*} z{unBlRev{FMmrAo<)UEHEc}I=x3aRb=b?Z3;~xP50oOGG)zNx*PQBM-TfaWiMiC7I z$CywOkl%agwoP$+)gxeQF<`#e_!IDa{M8HecgGU~mdiutV%!)*4A9J2Upce9ynO2C z#>Pe&@W7d!E*)K6?}6h}yB|M#bO(hxS9$-{%Yd-V$mk%9IE1=qM~wB>u353eW(dUsMWNqm5IsuiJD)}{|&R$*Sl2Ii?s|yz|k|2%zoFHy_0h|;&NQm1kr_$5Y z2U|8LKLU$4^zGX_bDi-?LdlXg;LY3yl~Z)^X!!8{J=&$mt{zOiihj7zBD1zu19GfL zFpuV<%2}CL5vMWO4ZcC8xb-Kmc4p$w(sTF87AIa(_BkSoIE_P zo}uybW$tgco^9LYw0!FLl7*>b5J#8F(2ef8t;*$6YUOl4JG%k*MmIk;JlyHplu7gF zp`r8OTDm_R+oGVrac^(3&tPWyiP^C?4c$NrZIUd0AD^;=TeT>$C6VjJ`_N`!Y`ux8 zaJlZL?b~?}AM4Z<5k-U$PM469Vg_aF*c}=g+R)m1Up{olt>CJv?KWqp^!fqEwfmp~ zMqIzndH>{;->tl-+(+JcAE z;jBV~@82IeIRHThB6|aQrGNejj*4RN_4VB-EzM%zHTkvYKQBO2RDHT(+~CB-K#nI5 z7?AfM1PK8FjU*EB4#ZoBbByDL%#w>kG@;wMV9I_x4(y1>D$q-}kHIJcdd0Jpg6b zab~lAit%A|?!IXHs5&O@5?@ymJ=Fm-vqZM_w`A;TfKre1N802!-HZ0^ej;! zwzjN{1C3wP1MjcTTv#$7_#*LwOQNPMGyEXLUgcaSn$(V{(t3USZuyxB+hKn$AC`@U zo3;l2`MFurrh1E?I~*3N8XfWUSG+#66(v-j{CtD=UV6Gkbs1pqUX4XLqLa0Iq@}pihfKwnzo+V&)q~MGc**p#K-1{pnTp=P2Oy#V@b#C6#dT zH{^PMc)}WY_y-J3MV0Xe;8NcOE}av%F54y7?=D{zcL$m#d3% zL~iSzOklhf0>Ha7gArX>dWOROYr2mU$p8(gb)AHuo-+G5hLqE8PAApr%~4s;$R2)%@T zd#av!Z8vm-;QWghE|3QBV9nV#cRk@(p+cP~H0&cKiRi^BVL0kKd-gERj`tlan*Ip> zJtQ)64LDu($aCFYT}M7Xy$14)z4zduLo#qRktWc_#s;jq9-Ll;L?jH27iX~U zOFA-tIJYp7C-mga_I72%t%DV(zFc+kuMJq#?Q?Z;F}AXD>H0Q2Y+uw$Z(>B~(X@8D zgw~{rOg< zM0s%WVM%%YWfDfWBvo+(1A}3(L1A%mro{`#qwMZJhISbeG>k}6I=3JP%T?EhMeq$! z*YiE9L2731-|AFqb-$S;ARIipX0)spwE=3-qnx}B!51nGuM-3iJ}4*^(n6o{;s%fv z9&03!+92+{VpJ!OS$&=YPn}Gq`}9aVkzflP+qln8Jzj4f8wl}7ELVWJC|D=QtLxAG%soyd=^gJ zw3T=?wkhr3%6{R(1>K3P?CiB}pT`)BHecJh%GTC)NJ&xg!1M#St*-NG%=Mpi914Z~ z?vvfiJ6a-h*2OuiD6qRsf}9~8ZyS>$Fe_oGNuJZT_VrbQSkX69VclTN;)|;g@!pnm ztG>X0&OL4zgfvx9CsmkD{`%2CPD0L;*S;cTKxFdy{PAPo z+KJBxw!rwn0oq%8HlKC#l|LBzYO;FDJAR>DWJgNOZdob=n8=*`ot!cs@4f1+a?5G^ zu@jdca!u?!;{5qGN+O{k8}1isr)!>*d5Lnrn!FQ)n^3diGoV0|%q(8_5Y-P^c1<(R z5Ij)KgTuqGQv-PHudf;gE`i&UZXAMRsm0!A&HJ4<#MdXP`Ii~HHunYz;UGX-V2wFZ zyXbS@$Fp+0tWO%=;340Ensce!&g{9R5`uabC&L|PaRj|Vytw6&wn-wQ?>lJ^QC6hS zF%odLo){s9VM3YQumV@#vBmWQV`F#IdHu#g?R&3R=c5n}9qoT7-S5<6Yd>+qxw^yC zP-L)R`f#^J;Y*N3?LHa%_KBU`u>vQ1cg$l)=C^Q@k_Ze=kgrOVyD4fn&Jfe&$ZKH_ zTtO@=!S<(5pFTU?Zjf8^>#`?{-NEA}Wo70TMMqiy(RR~cKvA`x@9h-?%;A?;z71=h z*<6c*?6YKzf%I`yddKct$|svX%tOv7$PRQ(pyqmUc=eh!#iO4!MdIubSq+|!jv{%s zweFq25Y8r_?L}1!pdVz(;nFH*^A166({4@T|7B>1~f1Xgj=v91- z%`JD*hU0eCne5vq*!!;MUQ7H12J5cjb)}o*wYU54+_R?%Qs`!0v1>c4m;U_Xls>F^ zzqWj8De3(A^9^g)QNp96-KKvn0Re~P1LN*?@v-=|^c!7Ga6S}T8T1eLzfm7H7y1C+ z&9Pgq-|k+9)<1>czk9_QA4R=0Ke3vZgTvA5xN2)K>LZ;rGu@+x;LsGEMoZ#@ftLt! zg@=!i!s=}dQX$%QYyFhAZ*K(84Cd8%>ovz>C23c%j?2HNyT3sv|MJH#j~DrjTNR_UmDzzC z%{8~^uxL!=Kq}YHw|Tg$OqP9(QdEK?!h$%wK2*z-CN-la&q&R0y1;o%bMdOOP8~F_ zFtjrQ!tGyYKw+=Xlb77($~?=kiF3s|kZW4@M*A3+{smeX&BL+$N(BUX_MZ1{aHpWWxe>?%^{s zGrMNkcA;ss;imdIZdlm1tx<%-O9oWzt|SFUbg5O7E|EtCc2}PLDf*B@v< zRyqBA-+4!r)X{@Es};Gs8ee`nh1l}&^mM-F(Rlr!B+A=5unoK7^EhJ-j`zpcXk1kX zEz0ssxBXRDSkr^k6Ot2#Loq32HuwC&1;q2c^K1t<=wwiF$@OL?J-sBGB44ugcO=kChan;G%4P$n)bGBUE$yKd~Uacvq9CgQAtfvNF$Kw}Qm^A98Q z!s|Q`(n;g#N7`c6A{JNuOxVr9HU=f4V_UvrE(~(n4F_< zZXxqyIyp_DLm9?f#?*B>&5<5nx|E7+v(88Q|bYIpf-wM0KJuc?QjVv|KR?;VApW?lmSa0X7 zywlP$@r}k<^w0Tu&9wIGYX4vsAob22%G;{bYWW|Czd`lS{IHu!9{k>SFyB()H?x&; z82-j^fF?AF!IxjZdBX+X%)R{=>1b;gXL*8_)`)YvFS)c}_QTzacilRBpSHpJi=HDd z1%{vpatY~2In{?R#i9{zXlMxjs6zhIQWPP#k|NZ`6vemnqPp%GFX~F)mvtGp4KJ^q zVobNn;QW$xmzcuE#@odz&}2JY8uyOoTH37A^u2SM?b^-|^z2+{9N2qdR1CxW zmHkxu^deb`m*-Nng1DrM>hn*W7&2&?f`2FH!QTAtq$s@{sk*a2_Z>WV(`-?3<}3@oSk-#Lt{j z-YO;*GTh|{GfoPU1mG}^M?Fy+&;6Pm!h8->BI{er9Rz5Ircaec#-n(FCdl#g*yyqa zmu3_%E|c}zcz_FY-SNmykShw6zXjCQ`I8jfWSvhwnpO@B46OeBy;a1GxC|_J z-|RxIksHEz$vz_FJIqE|c$!#)xv_h8U8Z3Qor~x1`6-c!?H+>^7_7v2_g`}XbQ9=E>t+OF+}d>6xjgD5kFh|U!N@^N!8NDt!pHv{Xp`D8)K zPkr8qDalalI_`LXi{dXAg=W6ICi08OFs=Af(u2~a+(YK(q44v8;}epXzh-1_b>3kG zlTq?BZu(jIrhx(5Q&l~^y}b%c!Z*@)<6QxwD!^^+x)iCer#A#yyG$v!t-HHBU4aN{ z#M9h9u2gCz0k8QQ;&5^N%saFC7X~mwiThpY`I9GgJSVCJet+!ZAO?=@6V;|l?+We1 zCTH$wUG!*`DDU}rjyR&dej^1ba%&Sk8F%@n$MGIMgDCBky0lnzmshh$Ztr1NNbNqb zfBzsxm>Qrp<#79Zcu4b~ozxntc<_Lm`0>+Fe?e5|(cl60+fsx+Q`z+7p&dPUiq+A3Q0dqhBgys9{1)IMb-lYkU8Aoab=s=$h+YI;W>xUY8>Mwh9WWg*Cq6s5@ zW(cLbzHupeY{Wdx>knNwBG*eb!3`2T3@5-!!URQeZF`w!z}$f+*<0#L`tFvpdreWN z?VMfFNa<*6Uyyb^0uvJ_Z0$(x-xPQnQLlDiD&-cpD5!IH6@e@pP7rWp)+JSN* z&TJU~bI`pjG6!TnA~!e|A2-jj5U@JjLC6x)dl*NO2JyP$3I1=DpZOX1RM;SXqCI{L zUU#xhabOUhE`{ho)Jj4yLpY^$gw=uMQzR{R)CLWk9?Oh^0v3|a00$x)8nlQ0fS!Em zFt?smab9uux5t$(rsd@^aYx_P3whhui;ofVrYzKtcihh48g3@9njf2qi3uGeqxTa| z74DXmys$3fIi)72+f@1Fw$swz2}pbj)w~^5%dtLJh3e&cG zL8Nl98?u%@?Kdzh;=XUky37G>KUgGu&LuyNTu*Wc#+hi1HTu4`O4U9>8hbNx4&J-R zwo41$`uQeX*x)9W=RY@XVyAc=i28Vc1uJ2L9)8B7(m8mL7h=c_-YQTNB=Lb6qHA>p zkAg{t%ICZ|T^>xqO|C5t99n{0t9$o1f4wTnz>c#rO{1`(jW zQ5j5*`I!x1+=;IZ4I&YHh~R|3xe>+y3UQsFwjTlMK*(4$vTmaT&CRqE)jya}6=UI5 z7DOFK>b(fs4YMpEQ1^*%hm4U>TD`-?J-xjj!!8p8e)2u~Y4QeOaxY)IwyN?V6Uq>L zYjzl{fRh2jJ_mn}EW$G*Aojd8_Wri1S zcqC;<{I2_*D(ZPf^|(rp=@FA+A9y&CY$#i=Ww-xoefpFI)d*uvK78kLm9CMP(mX2%`ow;2nt@MFT7>SFr)ETl73h zEkl_U-Tdxhq<5w>C$da)tV&0Z8ZbAQlZxTS?wEc zBav)G9BkUO>7|pLhqpI-mlN_MehjZ=(E1f}^TK_?mns>&GeaAyXLfcra>mAl){qG! zk+{-G6<&(5nOO)RZ&-EtKZde{6bcM$07gO@8UteoK_|a@{hF1Nv*!ax1SrSg@^VGQ z5cgY`GURoryh?$8RNHuyM=We? z9S*jnRYpCBxApiBCAfItC0T({4Y*%nLNir@6cK`HufG1x%NK9r>QW)s`0AUe<|6Gg zzQ>>epmn7M}Qc_Zw`~yX=PFt;kaQp10@;Z1^Qa`u0wibGS zHRo0KN^cRAK$Rf11G7>tKa>dnwr}5s>T1VgX86mO#=NS&1(sE*a*F*PCr>u!mcP3MGnCxdfWNUk zd&iD1CMJE;2FLPE0f*hInAUr6Le{oJbD(tk8}FXmsu540J~j83LJ0)b3g_)g&| z>VMC@TW(=AcY0=OYD2qD!A=7!jt+B`UPk&3~HRjXDJmBh@99TWJ*CMHzi+N1TU6%`dR0lNws3P7_M zM7E|QQh%R!3fGAwD^pWy;A*?u7cs5Cs}?MR*sXv4`ZZGV%{}ZMoN+A<(1e14ry=@` z|K})Ej@l)%&S#wrlOjVt0*|RsycV&g=-wY>m8;OVwoI+<11equKCYpc0dvsbBhzbc z&-|l_Dh%AoLCF)HyLo!|LD#Y@XnzN<-%48A?S7nBmko>L*D2S-c$&5;sa$~TUo*w{ zdfR>(C(g4d<$#JL;6b(GLqr{P8CymX;BabEcg_E4cqFnCkhyNO3Cqqi?;69~c~;%_(kfbmX5HehO>pEwHl0 ztJ^R|CPhAc=txzES=4iKP>T`-JhIHM{Neow1wCZXJ!%R`t8k?=@n5Ng)%gzCQi?SC zUQ8J&`ReiwU@pfK@;{{x_@5Anv~UfCXL^HSADQtJV1SH=6*Gh(?{on_oC0i(X!n`+ z$n~0^w6puYGoz^e(Ei@5zyn0pmozFAf*0^s_?~;~wi-|e+2o(_Ooqszos3Z)iEl4V zii(RvCZSxY_{zP<@)BGe6(ut_*L%`QB@9i+(C4J&92Qm+0|z=e@lu{qGftb(%NvD+ zbk+tcl5qm?s$m$Rh`&pTd8?-<5+?wZ1ctzEeW`}ZT1@j~kzEB1)b=MK4{Si^P&EAS zb8S@WkmeO*qsK*o*$2fBr;=8#c^U#5C{+)tE1#-M>)LheJU>0-`YQs&z2Tv8t5kj5 z*2YN2hSAH)aYw)XwV8%D&e{6;e_nvUQFiNwe6dp0n&|9h9RX$-ofKo(23}I7x%Z<_ znZjUiLuV&DxO(pBCWnYi8QN(y5{yd!Uls>vvRLojzSoHP#RNP{V6fv4!dk>gjq?_c zcl4ypv|cgW%8psA$)~s#xV;BvT5+aPo1=*E`d0}EwaO)bfL~TH4IfDxKdQ*?!iC4O z4Hk4B#Zm8ZU} zMbp2#ff1wSMRFN9V2yLGzaPe(`ahn~I7?o}+W6LwBHL6MY) z{{Xrm{9xavzOygu_~_nyuZPgoLw;Th+5tFb1?Uc7K4{LV;K9*pyG_q^&L2Zsa<2#H zWwL*NFsw-gS3GHLB~E`b1esJj02%Kr)>I%p(NIXsgdx1rh0hEWtOzM^f2%?X0#+oQ z9c4yC43&r$KoYOD5;X#xLn^6h-TBEa`A5;DlD6dL%_xk?;a2Hn^7FH@o`)ur6fmBD zuyVO05)z^YCw95@W5bKxK-Hk-bHA;jT#Agmg6l-fbO$6WWGHoYbvkC|W;kKo@>-}n z0$;3`JXlA-AAHp~*uH*#sSxnUBmfNEe6v{`km63tiOab>Q|gxvrXfNoh71wPz?>_k zr1H&qK*g;hpWMQN4h3%g`t=}BwbI(_T3S}aR_M?bI;Bu}^I^LT!pLP4k^-Uz%*keO zA-kTNnVY8qCS#mM%fUgI@G|-v{D2S048XQy&#&KtNlIHwi|YAJWwLJoBgwRo%L`qi z@FMdN>aP6rk3-jO2s)1*>7r;2gH_ST8jqaOVi{P~<}uVntY^h16;Hf-gvOL4Uqb)l zrGu?uo=l4(ZIruv+LTnNsrkaDePNYT8u^t&D z<-_o0VI0Ii?i}}pAToaH(D(k+?@dYg3rpz7wJV740H3${E?h1E?EheVk<4ZV{;6)M zgkS_)rx2PFbkT%7QdLtU*2Uv}WsHbenaY~%?49#(n3&h|JzULUFk9#(BZhN_n!^5WU1o9{>>Zb|79w)i68``~c`dp| zwqB@ZtZUbC<~KiIgD8Lk}#(JAkt;Vw4b5J^P%#zRFmmt*!ks*IE%6 z8-FM>k5d5jUe*RKaV#GFf%-gznJ^JI3=e`Mpml*21%Dj~JpJz7)CUi&=3B{5rquI$ zAYYT^6L8D%Xj=mfYU}6>jgLnI?hke60TSY*X~LwVcdV0hDF+!?c+;ko>gxXEIT)*0 z9}^vD^SH?Z&lx6~6@f5PQ8r>CDUw6NrORETNka^U8P{`(#T+DU1DNBnW0iklCa`B6 zOq7zUBmRDV4b9C4^YV)DU24JAL&M1JFv~1*5iTn*YVE?t-~Ud#x8q{Ll+xMl2?$Wf zEeXcliavEC0%;JdmUP_Qa$kNzy8>?rq)xO<&~EkT)nukOtX+Enjc~iVlxXWn=r&eo-8b%p=f33lD{WhyEcSc)eO)@MS&l(r#4XI8*C_! zOMYYT9$M3BqxY0P_M8{}$X?&QxAufV3ww__7ENSoIDmly&cm51_jM8f2jYb1Pz93t zb=jlze$yiYB}7IAifgFgHU(rw974NaLBYPcNboADL>ZKay%E#_naYQYkkl812q@TZ zP9+ndh$%C*wNR&6EUo9Kd_-+xmLNDn!2&>>rdaw%P$g@kEu64+xXdAJ$Y`k;(G7| zgen_R2Ds-T3myVO(RCBy5sM~R!PcSS!vQs|2t=O6Jh4cW{?ljANMdfU#TN@U=jP@< z2ES`UE(AQyV=V2`eI1BAgfdJ9j)swMfh?Pe-h`6ndh5?V+!~@*x?!9gl0Q3i*@k1; z>FLXo02y>YA0i2q(^KLcx8>{&CC^l+9qzDMB6nYef{+SY9g91f!65g%H`xh@=%zKW zgQ>Gt@tW2J7p)iY(4ZN@5kTsoMJslBhp>l-M^IXt5Nz>>U0uaivT6=5O`y`C#6#Cv zh02A=wT&w|FfObeZf9>VWF@L+t7Q_(!z*({DBTGY0UCkFxXe~T3pq`=z zbx##Lu2Qk6lXw!a0xV7YADlnC520uhh!M3tLjC1@vONGb_RB~f$7tD2X<5BwfV20Q z;}b)NOc+=&PTYqgKOlD#lPf$5)OS3C8*#_lOI;77%_=sLPk=KR{do+&E$r~v*U=68 z1+v)ttb4cDhVW1ZvD*W@efa26>^0c^)&4fpGTj_6FRwJ5^xzI6-YLo^GSt`C`(lnQ z;NXU>YMiT^)I>BCGUPg5IllqY%2M8wks)Zl#|=fdDPg#BGYq2*8Z(G#f^m5M#mYMfo=u(ik04) z4t*71&F|Md41c3)tNGhR_a0{H5Ax6sy)cyOXx8h|u3C)9|1kG&Y_U%+lC-HN6!5q>kQBBLHKfN1gPSQRyLR=VWboL)OXDoF)GrA_u{m#^* z?dWJ>o?h|NH)9doMx-BTXbzuR-zmBgNziZNguVSmVv_hUi&4kjOiF0XLMDFAd_5-p zPhoj^7|`pxphm2$f_YG1t;Vly%~3|$L*R7Y<_PBDGs4{!W_;EZzBrsG?lh5I^)D|8 zj>_9I*p9LFyq?;Sm42K5fg)(HzxD?F?aX8Np3t!Atfb? zi7DZ=5%m``vP1SZHZ(B&xw(H01<}DbH!<)zdn>fEJT7`=;kB#N_lb^v{i-)~!E2@7 zxpQjhdUJAfLk`2jg?p#P=9Q^ILunt~{M3Z&>0#V=zYQM)7F@!dTuqznf-a5(LVy9y z;m~nzcWM7MmuO1o`^W_(PjuNt{{y?48uuL$I^^$W=zB8rb_aSy2%C9^M*dsx?WRQQ z=|yMV$yM2>=N)LD6(cO|qnG%Jc zbv7?#3%QhpcxI=mL>>CmQ(sTy|8iQu(-rjiSHmFk0_|^78c! zNjN_o>lH;X|Kqlx&9n)Ju-|~|_?C&y39T3pGPbpqTFL*^Sm&o2rCp|T&Bg4!+uJ#g zk8Blw>XG&X^w6|MdwaXe0gCgQ&^;Fju7(X5+A0q(>*1Z*2MWLme;cSBNDtES&fWo( z`VO9O5w!rcXmQ_|SH{31r>)^!@|a0P8SVd`#LX7(%Vk80*H__vPd(BfgS*?{Q_ z$1`VV%=n{3uV-av*zGdiOEF7uS#|j8{pp>sfb^8P@#Gz>JW^z@kl<25CAX&)7F`CS z_ul1Cj30IF`A3u&g|A^Q`#cRLg~iDJ#HXB`#b~r$S)OcP_xjo zWw*9$rDmL2EQ#(n4&-%P$`0ku?u&LaZGIedF_RA}$hro`to@hZ`Q;RU=j1XfB;8?f ziZfN^0_mj5z?b1dMkE-BP9^EiQ@23^tR5mImaKG4I>puXiBs827~>hi@FDU49lmLV zH#iiSzNRJL)IW`zEi(ZYr~Qp1F5wF=lrXE^rjZQH@+p{aEiWuD~7Fx64)je~=Uh6*N zflPZ06?epl-s7j-m5O&3?=%y{{EF^sEf`>QFlgtm^m zKm$0C>v}=P?p9HMsU)E{^XNN3h5q@oAvMR?NsS--iOLHlk ztUcZlughf5&U-*kpdUvNN5(Uj$)V3}a7w}D9jx%EA5=#T)^6WJOG`Wb?XC5xDsa>+ z^l%{2-OnA_XKQ<6@?7Qv22V0%V#a<5FRWLqfT#RmWX<|htJrrd=hZB79cMwp%{+7x zS|(Xu)Xqhkv>}W@u-}sVvfb`LFPtgw)?v|uZ@bqm0H>x?);btHm^=s33UgMubAQTD z3^ZYv-9?}ng|A!vv60N_Q7Z)dQ-4%}x8ZBdI6VrIg&nH-rji#omD7IsVi`3uK$4TS zE4#Yc(W6JnyeEB{5gL?2#I!=<+79mHZf>kxT%si?EK+__*<{_&?l#OVyt2@0Zf|GB zGOBgGD4MT$%x__#2HGyaUtDZ#!rU1p*lUL_XtcT(RwbbPLaY&OAK8L@hS{u*Y07B| z(|loc$hsYQjGWS%^WaD5;TO}!5*d$c4~mM`;+|R*J4QGCv(o;;c@XbJ9ow;Y@A_zC zFr36GSO`Osoi%R477yo3D9t8HMc91Di)p%H-2&L2FmBfbUrrdF5?P3`dGo!NSjF3{MBlyy@Nj4BIKYOT zTY=@~F=RwVfqszMxrwOA*kRQFz zB<>5)AFi`MF7M31B1{!%U%_?n$!0T*-H~KGG7=7Z4~}_+dATo!3H0QdZjfaMXqg*U z2f#l8pB_<4(c-YNv#;L#2n7YYxL=?nvX_>ZSCL2OA}BE;sso!)h3hb&^Me?_rddi% z%(d&JQw-MP?1BLh?I#Uo41OmZKJM4@;^(8I86Dehgb)`6_7H8^vZW420>YMyhxmW( zl4#!|4Bi!6dyGDBl_hP2J+_j;bWZKWAPia(h+U};%D~5uA5*Ugf(oLEyh*ci|Wi3%J}y85mZr&Ay+{B2P=rl)8i! z6|XA3yNA2Tw06m2#}I`DIHc2qn1ji56nrR~R`Na-d;4I|9Wo${7VY>z4Ie~fu)J1l zf@o-H$S`3+aj|Rr4-YS|hUzmvi0_Vg|1^g^&bjGn-nw~H8cU5FJAWI`Ad(wC)CdP`A%nS%vb=%|>h5kEs(Wf4r%yLy%}{}Bx1`-aR~K9}+28{r`;HE?_CPw8 zlanK++=kDYMMeAMQjv6-UQXhAYajUdR_u<|kw&4uR;h~oVk=#`NErk7;; z@5C>o6-ZuK35foQ4HO9kdm3=uLxY3FmBGNP#Da8(hAtE<`$mLwktSkdVyt4ne)zC* z`}XaGKL$Oo0|tmNP+;~EXTDfnghN2g-7xYR-j4j9?ui}pggnGFN(}S`aJThfvx&rj zH9A0Mx~;7W323e{h9`}6av%Z)w{0_>e=`I25ofp&p3K7_(SCeRC+oIJ+e)-Mc+XgI zxQOHeq~DIIK*C@N?LpfkDt@4^7Vdgbx|-68V7U;f|S(EVR*u>S9){J--?V&(Riw+Xm_VFs4j zVB|PV#SDTG{pL>Obo^YQ!oDP8xRaD*0*vBtD=#aZ%V_v(7*_01$v|F+gJfI7Jwgfm7 z`2ZB(6$rhMz579;19QV^!~;kYWKW;Y;v?h;06hl#uH3#YS$zyN zE|#fBK;$M%xZtYLhV8639SwrvJdFRukasNk90$OL--J!3jtGW(W91kxMdpL|O zn|l>tvYP+-)49J~6jMC-Y#>QWLU}0%4t&`GItW!dgs7V+Ju)uISQbnVWQ?s6{$g`6 zy=efkz|)*!<~f>z@i> zAsq4t!USrok9tV;FWH*H$H&Kr`*>?^LOdV(B&&&a(FiLq`i>{yx!riA4+k|Z-dN{O z3DOlL+A%jbHwLlOJ+~WponkOEGxNm;kOBZHk@0fib%5RX$xFXCqXJrIo$lbrFWBJ= zUWjni{tL)^5JvJxWVjmNN5co)oBOI94+>Qn{H=$fxB$|!d@DyI1-L>Mlt8CQYx&iU8B$_8#x6HC%0@Wc$iU6d zVdK_GZ&J@?A2RWIl*siPU)>>$-8eK9gyA!=4!3dK~Mj$8#i7@OI0~hZ`aq(w^mjw5!&HPhvm3$Et`Q`vB3b+Ka%$^tDdjOc; zi1rH&zUmjZDBV-0H<1W71)8$kb)y&nh( zGID}p3#j4FZ3}rn$+eCuOD!XwNFQ|^L2XEPiLgBAsZ;IiIM7t{R()jV^M%gD0@5=*E=B0;) zghZIDqf>dw<$=mOT)VU=MY>?n`R#7d>z}l>EiZn@4id7Pbi>(6Dpa57Q3EUia__G= zPXY-tRcha z)c%kDKftVzVH7lZli2ag!$mv3x29<6S(s7U#~4b4g^U4mR>{!qLv~w8kr< zT_eL8c+^AiERls=Z_;};KmCqct}gq-)+m+89IZ$}T!p|VL`BhIT9Xmr{R7#?7r8I` z!G-K;xGul)@ulp?(cNSe?{u^Oix-Xxk(db|1$l_^odzxf6PWc#&vNdsXaBg4zN$d0 zk8i|cB5QmfZZ<;Q0*%IqQ5?GtPkeXTMYOMEVp9K{`outOEb!EDX}8Tb-vRu4tjVz< z`JXhhX$xsa055QNi#1b`%aDzI593{jd;j&^zyJSFJDC|pk-Z{98Bs{di6SdXDj5waDiIM%R>p}WLPb)_ zYKc%zMP?dk5vNtMGm3n#2j}ba{r&;pA3t5*m)HApIZ-_ykNY@|+dA}DU&&Et{|x%q z(a~`<&MLX+3x}eYLFPAWMVMs&5(#4mEYdU0s_5Q5KZ0IHw^@R^ZXS*~1bC((02Vej zK|KC>1OteSQqh^+Pr{rsZZgpTrtJV%H7{F*0SYmRY-z-IVqYn-44?AEZEekg-o=uq zcW6zu6F|Zh4jjJeSVWa;zLhnS+~LvBls2L!U?jnmMWYxv)m!;@(46G>5WNo(hAhQU zFb-lwlq`=79yI7Q!o}6(5jC7#7l~!S;YiAHUU47{jN}oEqMcJtV$iW9D1vg`)$b_YuTcP3d&Q-v;#(CWX(F@OnXGX-!O$JbPv^MP1L6p&>7aFi9(Xh?DyP5 zX)urhYG7GMfN@cc{R1ks6hyDAmR;SL8V99DlOqF9Pw8~#h<=X+RA1l71#bF9B5BnE zG{nj;`FI%__n6Ve0f$y>9uE>V!#VfMYYE_P$E*!(En16L5m@{Ie{GY>IP2tj)Q?81 z$h;;}cJRYq4n(qxqqddnfniI#ij;_2N5%{E*3xQaSTFl<@<)$a_O^Q4vmq6OC5*AK z&!QIWgiZoT0R}5JMVZ$VV5kg_9cqRv9E07}Ec;mmwiw1~B$_j>qM#y-K-R0fx^NPR z51tK6J(`;m*2T1@2ZxLn68t;aMW`*;Dpkt8OEH&}*|rqlMVX`r z+SYzlEAzd`RRAo6gbc}$BL=EHOLIMy=sbuO zpTma-&0q1YEKrJXn`bd=q-^3+CyT~>SRKkX4T-?f>3-j|>R%0!Nfo_us59E#{WQ}Y zgR1PBHsIc;$dyPJjA{dK#ApE0%Df@}!+Tl2BFU4~-iVq84I6gF5l-pTHaJO}w14@u zcSgKxxB4J!Tk^k24%DM=?Uw3Fo(tbBUGickIi)h)1=>Wr-(6Q_;LEGjUIELgp5&t~ zO}u*ZW)tLDS$=iuy-&XU)9m3TfN_f}Il;KTjD73)Ngg6)V8pMhVycH5l1wP^FQe0} zqr0&KWlSbYpQeVv=M5cL7e_g`^cc*x4Z*zAq&k*jDS`v1L}-M>?mz3LfWFU4LoEYG zJu~F?XLd_`)y?U#YQ4v9=e;5%&RwR}G`z69@_vf#*s&WN|J?{jQ9!+ldI8&W#O_}CeP2`yB!75K^@+^Q`|d*r z3?%s@CyB#P-D|N;-ti@`d=@*LI6S@Y?iFKEkOpAB+Q0a(92Uy#=?-Nq!(64I)0z5M zPev~lN-lZ+k(_Jzo4DF?l!orXbSWX+IYX+f25Cz!oJ9=*=Q$(xd}7tA1zjQhdXvSp z6;@a2Bi-Y&b4Usi8>QrEo`+Ao_G4R8BrSX6oBoc>vGJQAEn znOR2EpG;(!GJSg9QHNeVdX#a!7}bzZo}*tqW-o9u#D(9}iZOF~olWVz0FodwMIPb&s(oZ-! zRipa98iZ%W!rHg~xM?TMC)e?OutF!;XLR_Q)vh8rBLr5}fW(j(t&_Hw=QdvTPR@2Da zas2l$6q=HCs9t>c!2?U(u#=QRG`NFP4*yx=VHUKDBDBVoI*+bE9R3n$hUd@Oz-{q_ z>xc{b8m{>tNSF3XgX}t`1Z?QX&GMM8Tm65J*CVnq6u+slhbd&fGnts z(<}q_kbLTK^X5fZoN~bVAN`X)Q6s-o)mIvuL!~t>G=|)I(zvk#(Sz+bL!5uo6Q}Gj z?y3^h`~1pJQJFWkIoB~)s5j{9Wzk97{rkrSXK?}2wR4cXc*!E<~+Aw<39$L{ccQKKhxK>&8EBtd!-@)CeQ($)9QnF5 z8T0<$S3$&yEv57Z4+Gs|1x#qHXc}BsaDT8|YE7VO-MK^Sa z3Y{ow%)Vd74uIJy-!LJb}2cnl~o+`1Xt_&XAPyVr7VI`)mknOZXqhPT&soU%Kn zy~g0Kk$n(db#wm3MK2?$LcRLspZ`%Ft5kAvWp4B_*TjKUGgkGe>Z50N%qTESFRY!F zvxtbj4ATGRY=^QAvdd{>Ra3>@F7NFbpn=!{5lbegvA=7!Nk4AHQ%miq+Lq-YqD2%b z4atWOA85qdE{Q#HB3=ApFYk0D24kG=pyY0+UoC3gwr!78{rp4Yk4+V^-ix;l69p^7 zBqI~H7=zq`EC*7NJ5$beR&F9geefxW_deoEIdaa3*kjt-lO9dYRBflb(K$SViZ61@ z5%sHcOgc2P&@NCqa;;Z-`Q6-yeHum0kFmqXaj$!pQ(vKQ9(V=Ly26_vhxAe_3jS1=YL}!Mc>qM=Y7!&<1=dLvAR{WnQQIzpHGqzD_ zMLKUwh{C8*R>Pwmx^ivRv9iJ&3l5L(%h zBS*T^K26Ah&maZSH_HR%&1)o6YoEyE`Ns05tD- zl{k`i2c_YGs>7qPh{y~Y=^FKB9(8OIQ?(TV3gTbgnay60mrf>Ukvkn|#Pc0Ree)lj zKtOU~m+s!%}_lb?4A&G^_& zJz}9`6*2ju_iA9a)Eil76eKMPRBqXJzZK^nAn`qCo<8MNod~OT2|bWZ>fCLiz@X;# zB}Xf2A!6?8fW!Ou_nC0%z*CU@h(227@4}Pr6FOs2L(8%7wW&3Td?ufUSm-{}`gJW< z92s~^w{PFrziMK)k7i2D!uHy-{$~qhICW!(^1dant!=Kg18bC6auLK9aT#u<^d4Ff zQu$Y)dU_76BPR%quXCDY5cBtzB!&;g$3+peFKmoqB zu)Io%mSqdJv^tLc%0qVVcF0q1$UmddZCi+iD(C#-xHGtpfKGZ(pS^wS*0BJInVXk* z&>2pM{x*kh15X3xa_Y4#*U7An(;^!G30Au$c%ohbMYu^NplxD`+imIOEJnc1fYmL0 zJ<+8vo0XYV_X-lXd9ONJtB*o`%lc`)9DQg~1|(!{Yk##5qElnnqdnjlT!Q}P5NJ1e zVNl@6^o*QXH|$20$4?~>RBsh5Y0s2p?@NovJ2^_pXs zJi8}q(t774_yGVpZo8y24xLDJ+@-}II6zD)nS-O@Rm^7WXOlYp+f>`?6KGvGJ1#iP zfkvvx)mJ|;nUU>xylO~Q{cmIq4yyJjK*sNU^J?gQ5Ej8V!qd2ea&ANpM0s`waYMKP zv_Hb#Bz^)bx%XPv?I+LsLQ)m-&vpap|vYKMxR)BQ3s>5CjP0-q$P>Tlb&&3MX`o%blfQXD7v z8A>n>UAFa{lyiw9jHe|~bzMb+W$d!IVmH1)&U?!QS7L|NO{|KxkPI&K)x&M@x{5I_ z`f(6EjA$kB;;k!q6EQbtT71)htL2F%dHep#T?lm{_pEWz=bwvC&F%bPdhAV(jc5EP z)k1D4TDJ}9Kha%%AWliC5-fVZYXa%W7K`Q~Z9S1_)EpF_O!e6b<%L`Yg+CuZul7vw ztEbap8Q6l(znw+&f$hSGrC%awS+jzfpf*>y;bhcn&KJU8oco>Xj@FCm(8`qrV_)PD z*0&sso?1MHAK)02iZs{$Sjym}c0VtE{($}ok&FLw&Mv$*N56KrdGr!-2%oOr3jCgW z=B0}lFP2t(Yf>6rDfCV9o!uD_N`hx{5ck2)f_>;<&j)IbE<|pI4EKn-*B?ca2za2w z!g?jJRfWLh#~4TYi$|0ODm=gDLDlS- z^F)4^HkT$tQ)wTMxs#ha?ei~z{3MRbF>doTjt5fQo&0AjJh$7`)!q6n=G30tR_7Mp zZWVA`zyORno@Ehpe<^SE)^HmM0?)pjAccWzwa_(O8$T7J*5XG`bracTtX0F z?j&;NKNgEKTBV~4p*v`ik_xi+3z#x#|9U=>!f}r40^q?FFZM6eA&hkx2}X3DoQl^d z{C|(_v&ASF*UL)#!~KZ^BzE2C`M;c#^JsBoxH3?8-;;h~8RA%!iP8eie6c-kw=T0) zisC&s1&Ol~e#kG=VjwAe>Kt={s2pY519%pRESWU(qW{ZzwF_0O<2FAhH}-8Q6XeCu z39~Tz+4LYTc6;)T#qY)4`-F%Jk-Yu;uN^>EgwFs)OTxZ^XhWX$*@OaAgNc9PuMCn1 zekN#9^jM=Y&mBB?P#y|2_z&W#Gd?x+qvzTmS1@74iWHqi)W>b4F_+LY3KogB7srP7 zPkma=oV!2puU;b@T8AkOf{S5u!ZY)G8TPTSj(QH?VwyMi%)AD4e4<~Xy@Ck3`l_&f zIY{RR*8J9S%OoIu*y?XOQRZRFoUY=r79}DV_!-8%=6FVm-J{Jd;L=^M6Bo)ErZ-%= zRtmRny?Qko{VZk^+dlF7j2RN((XRP$l`H-TSo_Uk(*8jvFC`_<>_Ujr|Fi(g0Y+Wajn-1d zZJ5?x)Kzjzcp4SXm8A;;@DFKhevqd&57&SxGPt7PNiAFU8>~W+*_kYs^D`Wx*LdRE ziy1dLc-Y^4NVAhoP7PyqVXKwd!C@A<0p0ueH~+S}&K2qIa@UI5n?`D@@)%%%*FVyV z&n=oPiLgir<4!ZVVe+E2G-M*B{anU5CGI}|BE}BZo_bWL(Y;wO7v{&zn00pkW}S@8 zkh=xMXvrvn5LYe4r520ssmitL-$BZXZQK3wzrd~AziH}d!7lST|+&NPegb|8-Hr>m1$?soJoiC4Wx1} zj&{-$>lWYf1Ey`~j&1MHeZ;BH@h0Lo*%e1lAK{`~XU)IQ|s+7Ll|{fRHf%{E>{5-)~*lKd?s{nB_N^x zqG8mi-}F>P@WKDlL5GOVxX_gHkfo=`)ade1tIZI=~81(SXx^by*<9e zB{$sEy?1-{8%ud`_T2+doa+1-;R@&U;;A1dIIn``B~RxHl0^5ij0Oi8k|*AJv7M8A zK~;9Oq@*J^b30NDL7R0}e|z6EY>$lAlhEp5lhGU#dW?R9a$+dz!1a#E(QwnTZmFo6ygZjMW`a#2aOsz z(6>wW!Gp$}DZ>N+!@w-VKM0A=0uTq+s*j9=fCZ6>X5?vm>>l5JMOD7#z{L-BC|c@q z-1{3CP{;Bl9RgLO(z%9H zs6WHj4bR{ux4Xey#-3U_K1|1vAxHJoTu1!PU47H0UesnZFZk+WJYIQm?*27)d(=h^ zu%b-rEVGXf`5t`b`S63>VXbpuJcdrkO9S9CzRfa4keW$o>t#eM4v;3jQ0B=?*82Si zN%zW*M@J9RwRuie)zkW`rELm2aK9bv@ zgJ0RsXE2<%n-AaCcxcnMNB_jOMSPhkY6xE5xdQ9KGp>s&+UnW|`d%1d9Vc7sX~$7u zJu})4J~yP#zji5q)KhsMPHa>tSnB}`Pub1Wic%iVi!qS`YIoI{M6bf%HJEGzaEfsO z9hwehXYr-q2rP}-d3r)zkDCdhTlyG@h}Gi4(WCzy^<8WhrvF6IH1Ib`-CHwqd)c1> zdloOrw6s6_^iWjZ{hecf7AG=c?_b}=+Jij2j~L)4QY7^65z)Zyk%tr)Z=g1HoG8|3=Uw9; zCJ(vdH#R7IXE)^5P@l*w7X9zvRqBs-yz4tyuVDwPcFM!a;Lt5FXxQ%0)F&0MnU%wT z|1m(IK7X7yu=tPWth~6;W9Pj?H4C*!uxK$hHn#Ww`ICpT^LSt32Bd&KeDuhv_!N%3 zd5zn-w>#2wIJLl1h9L*(ZD5QDMN2d2hrv}l|GY&jp;sOM6&XcB!w#csnzt(Scx<($ zPM`{q9K$j;qQe(i9|8w=PfugUF$)dl;VrR6d|Ax~C^D}6lQ>d-aqX(+tv*-XMh{Ls zvGBF!#DPy7>#{0{JPWz-ClJjz?{_-6GyheiIIGpz?I_11kv$VaHhAJ?tBgTeVKOs? zuf#4@t!o9r`7*6xV{{l1m6Edt1u(9?f6~!6MG!T{MKg{+okbGSpG{-j5N6j**X%jZ zBgOmOA&Z)%mpi4nMCuUXI`u@}q%_JET(gpNm1C@w|KIN^xn3JKY`6z2 zTcD)W)Tu?6z<75DXei<{$H$IZj&ySy9ACiWiGbahJZ_iFy2fGAba+kxIK05Bp z!?+;H`>|+*R!@)fC9AlkbHtEkq;8-Kk!RV_3N3)i#0zs%JsaajG&9^j+-Upu4oeij zL$dTwO70$B`z$Km+a+zgI@jYpQ|ycqvCLMRr@OAVV!l*cX=z;vE2NWh{CK8t(7&%< zl{Lha1R66|pB|o{-arApd}%*3vR%hu5J8S4-hCp^+`qoH@$lXpeN~;*PE>FKU+CLH z=eSQlp>4GNPRsxOCI<=g67{=6NAmJRb#L4bsMmO~ zH8Q_ixsKrHv$qa-T`XuiTz_Ip9mW5)W@qOXl)O8GgEz``!&Gi5aOrn8!ZCocM4UX? zR7@{1H;gl}SV&5Z5DaV(xm$GIc27D*v;ZANCPf*wEJ>4Y9^NNzQ~NvMZK7W!nJ|lI z)qMY?g>RS4KFG72NA&@{;>V?ig5g$4kFJsUz(s;Zbrz`1kh&R)u9QgH|XVl>gG+)ur6>Zu{+thWUrjOzP=UFr&@H zqaBtuRM5r-5bw2r)%^WpZ#-P%Toe7Y6h2VZj%6 z%59T7L*Id=*WuiRutKPJDl4r7nyi5gWJLF{r8Y&ofB$iaHPD^ahX4?v1MP~00sVU4 zgT$5}(!F8n!X}>lXtQB^H_ifdMaD=4s2-nC=DqEom!fdJ^y&qn@0uXfeRo-r75}&3ZkQwa**;(EeZ7kE-tj55wq>r z)64sb5C6ilgzJ<#UfZ9RpZvYM_0NzbL;uydk{>@3kDb-K3bHaKb>;5e7Ce=JIsHwE z!9me{bJXe^r1bWM`25h~=8*YpTZjt}??^Knic21%!Vevw=awnQ^>Fkl>NRYt<2`hf zRd>YNFohdnPN{ka&ihA+#`9WnN!N0BdX$KW2y8Jutp0iqs3ViBIMdFR+XMZ+y2UTp zM=Ni$O`6Y)Z>3x$2(*T#NO-@XYT+H#)E3=OJh6FG=tQsHi>)7+c8U0M1H}xLs=^Q2 zV-6Ft3NO;vHs#tO(P%<_o|4UNENLi)iLT=p!0~|>J z`kg8`uqCugq2PQKGZvN~3A&R>ZAigMhfV*x$HauU1NPk%L($RW$EDQ<4~Hq*NWUf- zGEbg7=^59QM2Jn`*)k;3`)%<$aB+;%92tR}TopDaL}(~t2ZgA5R?tV)(N&!^Rr4HM z9Z4h9(<{ceBbGM1v@9Kqqx>)cj3dyvoJ1KOO3KRjzfJz@zz)Oe@gX-aqTG?(CCN9! z!3T2W{;t$OSU2$4`uDzhSf7~}aQYXS_1$i5EigGBL&$qW06m^1mF9ZXqoTdQZtGJq zA^OV)8NwAC+n1w5+9+O3d$9%(g$$i1gQ-!FQkibuzVuhE?`mWt4cBTa-b2>8{K$&+ zISAW8T32gY8`k;;KDSu%D8^v^ICQNm*4*~}A@B9k*#?Ryq%*;*-*_?*#&3hr{owe} z{r!onkzvq4wG#LyDQxMn1ERj2ADTr+bcUN;A!(mt;MORa>`;2O-0I_n(KZC|iSP@| zrZ{bt8o@3y4g8Po%HG9gD=m`p)ir1uRto;&xlJwywxmM+Dua<;yz;%p75NkhQQ?Q& z%Z{E}{VO!=WMH6%3c2rX-KA#{DW86=yQ~_V)aIB{ z-Sz90@3+y>I`}XmbA5w}dF}Lq|C#uGZuYUTeajwSnDh7GeS>e<{C&aLBiOOuU;Q?3 zX%KWKl4HBAap-5Q(|ZCQclr_X?oR(V{ZH??_TbZp_homuwHEDr^l1Ori=*DP;N^-E zX=v$+$lI5f-du$|$P{r3$D>@#;bQ}dUy_fm{@7INUukEVGt1i$Z^yA?Jt)UT!2PYJ zrs86JlINGN(dV*s7to=R&|jC=+UrL=S5pQ@yIe0EzJ=a;d;>J+IZi*_E`48k;Mz)H z7NUy%$g1JuZE`pf89byL5rn6zMwA?S_ZX1}SA10B?a;GRcK`kNX(aK#qxNQ=nj7ck zYn-=~%RnxEEPy7T2-KAZiV>L;+c@GF&VoP${8!-79r@*+esVqUmsy{m=z7%mZ zm6J4-?M5u`2V!TB@^GmypT^PIIfEY~)jGdzqF2vey`G_epLJ>V$^&(dei7vk7HHJW zM?V0Bcy#T179+bKy`T~r97&5?dgce8ujKfro)|a^LIg`YG{Ur=3Pu2DDy{JQm zt^9a2`li)ZB%AXWEa-v~iyBT6jqXHhd%k=be{fepX^vsxxfT_lW|6)jJWotp`&dja zL{K4M7fcXvt_`2J(r2FJ5Wj?jOZFur-6cqbS@ZS`vh&KwUI#! z&z865dw}yvQoxJkZHnF4Y`Ed=1s&G0Uq5$a^pbb)c3s-;Bn3Shx}`jj#Fz3cP|nM< zU{MmscK@cEsVJsV|ClRn>*MnMBx_9ie=6{?aZl{5Q=bks-n;CHAy7C^!D_=BR-CG; zDou~%ESfxa<+hitjxy-mZMQY`a4m>Hp8B}$Sskl*4XY;09LwYH=jHihz6mr;siSjc z3=6IGVd`O!-f~^fEcihJpIR^X{qYA>1*Ny%|8^&zp)_wEpmW(Owcy6|t(avbQMsVG~f zsc}c?4jH2C-K37_VJS3Gw%pXW*RPLHR5G~tVRx?N&{20}By8T? znB<4Lty{O|Zz|PHCluj*a_;g7A9(4UMXqjcEy&%VB(a}MsVAXcXs_nBTRB#1uVDTe zgGd<2Xc5EtfZf&qrB%(z{^Zu7|Jz);70nB1=!Yli^%8xLlP(MM(elgdJ4F8yncQ(dcaO|ty5S7jQLqhCi3c5J*1 zoM57>K??`>dUk#rH0M!%&?#gzF690d+Y|PS<<4msx`%nb+Ub5@#;l5?Nzx?DKLaDm zWdJHi7Na^Z9Apv{sB7UIx0}^K@QmfH%MJ@Ua3FTUVIfKgIBebgDAfk}1gX6jB+=2a z^-Q>a=wd|8Aw$37N?i?LKi$W4+kHbOcfkB9^*ReFC-RmSqkj1DICwL-UaVhzDhh@w z&$xfT75{Ie%qgzqt%G}wONl-3M*)N)$?92k;Z#e@Kt!F5)0;t6hyX{VsHJ1k!oll) zfJPt=vIBMAH`JA9Xt(3kW@`6};#Z~j3naflT|=X2l3Rgr37%baIM)!KY+65p4=n+O zD5aQ`?MG+p)GQ@&&iu*b;juy6_SYmQ*uAQJ2BjzSsg7`vqejX=`BX>u*RaW-qNcz zxivy@^9&<24lAshElGGae&^UnSJjIZv*z#7oX4pw7o$!XS*>e-R@lPhFbH^V;DZAp zA-y~7xpnK-X=XDK;kx~}xxv}Y&b}o; za9T$__+NEC`^<_Kh;{;zAU9DnV#&pgTZ8;x3U0-1wYAd8v5;T+XOm9(YGH1~f?+mh z!f8_Xi<0vmrq5D!&m(nox6EfFAncu4QK7weLK&4eXw8ISADCb@ z8jGBHktBDWMwSQ)F%S70i4ktz)ox5mbWc`QaI5)oXU8sxr%`u!eg9a-XJ#@bydA1I z%>-yDGPAt?gs2O94E(3|;#yW#tXKQ;P5i=*cL1N!9K?Uw9}*fWZn22zZ-Zl=lyuS7 zHp?>*xxR!`7M2ttkhbU6F={vy0$8gdl~e%)nS_%$l?fTsGKHY2O@ra8AC`r^e4$?@>N zvJ<5>k2*ie8<4Qe=*P>7r*|BV`K2MXRhwpJafNLoA`>{iKZO+J<#pHByo=NsN++VV zH(G1flrTgY7lB^7)QgR@N}ZPUADtb$eC!b*P+2QeCXXipFLk?9#E!=;UH8<}jsNQ6UA(o|x@7mqI8k|gT=2xe=&-Eaj#k4?e%54#x zKH*ju&#+AWeL}8~39#6OaT6>q*@f!Z8^vC0Z7mqa{Wp3x*IANw1Wra=SSO*{{>rcU z)Cd|D9XG)l%c~;hgKu{KD!4Tjs z7n`{DuCpCGc2LPS)M{&fR$1CJ7w3_>%YZ&>-Eh>z7j!f}KjN@J!6n~F6^ULleWKs7 z!Jgj@?!O!ucWmM0CT7=;m~Ly=MLGCH=|I<0Tqhu$e+@h2l)V~RTExq}7rG>x*k0~Z z*t^jreT~nc6_g=kkr#>0;=z#%DhPH$CK zfkc)*7D3rFf<7|B?$Mie@k(IHh~SFckrM+;&=O3aUO8vqZdGW$F21vJ{|Y1qvLMgn zdEHQ6m9zJ!>3trkU@{qt#JlC}H9VK-Q)x+G=Q%qoBey6sqR*b_dbHkxZ0|PKkq0$x zQO-w2MJ?}ik^{wmYh6zBuv$%Ec)6J2)9CAW?%#jnjAP`-YbzJ^R=b`1JP1H28+kT4`GHSU zPqeiV0aMf$bPoNW768nI7a`$9b0b%)y=RkChPj=aXhS?!VQ-zV@SE>;8SZf6)A5do zE8<8#klr1t6$xnrGqc+p>MvjZi>n|V3fOb*+~Kbxt-dAdRaZC58F$`>j-+JS!5&?` zq(b893mr*D6KJxt!AuJNy1I{xUoBRvx#Vv;q^qv2qkmwaEOoduzT3v$0q2gnx#EoB zgX=IVYNqL7_3h?I@#GBaZkVZ$T9X~iJMLJEYi1Zrvua;HBPac_BJZAVwHtq z*_%m2J1LwSxd#~Kyxl$U`G~y&IGNnk*4BoP)t>XixrzI$v7ExuaiRS~t$Y760587x z@ZrO<9F^$<6orFhrmPyd;=KYw1Sn>VuWy=r9R@b_vx;A^#&T-us0D-e-}`B-0c_Ug z%C6wxf)j7*`ue^FR?c`9-#hcfJBM{2FU3zhQ*g=X{LX&?eZ8tLHE%!2SZTGIs_K@y z9kO?PLg&rpi$>#E{_Z&(dvTH0uXkVC;RK+};*m5S#S{La&X6G+ckGxPTeI3y?U?K0 z#WIwV&KNAoWAm1Ju*{AAqd)BBw~pp+_U>6XzwlY3g2O0qxjJHvuLgm z!z@o@z;TludvgziR-Fb;T^=`axa-_b`pa@+e`xB?2(f(5*;Rj7VRd*;ulz2?Lz$Tz z|6r)D?h)=1o1gl6Ig9+l5$72b(+>*YrxZpv-%GlYKYey%6Cav+go9hbn;jUuD-L#G zKi%csUTfJbowSO)Es6O@Yfg>hKvzMTEn!}g(2Iz(DamSXmygHw0VHNj4#!yk>bdRe z=HERQTlbN1o*{37GDaevXahJ{H$sd+Gc^9i5y=0sePw=zgcI2KoE+>)rIQ%mqoglE zO#pb}BL^Mp>}ez6V!tIsVH2K@I8ov|bvBtBuXi=vV|(hyTz#YAv+hsZQ*$!;lJ3~v(shv+ErS#(h^d)==1 zl-S6-4r6#0ftUAfG}jxQGdHedFA-8>W0c0ys9_njrGIL#%*;$a|5)~q)zatjd2O>2 z*8Hq4!;zB?>f*mXS*9H@Nj83Nn(~pANB3YvX9h$}+qlY;sMUl64y!f%+$O(iPU#*S zBjaDk*Z!*QSiWS!ufRIZyLO~)na7zd>5j|aJX{CyLVG7hc07XyB_kD6G}a+~N-i0r z`n-w3^D3l{PL%`VV|u++cfNmMtM-XQjxjU;DKK%HXxXn{zkdL={I?eIVxJAY{Jj}M z0!f#i(B&=`KbqdsX=bhuE`_Hqc6)eg&j70nPvcJ-?r2bw^D{bmYHbG^#*@=5J1uZ+ zJDv%|>-Ozads~_&Lja`ly3Sf0MDjJjNjud$_oRXaz*+!Fb^5 z2T=ql$&^1-al%i?r8OWclUDu>ft?}Em6b&Tj|@x!NS8B&z+Of!q?@}F>5aXoklmC;p`}_W&NRaCjk^%Ut>CNbGDym z(`QjP8b9xqwrg#ACy(jmeP_n&PqXZp1{+i35bb?+gwb#fUV)|VmKlrMYiNi|upRCy z`OLt0NNdEWO)4r6h|rM?#7FsqT3j%)?361*O2{)K<^Gc}%HwsE;OzsgL{ z%y#ABLB=fD2$eRN2a7ArqxR;GV&La-kJO}(Ut?kiwDLN3@t3EG-`K}lb)VmAkYD$l z?|u&G_bCQhkza`afQP$6u7eoqE`EEuHN#D?1&Z+ti;J{VKZPt@vShme)Ax`5^{wRH znm`;Jjqk#?BwoF`Em=tOdoyyVXdy1btZXM+G~Stq$&U18GOV|=P4>HEH1^2NGT!ky zbeV)c&+Gf5qwgFFQ7#31jdAKUbjXlQ&OejGUW@8=$ZoKih&>;h(=#ozudTU|+ODsP z#pI_sL7Ed{#umUEz5Zd9Kf*0rO^pLTqNzY$aTOPElZvoTW@wDWiI$v2UKPOw4{&x*Q?imV8T~U;w_sY^ zsNB$xmaaVS*bB}Fn`K#ZA14Gw=MH+~?2Y1X-KkTjbV{ZkowA$aFQ>uzr}J8C5~7TI_2*d2n`KMzcV{Nq{i^+X*}7SL@2@I5wr;&j)2O=y zokI-^c>s2t@VQINTv@;zW%kwF0O|wk1DB}akeYA22z2KiX?z=a&jn~ardetMN z`ZNjzPzfK>H0~?~Y|gut*6rtKXSFtaq?=vijP&FjR`saE+RE1U`)}c z5wSn^FE;R%rQux4!Sx)qzQ98cBUb4@ey+aA)7L<)ZsxFWhc!Nro zpNZ;_f;OXNgKK+6A(x*h-j@(Vuktpc8YqjvVN!>!AXL%vx5X#E__|cQJsV&2AfJoh zq|Ob(FuL{ZIj%B7B)XC$<({*6;lhoOe#_lX#kNCgc(yBW_~%Q_z`N)H9c?eO^KoiL ztAR*(9b=3 z1reahK$h2JniiK0K*(0ZPE^dIZw@hB`LR1O94CVHa`6sv;D{PAL@aen+K(A~I7=7o zsmlsmo+@xZ;|yk0K4jj;Hkeu^n>+lLz0Xy^@D&Ti=#`h-Gwjjvk%Xoq_Awea z0i0cG2OEp-Z3b(Jz9y6-puuahe2H)E5Z|rjqoc5%3a`VT& zUptb2A3mkGy9ka)t<|KEBo{}@aqSJ;xDi#C~r{yA-?+@Co(}9 z`k-PsG~Y^J((49q0M(p!y*Yi~RUSc8tcS2qcDMvH-fcK>q7MaJxB8hJszOC6;@+8N zXPtv3Vr9H`9p;26MbxL!P9KphJp&m&osi&v;DGgkZkY*ri|d45o}AXBX4|IdzB(H= zXgW)rD>@n(MUoS?OW*+l+F)Ot(C2HGSVi@ct2BlD2sY!?70BHtLW zY?gB5Oj1&2sGf_l_qA2^!0BaUp(W3_NPJv(@~SD$KYt|??i!gECVk$OTzmMi9k7on zvgK%(Ni%1vVq7Cvu-_ad$}$HY(5wVUi{#><2BCuoW1`g#r2yZ?hD*EoDSNt!_>+uw0DY37eZ;D ztUmIM78m015hI?_#;Gjm#NsStFAJ5~U?@fqnN|)bko0H>3m+eK<6KxB0B~5)DK}Sq z{-fWE4?c5Z^+=aTQOlNFGQ*^_B2D-$-MSO-vP07AZeMb=xUE*_&VJpZTUs2>Y}(xC z)&9`Xu5`NGd?NBe*TwXQ9qd$6&4n7G{*#GD+#HC3x|CliQWdw#+%$DAB8ciSydgy2 zoRM;hA*z6-_k1*EHwcqh)+C3FP0P|#s_F%)#l)QEKrI%JUnDW;8&tC{7rT5LelC}X zjGGm$TS|%@Ee+(+yMo;>zreDJwPGh2$RD|*^6O&GHQBRdcdc4IzbTIvXi+AfOB$vO zxPeciIuF^uU-FOf4aoP})p-&IC85@cCofj7B0Z?T21pxc71c>nR^dXPKw z$3G8|-LsWwx-t#~@(m?d()@Adm-{czjAot<-vT7qn8sD^BzA&Kqd|ftZiwN_=3nTa z30n4qNKB4qlvRzWx^xB(T(@CEJ-A22P>r}Q;`I8ahEna*sc!%pqLO$@ogzU;AV|o8 zM63?cVvqVx-Lz6l8cu4i1<_KXK!LqIf`)G4!i5=UN*O0%t=uzt9Jj2H0AGteutyIO zNQpQzo+GsSRazuE7g777c`W#Om*W;u!Fp~Z*`WsxGy&)3#U)s+>Vqnb&~ugbD_Ncb zd%O4M__Y!NFp|j0<0g?aR4j@(I^Sa`8xuZ7=59da z)eYR#Bf>Dq6lOKT(2jaKBj6V`wpCn5W8)V45CewSWK*WJFYX*+xWja~{4JyNnpZ(l zeB!$p=RHH@>W&0iaXT`-_YQwd6P5!-&YWk;{Ac6dbs;vlB4*Yk@wI9X!o4PATVg-* zwjSe5Y5I>s^vs<;f^j##`mh!XDniA0)2lL(%5Xf^RWJ$hM!5avSK;Y@{$^J=TXL+} z8Al*@5gRZo)n@Y0t(#K+LZa2Y!!X5>m3eLQ%R)A9svbnavT0LwJKmRMTk;;|0m7b7 z9=dr`>KMSqT70q*=&d+yXPvgIb0Ml_&e#C(9X{f9$`PT;pr-FF2-s9TgiXg16t4_y z6ZK8y>z)jR?fVx$f7;}s>-kBkGA0ZqBS-zJ)IP>}&E%LsFksYm*JsaZ{JEf(f4=6w ze`pfGKasDdn*X2w-0lfG{`c30EcwL0zuJ%d{Ym66Uw`uZ;r{+E4R^?|`ul6p3J|$J ze|cBBgGjZ1fBoNY%`^GG4@8#8|L-ega$#<>&gFeLciW9xb5X~DF>qp4ubg`qIobzY zjmo*WU%N00J9^&`^%wvOX%DE2jGUddF#IF!Zw$8zlG>G&9-smk+zyi_P4Y=S@63cR zajFW5E*Q4BMDRYL%xNwt|HPXS+W-ZT zLP68b@VGT=A)<66C&&G*{B{!JY=ZUR&ME4#^qT`NZxaKC_@k-yi{>N&&b+($ zX}iwP0&6#~M*-GOPA44o84Wx!DKh9|P1q1u^?DtA$D?no{kZS4OdKGMriGn@L+*>S zW@ctGHBiED6I^~fA{g2ve~l9^;+$Deev$Gj&btWn3lKnaSClottE~J9CxxUD!;Gg> zG0;wm)bjfED>AF@w;YL9sw2k1wcoCG@-dm<|THLbSO%At9=iKkz-@?LUM}{Ygzlo0}k+@ zMJmv#?|au{>Pp zH)cN_tYfM{(Y=4}-kt2yY&W5@c39WNH;kml|J^NChR&KFD;Sh&T&c(FcP@!6T~p&q z-*YiPUK?-A)xmd1Zjh{C(#=}G_*K?otyo>~Zx-)LHsuPM-*VU%WfiY%T-jR1+6_bN zwR?A|W=U*%kSgy7-t8N8OP9U1wg;;SJskrcurJBdl9?UwaSrYqK4()OQ89lbz{}** zDBje}uRl35#_0Y;2J7%Vd#`%M@(>gV*S54>L2hNhN^vXkM-aK2nz=My5&3evrfFP=Zdv6AH$|dtV~L&=3V{4kkYuStQ4I-YFAn-ei(W22 zWlhVDutHR`6nmmyhjLR;@N!~gx~=)70lQQlS71Vw>*xc2SLySUl(j8_spSesh;%~? zJ3(q5lIK;r_Lr}{5079)O=YslP3g6bu5_md;aJ-M%0TfYepjJ+sC|JV9+E@xK9yQn zEbbu$TmF&^A}8Mg>_U-tN%A@#4ft;v^&)K`$g|G!H?ss-iq;4}Nk>M1;~GB##S=Al zMgk&A7Jow0W}jZL;5ch7{3x(h7y;Beiug)6!k&{F)vxb(YunTwM3Zs+BM4XegqT;y z>Hbmkq(iLtXzzKX3LU^6R5p2Sb!#}+{6iA5hm%0|31YjJQhe{C|_^Xpu#y;#O4ge-Lb=lzL>1=H(^2w0@UJcl~EYm@nx*fJtM4Po78 zmjz&${#{vH3`GH$E~b9vB_hM#Veq9Lo*yQ0e$%_sttLq1TY?!7b}GC>R8$ zf-SIfa*}W}+J$-S4x@dCP^dj6BQTS=A7vN|$rG+=(7F8YK`TGbUroo|aY?T#L+x%# ziFD1a&6v$9b{63n0#-`JLYVG#g_^wXzT8gbJ;6A`dexWJ&=(O@*6?$pm zlE=`FDV{tgY)44Ua-ERPn>R<4bw;iBd)3|ArqXSk9Z??tO)St<+-~1Pl2Sl9M*O%$ zx}DS=;lWqHo6n&7lW-c5uHI>2df_HHQ}4+-Nhfu6Kt&BnAxm-I*!#$hfnnZ`F5K!4 z&MYBXT~4L-oPUwLhq`2fN`AoHLZgl1K#y<&2}xW4!Mu@koIu|Cqdyr=0}ev>W#e#L zRnE~s6;q2Yf=!J;I5fL+J z%gw!g$PilPS<_-Sl6e`j(DF9sz>WYeRyKwl?^F)|AY$&TKH&>*FXQVkI`wNT1W`JB zdw-3087b>>K&FDv25gXtx+5T7^7Kg=-fv~`*8)70qMXgFnv1|$H_l~XIup8#bs;i~ zPbeDQTU}O5UG0D>PcBmABz=A8edneO(|{Y7RYLNOXHh^JgSrS1t4h6tkx6++qh{*< ztkbZ$Y8^WC3%!JtXGf!9(H_7%*3FFS-o7@LkSzw91+WyK5`q%(G7yhAq8H~mm+|Ob z`uW9L%qQ{_We|x^EgmV!x>R)T-o3uy@qEBpvC^|@YKeq)H+GjM*XnY~NWRtLho{4* zd0R82!as`wTwm?W^va60ysGBOWA>9AL-tflRn?7LZlu7sG~M38LPPHbL2Z&6BI~aH z<)4*qXHb}egjXDER&op@u#C1B_}1&r1U~S#SBYtH=8Y3=O$XbFyB)^z;_Wxh7H|q< zhv>sM+lp(!4$9HlYoy(Z9zdYc1;F<^CEu7ih!t~C)u*m zkU3`=+$ZjD9uDMcQ~@>gaW%D^+ObZg!J{saDy{{uU-bcafBXLWP#HuK?b6C=k-hyo z1gp=8ERJ)GwzJ^~lnYdj3aD<0-Vu*9uOZ{rM1>goE`BL=kyj!e6qIIpjjNyuRli?H zYan=u<8Vu>3f6h5q+kTygz>YJIXmlW0!jegJ=ql1#2r``f z2UX)0NDFtWD`r1Tn$?pcLbfZpPElW%bhk078hq}|nb+aLQ`{CgIW-3VrX>`o8Toh8 zSY_aB$Nu0>_^q9wQc+V1DPx_ zHuJEqHr!=?s`~raq-{;h=Z4+z%TWXL7P|t@5eZ(Fk60sY#T`opH5a|UhniSA(> zhXhdafM_|ID`YN`43a=)QssVA9#HB=i^)TeBqNa^GcqW8ibju~lzBJ2 zbO76}bYS=px4zBDotA%zB5?TZ~?-$Lg*3eIK6RAdV(HKV#c&*i=hly_GlPC8cMX~F> zCSV%~{H5abX-b1(;)lV}EC-f2Vek$WR{3CO0~?V!OmaC|RW=wjGN#UU;>YSzQR}D8 zq<5q2yx>^MYPX+%v^J5~-`cEVS@=}C9Ocmo!LwVbsy2jjwXddd5>P22UPHkNCWDWJ zXg~hkdN9?ch4vPrA}dz!YN5Nf*X8doG;%J|1SF@PbiUojcYD`d3+|CNW^RwpnpAXL z#xI2mpm8oIx)>$AWs+E=g7rQ?WE*l3s;-4x%BlX}NuOqG@^=OUwY6Q6?veYo)Wr@8Jssi_f;6fPD4 zZY`|*QwCLNAiR*)`k<22Kb&A_|qH)sqnd^m8-!ouZZdRr~JOQvj}vi+r-AM{)FJCM!C0>h$>S zk$&xyC`f42m2#ygBJNIl)#jB4Lqax*PjJst#3s`db3){BSsy=U)18H`IuFOhXl_yO zAl_C2V@ltB3*Nieo`gzqdZ4DSN?lTJI3VqFE4)Iew_6-JADb@hFc-6=`ooZM)frI{ z!xFY^-FgEz>DIan_}?tysa;$uW(xAMNyg(y$K&^+_Ok@?CphJ{)YNPa)r8`jPzh!7 z+8!pmbs~4w{{d;`O)=U###XGsOmZ56SQhSRkDX=AOE8f168uxRuqTvb)z8=6R>nUM~3GDzZqUZ1F;$Lq~se3%83&S4X^y#a4|qgo6G-JT%pV? zTDWT__ia-`wNR)k{MceorB5fqu0Fm@4j79GYrSVPGKZ(@Z{a3IJ@lei}$U*US+zB!~6OQ87sr{SPdML zaS=52x7FrB8iO$|(%FVpcYzUK@%H>namvd)m{+MY5K)5^lqWO?+K|ePk}E$Yj0@Qg zXf5L+mNz?;6$(FI)aUVj(nf!~yS8=%*@OboC|F|Ml&2&vWJa%Gs=BH@!srZN4IasO zWTJ8hOuCCz?s!Dh{1p1E)8G%d&bEFD0MT6i{rNuqI7y_VG8ztlm>RR6DZ4ve`mV?+ z{BdW#b;7}OTBpWVjSOD5J<$5_+lZ-9!H}(%esA^dKs#{q9d2HW6v`mPM zo^{H1w)V^;<3f-tc63Zo@sS%?Dc@s`6oZS^KBR^{=!x%@d!(vbRw~oWh@M<#Bgfse zva)(A)8*zY7E$$`1}Gy0Q}zF0?@he1Zo{?VTZ#rl zDl(<0RHBffL}p3RB#9_v=2S=|N@h|i4GNJt8KOj@OwDFO<_1EgOeJ}bQ$2gH@B99O zZ>_iW?6voPp1AMda9!7V9_KLt>?B9_%&&xC0t=+U3_6g+A3O4K4g-gmh7O5~x-Iz6 z5law^buK}{cV%A#Jp>>dx;6JZ=o+L|fU2FWMIJvE!iD}bJ;bp@IR-li7Ng$ss)@XL z>(?W@*to(Ln++?R2HqKpT*$fh5K8h=hjRgex6z7k_s=D+IcnYXms=8cVFF9KNBqJ# zm#-*NsQ?1$4?QqA&5ikweSCb}TFt1KLpirBea6~mk2|Zn)pi%F%f@16qj5So(zgCY zx>AEo_^-%Kd>z2;NynahE>ap^h7_X$29#0bJ`k8lN9wmy_5@UoWTkqu>U zPByb0a$J@>U2B|oRZ?2oPIkwwW-rYXCNDDfL^sG*Jz283yliTM^3YU-Z}gPg>)8ww(SP zzx#?#v$SZ6h1Chl7n+4dLQIft&IEByQeHj)rUPK2!y9ACYf+i^F#Bb)O+?fLs3nu@d&rM^T?Fc?vU}S&X_-i=ZftWeYSWvbnPl3JQ z(ewt;w#=qVw!g#i&#U!)r>DDaVParYz&OFhz6G~eIO6$~R-m@p=)x|R4ZrROh!x}C z!FnnA$^iL!*4O90{`B(23m1Na$f@g0eqfsxxYEbK-VuNo8fr6_h-iRt9H>2a%5AYP z)8nh_Dfp%D1Cu>Uj&a=dwWA}paV=~SZkB)I`#08CkGFS@{}7`u=J)X7iSV2~m%(U* zk`h+%u{`e?%|Z>4zx+4JZgVg(!4IY1xigfn1nz2BWn)9bXID>}OK51Aq~wNp)t`xb z;VO^X%*@)lq4jm$v(nP(82IHmcTU5DJlko>G*kYOv4EICOi2aQm&Edcl_&^rzJ-NK zlos+}cy}MZt-A4h-F8iPuL?FSE(NEpSky?_alTc&2@SP1MexigW_K5=Ph9SNV z#`VL+dkqY_(2Fpxv!;QxUxM2`bn3^=>%%E)$on0C>ZBZ9b$705NO?C9Z#8tW?FA|r zBz`z@EJ{mFJG=u|(}gn~9APz750K^;xOj3d{g30It!unA3H!6%z}OCk_x63;XDGr60&J*HLQQT54mvZP0}~LoV*2(Y8i%c|to*>-!U;FzviljM6+Imd z=waam!kU@6`7|6H7zf_qQ`2C8yDDtihkLqo*|OUK#&xcj+WU|mg9+joxIMY(MKtiC zMAiaV6?9A*n1iJl5D@`-On9JntmFFyaK!?t88bDE+D$i#-yt(5QU+p0fiR0($K3PS z%)%9;Ljnh8ImVAjC8yz>l%}i=Oig=w6J1`Qr6Vc7xalKaOu+klKb}8Lp6_5C0N9ea zegNE35La2`1OF7^e_L8vF)>b_Jn4}qYqIrcA&3Hx0*uuqaH5c_ojP>YaQ^XJ2%3*l zotTJ7Yck6QqiL8gm&W=EFqT9-mxOqZjCk>m>~-B~OUzZkFYq`Tb=l2!@yUKJ%$+)c zb+IgdXM=$0aMXt1?s{^<3VHO~^d|ocl7WSx{JCv!#hneY~XusJU zOZ&)+H)I^IKfiH*U2S4*?>3L?y&IHn-mkqTvwTa7%GPPZrDn6H-xDo;t0Kw!$jqUe z`>R}}{JxNh@sjw_;~C3dW)F&v|GZJ6x;H<6wD6)s-=Mp}=j*$uXUGS*Gj)nB^ z28ckARFfCc+VI{YC+U*Thx7NZfM*CjIfFssrqcP_*?NEShq1uIDbes01}vJq4NXl! z$d0?B-rRQZ&qVv=B7)TK9pVJ5ce6tQWzF`lTjgbPXAoRD%#*;mLyvS0I!7~#Xlqy# z_q?=OlH2!*r0tu1Xn(*aX5YNIViun>Lj|@acz6SMul8vil#i(akbxC)?)W+_eVB!U z8xV$iI`sH%n=>G6m4J=CJQA%8X%fLG2(w6gW&p&htMmw59>{o0%b^8f)FfZ_`BV8E zm?{3|FRqq9Dw~k~2?^aCmC5JdP_t@z#mMB7s~}!pMlsYIgBZw!;~v!lWGo%P2#XjT zcyZ@{4*8*9)7ExwWWTN`HKQPd97F+xGZrwTu!j;nR7U4=HUpV4$!S(M1 z{$9S`v19jodV9b(g-BEN!K|T4UD-u(OY8CMA|rXw4o1|*x<0=%;k53J{-GePcrtjt zRoly8u=p~O9~=m?7zA!O)eyAJ@N=1&ByUwq%SKx@RcsmnEvMYAu0ObZ02C1>D?e+{v@ zLCR(P3NYqq;IPMjn*L>bMk5{2HaD(y0zo2m(=6uPn(+fpr0d$3}UT2d-5Q1e1Q z5ksL=k;20wEDX-4h9MP(iriPPs&2;n%zREbJBs(s+X)Y8ew%&)I<>;s@a?Dr$c~s{ zAt5aCYx4H6e5lfT(UwaI;(w~i$m>pKaNnfmIE%D7-S`?`XtfkFM zQ&A8D6oXnp9RgVyes)ZM=L!mjf!EcW$a7UP_luCP4olBPkW1gapMvh9qGT_0({3@_6D0= zqw2?KFk#4`lA| zhVDB8n1?)+C_R9mKNtfF+_k3Pn$9xk>gVMeg%$l7&VZv1Gb34Fj2I2s`RbTMsRBRo z`6KKJw!pfUb1olKyniKmlli=Yf&$T5Pz`{`5Sx_5iitY0-gI<=U+<01FDNK;LuGcW z+6Lx(YfV`%>-aS^82tX#Sj57>@LQ=WlO=_GKJYX_m9nw5Jq<1$eKj=q_-dG4ag4n~ zCGdOTu=l!x14*^dPc<-g98wmCy8>UHtjGX*E`@O&?y}%zGaX3yo-90Y@-+V9y@^JoJ_BTd?dr{7Mb!C*#%kcZhozZba}14uyUpWHN5gKv*KD=oYmc++5_ zh+xs6>h%U&apwrs334t0JFyaH|M?KHsG7dvm11IQ&(YE^Y-B`vW9Zd&sIl7^fSkC)Hl#mP$`gFGD3~rD<{cPs|Fu)v(*zkBmL=Q%Ib;Z{;>i&O5{Uk~cN2 zr0d(UwR7p%hwn2BKy(cL<|pv1@5=F&Sv?~?f{0VLa?D3A)8jT?<`_`pSm-Vp3f*%L(TB?5hpO|?&pwATcDU;xNK?m}>a-W&AL zrH86szO;XZZ3=4&_%m6dsZ4&QoJyyvYmyEyVO-j0_3^K0WAGv4SJBl)DEKkW{_LaN zf&!ZWP)pT2YPVESw7MwVoaqA>;*D|ZQe|aiD0#*Yh$?i0p0(=`4kgW@VrZD2f_NupeC3{CQvg=XZwxXbO*XJ|aQK6)fTxK&rlEZj za&;FMmyV`GF*jw_ZJWD~|Grcc2Gh-DM*vNqJ3hakgP9|4r#ag)7&eoAI!flC`L+1$ zlVEs2Vlt!3I}T2zqJ2-u2?m-m#zfJ((3agP`j}Su)qBCG$Ao8!Yz36>%1s9x*R(Lm zlEUYY%CaR(4pyzcT^_L>Js+J}VwcGk-P-ji^nO;Iu(`FS<_vlh${|PTf+m`3rhs9;d(b%YI3XHV2pD+g z9h1bpqcHm@V?z#|+K3Pi>L4G?9G$C1E1&T?;UdkjJkSdG#>aPO>Rm*eXtm-KaX3)j zT58%uHb*WbsNEP0v|6E9T7W`YIbD2jyJQbHJD(>guy(WE%g*;xdxn(K&KJfvc7hC-P8y(SjlSagu z1Y7eJ-COQIIe4{7Nj_B6cpxH6^5HLjE?r=CQXqrMW4vU!w{?#gcQjH`_kEqyUH^l% zzPkD}_WGa?=yNQxu^>j*n4pNEl}Uh#^PJnsTohA_KP=nDE@f0&RRVZ+c0S@ z_ieuj{dCDeNyAn*i05c<))EaAoq|O%vfKZzvANk!ZvXV2uOF5z63xMF!1lfi2J;iU z*KbX_@#yG>;5+gqhJtD6>lb4(5`=;xWSs72TJAD`(jY!r8m=fZJ`txcM)QDuU;Qvo z-{&xn7urhw&Ew(p!@?L;H_Um47Y9>6Qu}RoU~|WrKXXNEYwIBPb!GQ6BG<|zI zXKmnUKDNdyYYzxrkgFQQOPFmIpI9dSL@liz8=DU5Ev|&aQ2Q~|Q33~ebHNZFIS!=4;aSZ!A@&@f( z9~}XPo2LLefK_fw5xRI}3M@Ar2W4WP(s>{+;8HX7c(&I~DOb&a@W>%q5L`9k$nU}I-sM9#RDnCpLg*b*S|>r;!hVc{3pb`d2|Pfri8vmyV5 z!YBu(0EvY|qGwpsufVQ`m9=^$z6oE>v)G)4Pqp`Kd4u$!2NJ{AB|o4A=_`|Zd+7wa zXkVc#IqdjEgT@&?fG2`m68)AWlucr;%`&067^FXv33BvtUUgZVI73(05yMIJdZIK- zN;9i*M$H}ijJprOWJn7JrGi7U`YHNdTl4jjN`L??&SP)T?$gDavXA|;&!6*J9=k*a zoSa@n@_B3v@V|QTR5Y-G^)?F)Y+JV3YlVKy;>RKK++#;Nju>nXyhA6{tpwHN=hmLN zk+}C|on7voPuC?J1%pIlkZ>F4e;)Sm7>daE979#E@s$H5AV|NgPOM?FV6n`nw1jY z9g_)Z{PJQ5kgNu!ERJX}~M@IZnovl9&o{Xxt_OsZ^h~V(>3VdfK29~ZrRsv2G z2^QuNNyqCsPNyaIPBL|@Q2rS-wrgGU<=TXM3$Vd9=TO(vh1@gdZyf^>{yvGy0hknI z$E-5mv=wZ@E;q;%(L-noY#uj+o3Q2Xk;H_AFylotYmby99yq7FT@d`m&4s!?iW<7w z+L8ixmO=2)2gadUnMgM*I>mN9M!%NpeBQ>v=&saXMNhw^w+TEJf3Qxj&4^rQ{mKXS zG0BxjQQBfj&BBYrqe1=TNk#M@1pR@A`Sx|_%<^7Urk0Woy;rVRiw+1&Uuse+H-Di} zyIPS*oB=~83r)kLqlKjO9c99ELEMx3T?SYM1=M0S`^{H+zvi7g$8iLaZ|<-37N8U< z8+ekK7`Y1#cZVd0Ek876gM`2M4+-M%2EuXdl98o1wnWWN$E`6NNY?vjtedzQ9v&V$ zP*`C^UkvTcD_$5BirH-jbXQ(9Su;88p)}-CXtMupmS1k$zWII#unj0=FL^(9b{-ew z=l-VIeosHnXQ`d0RWfTv=0z7uU8|hZ+3aa@^6XMZn5DPtsOgh{P<$YJG;a#L!s`6`WA2_ zC>F0&+edM-6Iq))Qey^2v@Oj8ZC?tq{ua0ra%M8Co#-7G*$ z20?M=><#{AxC1xb&5fsUy=WJ&QLp{TlEMHj-`+!zHNWN@`XSX^!H;#g(A1rYD0C%z zi0FfENx0F8*RiJY$n9Y97B&8h90@bCaz3%9HE&;p@*n?@rXHviC~iC85QU!p7W!?# za*Mr&xLg!klNbD0&d*sMEm(d~z1cS&t6q(j`99qcTx)3-)5qM+x68ZTySuvjtyd0d zlTFntuOP9z$jSz#^NC>SoOrU8?1&c*HM)SBKT<=a<0ckPX;RU7bE*N|bM2 zYC$?Iki5#XT$v->S|b}4UtM|IqDfadr2Dl@rbpFC*vBlE88bT3JNaQxLa(x-?KoB( z3Ue2Y*?i&4Y_$=|EN?v!(Qu3JMctbkBe^?v%CfNI5k}H95uiD}$JEIPLeUK*idhS* z=CS)FM7Z~Ql^gAtKj>MyLq=XcQvl`;=z(_VYEM znhb71AIvEu)CQ>@_?hPWniGyM!Jq;l5v-r3($22EnNqx-$3q6q7v)3YpvvZ3D}GJZ zo(Eib(a401ZVi!}{(Fsb>aU}+3mUb|$+)}qkSI(^vr;;oG&TKfVunhO-G<}EGqoUA zukg)33_qbc$miG&wg(lc>#o7hr~?ooXWhsJ(Se=jlDsT8FP^v!1TClq&WUovc6gc> zbsvbgvgocUZ=WpZD`V*bZx^p`kX4x0y40eO!19Z>nP8T!^iT{PsT+)^3{kcMDgKbS z59%OP{T_5WV-jWfRg_CfvUhD62zaU)!EVQoFWtDYrRzt)Rt27>NK4I+n5^ku$x*WP3~zOuEo0zRNO@*MjO9CZQK z!ry3R+x)F7I+vcfycAjoml6j%yX;k0Ut$j#5P1EtA3_Gpm`_;pO+%ZYfG|`%BJ|RN zeb%feSmR~iflln$zu)1$2F!%&+PI*rGncOAm$Rn91ia zU*0@D9Pt)CZCSey7~E-nzi^{H6!l7leKgdqj69jgCWQk~Jp&PF9qF<;e3+stk;#jW zg>|r~TBGL)_A-Yb;(?ZYXx6vjxovStJB+>%-{j6+Z-~vLLQ7x2cGQ@ifFVoJ>I%?Q zvpl-u>g^~6G)wXLm;FuMFulkY5~kjOC`ZQa^^hcDvl z(5DYDk}>dZKoMiL?sI09OjG=6z0YBz0wwGgYdOIDD!6K1e-YD}!044V%_8%cBcg2^ z2HB-~1K!yOi&bTwV-VGW(q;Zj9O6WLNBb&lygl83`dnC~EEsi!M}kJ8{SZuRKG&y} zeFvmR>c%FQ1eM8em(h|3&Cdf(>Ryu&N?*$R%%W6!5a$?p6RnlzknS3_=D(62qRJcf zYm*`|bzKUwt++QJPuhT9oe9F}Np!dD#wKLH7> zKhkw}-ww;)+jx`IU}^Fc4mjdYyN!H1P-te)|Jfcf$N9E{1{%nieYl#Us!Wv*JLZiG-fsxu%iw?}ivB(gh8k;%o2D z8hh77_B{sc-N7?OROn@sSziIu08IV{tw7Z4J2LyRTDVL6u&r+z>tM#F^}_TD8eV_~ z7Wk2_Ps&gQ0bk)mLs*I?oioViF;H^w>9WeAeFmB>wxbV#`uMVJ%#xxPuF$`2+4oWJRv=Sx~rtY}Z2x1Q0m06gO_UokCrGeJ44tf|6F<+8PFKBj?YM z$Ee@Qh#R=;LV!jz@&fn`FajSCi=6>o>Au4OpaQbnH#c+|-gn>wHIXRijERy}Bx`^V zA(|uA`05TU*z7hgoE8N6HQg`&Wmt&YgTTe^wcbDHFbIpo+X;`Y*h0M(fa<|ngHWBUu$ZnOcsydv6t8c8fM-6fP0?-HWq_MUWuC+Lbf zUvNEBQ+ZE=mD!v)_})JD+DO@Z_=XXr0R8kS0E4@sk&!q&aJl_208coIO%(NeAnzStS z@$H$!c#Qqw%T|pqTK55p5^oxGYdp|1PYz0MJU!!AKmtLHn0oS8PeAQT@qPFUSZvd( z+WT&0W>z`0;?aQw{rdCO5)>Woo}S&%pLBWg_b6?JLjgW7K*=f%;$+gIkf7+SslrXC zV&SzEOO3ab^>;Ub&~p%LcR>x_wW<3`ch;kekI{$|0~4Qx0SkZ?o)ByB%*j{~Gdv+@ zV-WK-00XR?Z7<1N8k8*Iw@xA`EUXOs&>+f~pi!jpHTQo`f%F*RFbkXaNfY3d;=Z`CNVVv}LXcf7M#c%Te8Jo(@O(+EFQ>v$A!K8h#x6#W;U zo!&NwSjd3Xj4|SKyVupvXloBr!X^XT2o*CkVFc7+C^{1zIObMMF|&m5gt@_xcNUR3 zppS&)^(^GUlt!7G%Z8za}&M>@H0xU4IxM0z>|o_Z1bG>kTm9C2f-K=hmBF; z66rQ5d?{5F_XU2dfwAS0`2z7=?pS$%;RR8d&377!eEw85t)AoSt`^>LT!1`yDY6-l zz6bM$>!L7-1amGVdI!l1!KqSyBOxMkT`^Qi{`TbP@bE2QU4?~(1ghKR;-8-0URCgj zkZuWPwnWs$Q*pQeO3=8aFGi6}erm#h_&g6^9qBsnQRM^v{VbgXiZus_r+_WE- d z34jikQudr0^E=(uApwClVv^}k%=&GY3=j<^R$uH^W1nW_gP;XRvBlqtk7vegLlTo? zf3V7)!1YQeVOL$3B#*!h$y?2@POAUM1+d)9Fl}B^o8$#EK5xr11k1+^FL6};?oF>>CY((s& z>ep5M`Xj&`xgUDu!De96hcw-Ai!RcP7_!danAjj_FR0#iElkv{Q;xW~MORro4hrnQ z+55am=Dp-d7xrR^&Yple+yUpy`}gHQNs9yCvcK8k#W`Q|ukx7~X%+Q#9;gku}po=TEIIi#8}P-T{Y%v8oE$)GU{_G_;@ zQCl@+diN<*U-1_x_bK5$%IkTAchWZ3h$M>`^;V(4>? z9Oc*#BdCcs1CFoDMEIB2^tS2F3Fn`4jz8qwXBUMY7lomrA(i-Q{6lmFqjVl}*MPPE z!Gj&ixqH$L;z6hfVR@lh2>y(D$F>RhoLI|U+hQ4mo5Apb;Utxc-L0Wqm@1utax3)s zIuI$#bq^n2`xs&^%-Um-R`xj`rEe*Yk_{3oxT;s)lYNi#g8s3~73q=mUxYz3st!oD zHpBlzU#vbbH{;<$J`CVMg5cU+%qfx{`J95{{*Y-?QY!8j0t6Zq9s6{i+!k~V1xQcY?qoLJe{`!g!sR6$`ap*tJ;w7 zg)_IsVGfH}v)@Uzz4)tT7MLMoQA1_P54$~$*KA;R0%gfk>OOzv%^SVyl1jtz5{#_R z3Y2@7TUlhV`wQ%jXq_Rbh3dFV41TKr%qRtQCm{O;-NQ$Kt-qv^2(x1218yc7?I>`0v?i%>bE zbW9PS72f(^`nF6y%bX3Noh%HlquM1L7Uyr_+k4S_eU5ihUfN%Pp|O_DB2V~cq5;2+ z_M9M{60Yu%+ml;I)g$IG|8rO4KQAF1Aaz@^P0pXs%gc+$(~0*=0@IcQ2V!O}3RU&P zL<#zROZDxy&HP>57If#Af11W7pUD5;H?XW%5e^u-FVl10e_?sCy3xH7UVrTp_N5kM z2ie3!RRdh!2H9o`o3y)Z#7}YPb^eP2H`stMCN|;F!Zo3jfDEs-HiDQ&@05KBuQOxr zC?7K?Bm36!8t=qh+1q{lKIfWwwA4uJuIYcGsv*~hO%@a?iax~)MRbV2PBdEX?&}G0 z1xdkAO{z_IIqo#3*jo>CbUWI5vG+>y)cTan!~e+CWg4i|?K=O&+2Xqe?EK{5@m`LD zG!!b%v_1(;;x@YV^Tr!Yy&&$A>>IXyU03MH@1Wh7m6Lv2ZBFfu5|>5Bk+$Ev=5oia z(#dF~DvtDusFWzt=1Ei2_YBzbu#m`F6P(r9mOUx@OI!8n*xlK@d=yjHs};RDEeGBVQIwGe>#krwP1I3wd*Wu|`0BGSXj z(D=~p5ls~3fp;$c*~y@2NVfp>Di%MFBF09g-XEph!&D>F*2cWKAfoRW4|#u-pOzQ$IK8#8VD55X!enk zfQFI_Qxf7>5j7442S;-v4WHqjWd0EUkzoC@?{M~Eg1DBU0v|E(uatY_P$Uk$<+jjj

Kv$z(WF4)t%Cd`K#K%m+dAC!_;F&Il5;$E zHIU;{#WLDep?ktwnk>6V$zp3Bfo65Y?!v!MSEiaU^%@Kif7av{Gs*jk`)P>8FD ztL>#AI9U3;>4)vG9MX*U_IpE+h`Y$_l!gX8fO9cSM#IW1R-uLkP<9^U0L-?Kkm{%r zKIK{Y%v1{3s+&~X3BH3C5QaRmz{VUDzXNHtY8dx3ViDT{Gq5$Lr+!+2j~LRj8WL3~ z&0}kOOQ+aL-@f@6rE4Mki4lwD0m|$WYIyK`(i|a(fq8gt(*#a7h7Sa%n3qlKQNH#D zX2N|WcAGBjJ7e80uyYL|O=ZwY2eRpmD&^W2Kz2$!8uaSY(R4pS`;9uV%nLgqg)ADR zkR9j~yf7$~8pGaV*hp>cADxnQ*hrfdtL`=eNua-!Rup6_7j8-# zV5`GlLQWSuIC=S-|?{kl8qf@px~MB~D`c zT#qw$Z1P0-`{%D$UA?p4`^lLZ*{%spuv%`;{A`V9#nlD8dNYqRd=|`~wM5tfR;AR_ zJhBbJi|}$9FR*-|R^%VT_@y2S`tH8BjG+L%8fUUbCF6c|N1s1J3P2@6Ctk*gg#aDk z{#7K|m06(7na8vlC0lHTC#Y(Jd;la$P%Dzkb1+|kjUu`_VHbDWG=oN}Tp&+DMR?B< zj`rKm3PgIap%R6rqZ4k1jH<~t*!G;LQp-YJi6Zy(&*d6%tKvXDMzjR?OPo-}NJ@VF z6tk5b)J|dNVyW`JJb`s?-LmmW*L2)Url9~1>?N1{1XR2^eL(LF&YwqV?k`^o#JLQ4QwiQ`IS~fq_LAx`n5<`$KH&ZC<|Q$0r{ezIpyUtN9J?4rHHh#RE+dsNHZ! z_laj1KX_xu9u%^^Sb@)(jPptMRZ{Z|qr)P4{Dyv8aNrBRg!e(ZU;> z96(G6C@!R7|J8R|`;f>rbndUmBYAiR`uoqCW_ZUo=EldX^SH1#@SycAE!E%(hAiRv zxdT&sEx4K>sTsX9KnYD8h%5(%{iw>({fS){Jfy3kej8iI;0}gCMx?+DfIaCC+Oo&4 z=4>uLsHx6W+|nWdEgB%MX;sSm%bV*bpQ|-9FO`#PNHkrAp%Hh&A+h}uv^`?f`{VQ)|T3hYy)AG`>vB4J=!kxqt9W-x)KqU!qrtTak6!H$4ad*K432a_nZnkD> zeJ!i-@l9NoZm`-3^{7%+y)%mOC?2=GmaDTvH4T}5o)2Xuc@#uhu_-CG8ut&Sfy>6~ z@i<`zUWeI$3uYsCPDA$!bO%76civft=Z$f<1*+7gBm7gxs4fepctYoUUkRZGGMID7 zsO!s@O&4{qOT+Mw+;u`S2@s-gp4`7bd{~~QOCLE&5~D1yt?kDFoS>Lu@BPW_rKK;% z{m)fY1cxIKBiIdahm+b1`EF%EZLm5Mh3kc<7SZ)ryv|jZmJMVPfKYE2&>B)QbOP%i zc9|#7f7CUqQA=GaCH{#ha2qiIuE6NN;?9z^oKX$DHI$Ri)%sW`;fzkgQ*gqj0W$;J zAN5WbZaUE1vqtIVIIE}Qu$VE2C$tC6J^u7xn5f*iMTRX=Nwm4S*}qT%Efi)PAs>)k zW_H*R1-T&Lwlz)L)}t#GtZlNs9dipM{k>?#rO$zkV>$&Jc;-_uLp8_PyDJNj z;r46%e;-(bB+hC2TT{bNh3NPJ7|%GoJd?sAQP+ZzMAG4AmO}@ z?ZcqF8_FA+I3kr>+*4dm&fwjel`GG`PL-ZpXu39PkEIxH>;hLQqPgR=RgHRgnpr$ENOQ zq8OHj6-IfaJ!Ftt1DJ(Hu`4)~@Zz9k2PmBGpKc!C zVQRYR)l$hribC;0Ze4uLFo7)y_0)&pX;J&%*E3_mV@2IBmn23rVWH{70A8Giz-Fpp^uSoy@54^cWzodUi^ zmLQZBR2?h+dz;SQORmD=iS!3&7>$Pt+DDWGPlD#JfHM^nws1Nay*RLODoza5W;dxI z-Xe~8tf+LDdluJxPg0(k1ri=e_kJw0`?;cd-m>KimwGwUxW?t<=cGM)o@-pC^el3b(pIF&t6^7F7wVX*N*!! z+Q66o-`Mo8*5VnUA->ew`0iaOJ~X88Alh|e${NcJl^>KOp#t$Y;X}P%2)3XUMGors z{k*T(S38JK+|z0P?l`ay=(Q|6wQ#phJ$jepu^GLa>gKEUON0bvK0qF6j^#sEmE=VZ z;0@5fi>oW#Hdz6AUsdv?fJ4X6w$us3^Jx*TgL*^M-$us9ObonS;3!vM$N)E!4Pq7Z z!RLY4lp8e&jSB&AV{@{cA+>^N;N-4H{}wMkNJ7=k%>cPi({Mvnlm(0+0U5?@Se4sn z6#9eS9ET1QJEE^a8e+PY@g<}%caS=3fga6Z&SicHhyn27d2m?cy^ghE$#a_*WD$1E zeo9d6PIdE^BV8LJCz;{SJSU^;WEKGXk% zgOD{Q=>nZq_+vAzdoDL^_xO|TiG%v@pJ!h{{`&iGMG8(O!mL8vHL)vcAH|Fpi|^-h`1|^nxXb^G4Y8?fs$c#GGUDr<{$WmSkAeXH z4?3~X!Ubf1H8aX59->1W3f--21xMjWX(Mxe(5d|F2#m!Rfe72xj=gpRu@ALW#l9DRyigCJ@ zXUhKlA{yN#PX5XNem@ucS*HIoP@0qq_~O(oE3x~Mt`gdAqEDbxM=4bn%D0ZDvlJEh z^ZN(6`lBaMa1911|7K!zz`z8x8*Oq2B_UoDAl@;K2dLXRQR3lS;|!cmO%^bT^UbX| z3sDMmKm$k^8}5T7WIE_FE#N{=5$wQq@qH;rI(ifiv-~)XWn0=%^PfRg&M3yu!O-H5 zY6~UUfZecFe6pozLLk~}q)9bK{$j?%6mVk5C>|TQG>S0%E}}ont(ZAH3-i~{t;G?$?_S9ZG8I2B1pwSRg)g zd3gh4e!pKq=q&~u4sDNtTalvCqfY|;TeZVDxH@F&J4o3IkX@fTjTaTtdlapmujSiI zF*dateUO_=8C{@YO~+Rrtd04z09A#Y<1z8jkM?c2+oY1Fvi_A284toZYVgg*uLnWQ z7`x*Ab0I1rwub|(9D>D*|9oT3$<2K(v>LcBRvo$>X2w|C=;MH|C|KYcAW$=vu@ESl zwu;;Nc0vMqiZK}Qw<1p~kY)T#GZz224>%0&CkxOYvoe5Ccca2X)5ibfepL^cA!EJU zy@TQZ`z~=9qML6ei~r0e`Qe-6k1c+jqE)sSLUt(2GV@KbN=^;MFE)c11tPMrdRH=l zd9gYJv&o9j9^hL}Ii&e6{$2cWQ%7ep@6UUS&R~f7di-y1dM9yPu@ve_4F6w#LF@4pI{Whx5$iqAw>=D)YH5?;DH$=lR8vYC*7YQ?LbI<*N8EdX~dXxMu=?SL7)1Hd59%_~IB@Vi9$x3Bm+s((ItzNN*n8AoEHG0L%hu~=8iEfrZPl(zhEaC2A-ARKCd7UxH@5v zECB<8HOAW$c9BbA^jf8;|F{5D0iHsRLdf{!$b+ILL1(;sL{BEGUhlr8TGLuR;3)J0Ex<0t+r-MWUrQxQ@-^YHBRVd&8d1#Vs+uZuE8lL+8e8pfy%?aZx z#^&X@YXlULj9u=IpXgnf#XOH}ckgDuH{US@pkUC`OXZ)8Qx}^(#~%9)Hptig1hg=j z9;@*Fy}8K?pbAf;1OiXt5mj~+!^KlSUml>pf)aJ?>*Sxq`%YI6N?*_TiT%X#C0)1# zMy|xu!&cEv`-Y?4alnPAenhngexPRphkz!ZTv=4l-zq16SDHV>s2^;B2et>M4v2`R zOFd7d4!sdXcg8+8hIIf+v7-4n+I1~2uZcj%?Wv#_ps@zlD|C6F_L*UxvoHo)Wk>b( zFVznNeI&C|qB5vVZm|c|2yYr|Ya=F5Qax3Pc$u1xg4SI&96CchjAj=wGBIks50a9p z_r&m##iCM189zZxrDi@$5CTX5#vIMju*oHR@VKNh6^dinr&>)eps>*Td<@NDAm;1A zLI*HdDL-B`ZW0wz`xood+AY!nA^hF?3UsKqcBSkvHr^;Q4hJ=LunjS`+HC2$ODEyz zv)x`bZ;c-w{ct|UqPeBGK}hiaP&8V-2#KgSRc0Z--V4v)=-w%z% zSu=2d zp1eHq=@r{626IWz=rNOrcTc>zaqQ!ULvQ9*dPRSFEZaPa)6S2v8CwckGD(jio7|SE z>u*i_@{>`4ZX1r=RRanvEG*c3YK(lC89d^KKB#vf7MUr1?at;F#A*aNB{L|S4s;V$ ztY>j?@tlV3{Es|5T3srts^-E=_UTX}X446-Ac1NAw4tUM3ZV31)y2sQpKd znG=8j9DIHwWWi^X-1JHn9pui9YuEk@Qp?Y1{lUcXbHm6@q_`o9O5-KS4F?e~0a-HQ6W) zc7C|@=HiQAI>w*&OMP3V%$}G5tXyLNRA{oGEo{DW|BoB(YFxc(o(jcgz-Yf)!_)8wXyZP>VTQaR;epL$(LFgn>m!P?4I56x z7Oa8@lRNhVv(K+MtH8~ zc%BMiOlIH^Hj6Gj$sAT{kSFUaS1wVc(Fua;e^?GoGZwO;}XTVIb=aUyQC&QE)LkG z3A7x-_$!e988lntJBrUr3!u2n&3V-LS{DGmhQmT@N(6 z-l(1z>wTxO*yU7-pMTvYQ(GgLIItmL=Mj^rL<%kfrp~U&hBRU4Y-h5=!<&Fex6DNY2ArEdeN-+fTjqYJ~g3Vg^o`OC1wyDY1YI17J zAC35P;zp_kP86@^Q*gPQklywV&XuUr>ug?Z!B&a!MQ$7GXYb&8ZNPjo&3DsO8dXpL zM}EskJpxDJV+j_&s%b6sF+Ud;igPcwnSmRq+}3U;xm zLXuisway8q=y&=JRRnS^)fm8unvx!Q1hY=KeQeLUQ&?!y=e7G2QhgTWBEDq#3;SC- zn7B|C9yao|yL;&)eD2PT%ZWQdH2>y_kxv^QWM@kJ zwsRaFx|$F%G!J0sGW8sgrE#anm9EuSiA;&=pkZuu+R)bx=vXQ+p&rB=!sxmB_#VV0n*7gD;sQH3f&?+4 zz2+Wpu!FtGT8Aq!G2z4oA@LkA$+PxpadFeIBb9?If|0PW!z5h#Y|>pM=!CiOI6rBc zAm|f1d-$;p*haAqM|+1BVNZ0Pnfjv)Il@CKzpb14r6Zb04R_D~m#8%JKUTl<99n;5(t z82kqvwS*bOH0VxtJp2RuBVui%O-LCixORsM_g;vt2dbk(I7|JG+(gInR{2UvRzo{}tc`=1!K~Q!CRV`Y0$_a;iB3S~W zWFs5x^&2(}uRLw-9rFX8QxwTU2tMw^T)^~b?09*3i$OSm)S?`%!P)&wp&WX8|N92T zeCd;8&XhM#rh~x4QRQ4fVi63=P)V5MQ~`yILRa9d_CmU5>fAZX2CRwovA+6R8>56L zn4-c88<$=NT9C(nlY!Gc@(**p)q>b({4H|1Cy?$N=k)|EeDX75mNY58Lqc+Vw|m6nVCHgq;oYURI`GE zaps=$kakC&bT>v*YAqoA1Qbp|3i+e0yEm*4)ZU2Aq~Mi6ytZgWkWM0w1$b-UE6PvY z4GtTBh9}%Ms%J|6>^(g7(YL+eReeDl=?^#w&OK;9W$bvuiZKQXriRr{3?WsoMn#Pt zTIkw^je;-{t)LJ9S2Sm;&c;I>-P<_TlFp>xf+I2*68!mi@gQMaVtR5=6H-~1ho>-} zpgaMi5lk8%7Zq&ifNjM$02|yO%Mlc%7qhALLq7f=8bwm9$E=sIU^-hGKlK&sl!ruF z$<7*s7S~qx%WL-M#p-LC$L2gZ9<#KewA9kaLv0jqF7vI~TnySsP@Rwm5JJjk1GuCn zAFv`eNs5TD87Juo3M#=Kr_qf+&lclB!h}Tt%|#G)E%F2Um$m}PV&qFJ#l@I;p$?!u zD8EOJHrr}1&BLk5g0N)+!zcfXf7>;1rU5$K?Q=RWWb5Eiis7SkS80%tcyo~{e1LWxtKg;G${|G(WGiCtyb5C+LhSM zI$Mvom*G)ENRjI1g)G@e$ijIGKC6_DUm8H4$e5o)yt+VKQ+6w7FluJg^#{U>Zux4N!!X zdFf1()IQHoj0K!Qm)rbgY+!C5sqd2Cl4cva$)+w5I+<0)?^!1Dmls1rIHMq(T z5ka~9+@iETr+*mm@W#Sxanl$PqPj3GjJaEIYaz<%l8%2scdPsmEe6nR4x#$_S^sCQ{@1&%PbUYTN$?Zx8)%ruXg9|IPF+{NGIP zUZwy1t^>8dN>O0?)E|%k&Gi0%{OWZLuB?dD1ZqvBTjb~wWw)@9ico^qfT+aweX(7J zk`4GaGXoCh7C4a=zHqg2(x|_qnCaF8(XQe06QDHp%^i_erp;-BEge{^FSs%im2cko zZxgNEnc;y}cLurwM(o}R(FsvVHv2d_a%uZ<$-qy2u}96ug1utT<3sR>##?5%Z=V@N zQ_w`vjSLNQ9ly5)tWy-v8ZZ4h76s$~h(oS267Q>bR!;2!fi3||9C2$X-27%w;Ea#u| zl*!{>u%H7d=fY;HF>z44yq!t`i2H-PUOkx&ZtLrkD+nz~O`R9^4a3|r%8S79NZKUnfL>uzF?#@j4HOtwD&x?$;*Sh39?(z`1;HUiccsK(MXG8v_QCU zYR#X)fFt^uq@<+g0X&rpIP}5CCc-w_AA}k3uCr!CHPi9oLxMEddo&GM$G@5;d_a~1 zVZSy_*nuQ*I$n-BuxAfBSW!1ia=o;)5`d1Bmj*@zJlqz;z|mwx8A|m7r+y|>8C=PO z8Qpwfyy;bK504$X(wEv|&_*%M_|KX)MKC=?U`~yDdobQw%Dh1JM$UggA~JJwO5q)j z1R@Rql57HU+iVL!Tw1E2z^}47yAfaUcvMd=zCC#;9L+x)5MY5A6rDcU{dJ%;hQwTB z=gte?l$u&vz)NOFYskCd=09Pr#+`ea7||$$!{0+M?wFg!x^=D-y7e9VmuvK z2YQt`pT+>(O3KKbg&#huc0_uq@?d=Z$uY^h`yV2X8mXuh@kummH0k(3GI7NO zm4&vj1HwSmNlXml&f{=oFsQRj`0*Hz zkA9(#_4AV-G9Kb2O1sh3xJB$TanGs7!n+ChP#Ej>6ePpN==r)W^O_Z`H8Bo^Z={xi z0S}FyoSe>KVFDZ_Z+GTQ%5~VDWY>b05m|EHVeUK1@AsWeLD8x%7IHd zHF&8&gJytyh9zGC?q|*)&K_JQsCS*{fpxy-LVyG{7A_gq18junfk$sU{DXBht`$We z7N%NnAs8yy#!#&?;k^dicm^JXMjyn}vzX2SD7bX#Qt|WWDK9HA@mb(Cc~k!2cf9O= zB>|imZK~!x`r)aAO$K93;xj`AYTS4EWRBNOIRGE1pzP-^+>2OMSQOH%5XNfc?U3KP7f+i!H{P>e{CWUNP6%R2h5+r^ z%0(qAtJbV3$F6W8CMILZ6m~MG#gLjZ2Mr+JcnVu>nHa8+qO=5bp73B;AaU5qNek3* z9IH4UPgCE8(~y540(&Y89XW*^A3w4nF#<{I(|Ynw42Ttzlf}-v9DsK69zJ}6paG}} zp4OJZZw;_4>vqM#>EaR+e#6K&pu5Oev`1edW|{yWUnc<+UXjSNO_qpw?mYI*44}EX zp*5`ecgAZyK?DanZFIB&|A)OdkH)%h+efb?BqUKX6q=BVRHQOTlggMhq6}rKkdn+I za}%YEsgyBfosilw-}|o1fnl^+UjRWuGckujp&1Pgi_mJ)k4qoJT=b;+eTKlaXI|Xqs z=`o41Mh(Epgd;buu<#ha@oWZZK9Cazx>K|xuPTZO4qUIFRAcE6fx$#m$t4`ro_Nt$ z?T<`6rvycDQ{IJ?$Io~efW9cE1r->XQuMk4wT3L{lEcyo;;|wOP8eU_>lBU{cT9!= zd9ZZ`@uQ#&?T`z^lCT)Fm-_yT*gFp4c%>UkiWDeF#cQu3 zL(5M0E~aQ^d3*vEGxuyJFTxBVCKw|(rKdvosebD?_UJ<&ZHqpG`p9rYmF7gXKRC&o zsq~?_`C3pC_}*-G!2g~IE2Qkx(C`t@PNP>kTto{y)r1B%BjXk;x(3RE)+G9lk=w^k$zT@yf2HFF2@ukX|%B9Fs=6@yP zI)zrjmq`f1uz|6MhXorGB+>0)nk$Xn;g3UUU4VQ7lF2Y8Vtimke|b1c(hDq$@L0P; z2!Nc{eck6Fb3vIG3wTalJoeV_gKWC}!K16cumR+FszLd)iiZM*>nDxy44IB-jJz+25#G02ZJY$tlz}OJ{(7!hd{13dN*-pb^5FR`{7uBrz z6(l!AX(+SVP&-b3@I5Lxj`2rghYl-2tAQSvwlQV0syGa$0(WWnU3!JTM z%kJ?44VflsZ13Xh*JG}Se5WA96)LHHJ^57iQ;@lq`{xr(Wp@lp?AwpAB}jVhNqh!a zmUncL87OQN{t4Kk^cl9!nUzoWxgL9jEksj>-VgF}?H=LHdRiRv z=SC-54GFEJkSGrs%-`#N$|H`&pJ&UHD$6?T3GOQn70+&6h0vG9bu#@$c`xq%XtaPE zHOB0`sXv9lJ{Dft+WX_p%WvkenbFQe49P)yB9DGOa272BkZ>=@Z@gR=f2b&6UeHe6 z8S3pl2Y#Z7&yP1Fg=XcwGW6Vz5mD;X7n+gMqy6`Jnj= ztoGEeiI0=K;PX6qi=5m+HXST{bT%sN=7aDT=K{6QxXp-r)Xw8X&%`N(A#y?mFJ^a7 zZZ6MthWeKEc$^ShlW}Y%Vu)fe&yz46B$1UHZx+>K`Z1bnDXG9@{P?yVj5G|5j7$Jz zN!s3i-|7qA@Vr?;M05`e^DnGMB?ZVd&stw@_=nss97n&v!5}g!f(F+low2ZZJXWz! zH@9#fUu{yZpicQ{S4x{Z;vRyr?Su`CidZPTgM=Agmi+e>!p6P-T#!Qg+91A;-;VrO1whnqbZ^htcN=r!=`QwMq;cI#eJ$n>{18A)PoZ!|LY5QHn&VAMi zoqzA<%%5*c(De1ay)yA7d{Q8~u43>i+RY4q%vu00`DI z{Z{neZ}G;V&5B_Xz;r$@&NBpExvPsUSgD~GW=b*PsJ$=$`9}l3P*{t5YcIlCil!Ca zGOUVZQ4A-KEHOh?heih?ISnlK7v0D8N4OuDp=qKpfT3u z|80V7ESw2=QWpUu;@@!6S9-1bsvDnS7$aCWjUd9$nNOdd3EpE`eeewmQf$fRPk+KB zw3RSls-cCcGf4as9lqQc>8!J-Z|aMMwu9;LcNyDiAe?=iQ&@o)3sp7_4vM-USO*&% z&`)9{cf$k&Cm>omvs-a|G%7;o6wpA&{!Izpkf^Bj+g6VK{HZI@6L$>()O2FQDhE8k zb~J#*G6yCA{wXpl=_3J!u)wG5fzF55k^CHuJtrLCM<<%S0Ng(8i|p%|&+`^#VXn7X zbF;e&IEGid4^k`F$2GZ< zALk2LcVoeDVEXNwH#~4R8GJkaPQNjGF%A&2Z_$0Yw*;J|zuC}(gbktzJZdAz&o7=o zP$Mg{jQQvI_~2PrpdA#8ICtTyb|g@gBiP96Q3aY4JZs&ux(z3-gXGZkAG{$>*XmYP+<8SNT$=!*Jnlerf3ZTAD68x7Hu1h#y$ZYj75 zm}GbKp$qrF-hK+?FvA&zS8WWCLq~qIXq|N~ui}~j>6RVm2WEU8{Zj|Z(J|_cW#$dm zS6ATA6&KNP9r)OjB#_{kJl?vGPJk(wMG_SqHJyeZA2I zbdO@^$s5lOuX1Kz^|zevfvwm^EOz-uar4)8gO({3R{s&k+@tDBrYD*DHoSW($5z&D z~}ZFF?n@TD%%Dn1RA^@FS~oj+8VVPfKz6EwNho3}pfWnQx|AA<^lm;+?SlO@=7@ zK(HJq?Gb7+OX<(h?82F8=Om7z+pZ=?M~|+3@>O&{{vwtP3vbz4+1eg7ss%cS%*DHR zo4d@za6&H{7gU?i4j10)VjVBhobu-# zn?7!iSEHGkndEs7aRbAib^I}XxKBFwb^}wb>&iv+T`44$JF4}ju4HIU8v(Uev$C=Z z>uUfK@MGA1hho$o9i8hsmJRz5Y6*$)_c4t&l!%eTd9W7?Yt)BG70bLC-`fcaSDO{h z@b~NA72t(pajd* z2YTmV-z$cm@^5I>xpN`dTLDBI$!SB!5Zk-%DwnV-+MFS;LZG&|b(ka9V+F9f*+8GW z1Y8ExdDTgvGT84e3>2}zumbJhF!bOK7tg;F{85RhX7Sv#fdR84e7LuJ?`+s%G1ykL z4Btw(*A}P*W*|3+Sd8!FZX-d-?p+F7Z}>QtqwNK+b73Pm1ZKU(8I1OsvIPw{ zBMkjkmkFPyKTgJZ-*ydO?wP<517v<(Rl+%xAk1$2_%i`h_`ui`P6t9*<>?CSlIDJ! zh5O}))}Q@5eqTOlaboLNp{C=MpvM~A&WDas;4SbSlY?Uec*?-k7A5H-!I&2NKyvi* zia>b#>|kcLif%?US|;2r{1;FVU{Z?ax|uAe|1DK1=pvZ=rMwT&I9wiYy+9TofQ0n* zKNH&kSDqOws+TW!25OW8Y^g66*mmfxuf3F{Y(VfCx}Q!KFG zg@M@%EC?C)+vcKCcf%1xzYc&dUOqlQMMNhuW8&-iIn060D#d1?!C*w2?tV2rH95SC);@3H!m<$aAuwDcrh1?7l4~8_PWWvvX`nsM!|Jr zC}>ENd0=X0<_;uuZMJE7d~^1W`+z|}^5n;WOSc}A^bm5K*;Xo_fsdn(j#!l~Xyi-? z0kj$acqlaf=Ol~5!$;WTfd~V_8JZ%mN2U01bWViWN}uc838#$Me?8DjH)Du9YEUkN z1X=tiM3+onNZo+@%mqjU!l%{0w} z(4MjDoUP$Z3tv$k5By&U*gbVC(l6&CLS1ZY6;6z~~-mDFN;B#Hmwrz?}jv z>gy5Jd*uswTjX1}Zy%Rikn-Wnm-D5?_9*%i)f7tH&zCQ3nzQd?r4`70Fq-^K&j~-^~%(x_#f?5mz{-5fd7Mx0$)stKOkGAj0E@NR*;X0 zVd3SR=6064;gRW3&7~!%bUU_4fxZla$U}ns|Vu49k>cPq-sEZALt~!$wiOP3OnJglwwZMZ`U=s5xo0g#}BdA z=Y&LQyo;hO4=!v8Tqq42et#rSI-3!=xFE~HC~#~ERysiCuHA+xFb=&vn+*s0A6Oo0 zZ;iEl86rwZIr`+)M(Z#llyG7v07Lp+Hy6^M?NXfl5)NmYVMJP9oA>}>Bm5v*ko&^h z0*md6sOgc_5FlD)*y8CCFvN{|HwS_1v;YHeK<;FqDqtD&_Dh5UetSf3&0Dx?ukz{B zu-@4~BDmh()8W7Z(d?tDkmL^Ca>f5!t-PfKzl->P$AG;?%1W< z^|vzP3VFiKf`wXVVE%YC08)U3IuFWIqK5Ks&u|(x$@IH0>51h!kWDuPV?ex5){bBq z5GxSV`u}V!60|n9yaLn=C&F-PVhqCjYEsa6R>6n(#_yKB0$JK zMo%oy%J8z2E!g<@;)ixx_Z9Sa#(q5dezo;7*}BmD3tuV%Y5jsG7lRDVj+nka&&dMiD#z1>*@Pnpb_^q2(;T31sdEvn*tOx`!3(d`C}Lip7=CB&M>Ou?8%_h$b1 zF?*$@vMBLWLArXFY<3nJ1+IFl>&xQt=cequdH$0f8Z%e6nGq{en1)azF#zJDz4{Dc zwSMrd9a@&>hGk}DT{v87@CmCc@5bKiU0i14Ut|E?gnp&%@0;s57-JH@0>(#P^TRJo z>kFiyB>+F{1xi}3*7FF2IX&U-g3lXwYv1Dk{%W{{zwhH<6e%(w0S$qzns<#hx1}yB z*OjT!gN$OlQ{)7X9z^?9Cyp^3w*JX`us5=!AV7d58H=+Gi=xr41w8D{N~NM z=)45||9&@l4^Q96VboiMhx603jslE#j`SxuZj$pf#us2!geL+T4r1T}a)ws^YG5EI zy#v5IvCHYrjWBZf_gf`k$BRyc{?oJFK>L5T{$l_47w-QL?(+ZtkN$s;H}U`RYh7#D zC@doO9i163NVx(g0Du+xU$+C|sRs(0ag}2Uld0)+&tD!xZlfJDYyEbzyF#y1>Y7q8 zb~ib1qXia@{{Os2Pi5aqc79@Fy{!KSC*_O0b*`^nB?5J7Yg`_bSb|MXxv3e?Qg9lA^tNZsWbScbBCsVnlaY*Fxs|mwVP`m^!TK}7 zVp4j;hTd<-NYSC~`uA!NP`oR6v1O=*e^FJ$%&d>R_;txPK*$OMty2l$rs5q}{Rs31 zXQ@K}-?w%R@nO0PZ$mzT1*{1=t6$Z}r%UUFW+$SBcb)1x?mY&He8u1Qe3YFEvC9bJ z{fHS*(Cmn1k<|m9#tB(OgbO+_lKTPjEp^6-;R)1v8i3Y(y@SN^+38Q! zxfebKa?Eq)^yCVT6k!z*J2pwGAu<6cQ3X*py}Q6^ScyG00|WB(z$*I2mP?*Os9Nu0 z2?LfUIBerk6fwGjc2am0AMNWq;V}yalDW1^`1#vOWtcWR!)dV%>u{W`4oz$R-YHI? z*a9MGgjCRIFxn9_x9IC{b2Brt;37UIHu*Tpy?Aa@yM?9p5&;l7}AM43ZepW0l4}22n)iBwjJxe zav*237*K`67xZpwE0%@9q<6ytm3+YP3x^;ZFg8|KA7kAtHBb%#KeSt8FZ}l z%Rs?^Uxo|@38KR!$1m_CICOl>iRC(;KC+eup?($vdoq|dJlw1Vfz4KobUyf}G$x_{ zaYus!n1^hY;jwT6oelIH-yM}erk5caEyE2>9+vXV(Q&yiF=*O>YYHs`?PcjQUcJgn zCgXK=b;pi=!QhEGSPh#%5`SX3NBs#1rf_@;hc_#Dd|Ws*1IMy3D-Z*XA&qoR@}$6D zgz%sei#pN+;S#~go+M(RMk}CAYwVgP8EyV(!(r7)D6+R>s%@V=>kYKWfGpNft_*O{%zTVHE*4BRL5G0? z^r#3uiC;7Ny4K_4C&Ev*gW`OsrvOM3CX9ue!AtR+&w+UR(4T<| zMY@8~p^doOm?w!=NvRUu+qIZXw%@|Q1X zli%UJla<)*kO@ELuo2I-`^*HWl~^N5E`@tnm65?J=?_lXscFMShEgOUAOg?t==TZq z?XXI@Rn_hz2|Z*b-bQykkC}bPims4jirz)F<;xageyG7~=FD~* zn9YRW#AzVsn_lE^$6br<_GsQCLu*H2FR<=BF78R zC!RJs{5u9GlMo^hkb4w>$(HUZEBkjKC7(nbsBZ-T?Mx{UoMv?caw`lTcPY zn~UZsSC0S2jPL~>>Yqn&5XL(5Yua)5kYl)aBiXu>-xk(m7~%+)z`;V)-PC;`IUR$5 zlaL*wJIOyFNcWZ0WE7hQZ}-7VUkZ^6Fd0y`IK)`$L&3M`Va^;@R(}sEFvp-T zU)&5W{6@n-7GDeuOwwu2?xcO zw}vZ~rnQmK0iY9GNTEAY*X9-oQN2t-Fk!eRu}wI83ESnL)g*bjru zc5u_&;^R*hE!*!3_gg*ofdDM{Eeoh%fsI+Jm5K35acV>tpyjTNNK`=lS~4K}kUji&!EWBp>lZZQ{b6VJJK_fw#reYKcQ+0r9bIdX*8q z1;((jh%MTV2cjIFYQ#c7`5{z-q2R#;9J~?|nN7W088z@TfeprB*10^T>0fc&owMBN z+v6N8un-1ufG|~nA*DEny^G?h^TH2LI2%Mlk2lLeetocug|kZyx3H@LVg(Eom(*QjQfENo0%K zcD@Wn|CVR*0T7#has==&f%oXJJRna2J28Z*VC=BnYzCwiYx5BuHn`cc2RCqst2qD~ARX_o^a-Np=;5Nm>jp1@r7k1d znSD^bbD*bQs3A|d7Zwx{$P`Sp0P4UGvopm_%#4L0p%eQq+qt=F8zaDEp z+w|l~FS$=nY8I1|lTTZ-Ozh&HZW97FydV>XX1f4^+UMDV?gPb+zJzbAHLAt2;4IQ} zk#xeb08pdlh_J*D#YNA*qo5d;T1VJqM#$w-pbyG zE?#G{;G(m$DQfU9*im|)qJ_gm-kZ8QH(XE^i(t$jV3j*%0Y=wQ`U5wSQdIkS(aUG` z0IPWy)Ilm`sJ^1d6uKe)ldKX3^8L_p0t&(N>TlzKReiLbqG_*{Di

=o_DipTMbu zn}6+kHv(cu6p9xtT)6yn3iwHJ-?21JHG3^kFFoDVWEju5T2SB;?2|V8z@=+#?_aX~ zPFRJSEO5}iN9*Fpl9N9=UllalK!kBLh!FxQxM)6v_2tm8ZE7w;VIX@7_z8i5{r)~4 zU{lO?tu~Dxzx4P4V#AU5vM5jzJ0tN*s2>^ z*pS&`Tecjsc2m1@QscsHsY7Dyb_Cf<6vs3Tf+|;rWD)HNSc( zl-(8aYi5bxibZTQJ9M1y`U>rJF6)51db5EDdZ2`OjbVa%AM{CN6f>1NpFAG@+=5+t z8^P8SEuLlHa^mScI}R@lN`ami?vse*!l#R@AS)mIeZ^ey+CGq^1->`d)NtT*Eq%8} zOY(}vX&mX)z5IAX3XYaoN9+Ql zCLhehNeDl_Gg)$#_v7X$YzKf>FdY1+_CA6RJ9F|jRx;`ebWC`LGI54`Bs}x>B$d!Y! zP1cUT1>tl4^_AYLXb7oYb;+%tzU@f$ip?SRJ8k4O~{b@Z}BERSd``wamBOWzi$-g(Y=>k_x8=5YkamN zr+P!sHeDIdYx|6~F+-thJ<@J+KlZNr@%92ZdPL8Tmr%%!mhajj!w_v71St*E{Vw6Yz$nu>ciE_oq%9mG^8P!`BQ z7S;fhD!W296txb z`dFEneVc(y^=1`XN+K8X<{v$MzhmWBs>9|OJj%~MG9p|H70ZFW+OMD&B8J3qU^Q8N zhYbze;e5oq_Qv`PAs%IOSBbTw#TdYia^ZQz94$M$ar#zRa z)@m;sZ1Z;5w-**Rg#`P0hO&ygVt&Z3BSd0Yei~b2b|JII`WUY^MgFMB$ciCfRaAqKK^rZP7v%7e8BKK4&cZ6~? zt8gz~g=DLh@FUSini0xZg793MN4A-gH{QQ=OF8Y#u z(?eI4hN>{ZGGgi`YM(%w11Esg+*Wi~P6mr`;x5&*%g6s?0$-B;3AEPMck2rPv%qqq zI{DGVhhpp2{ezt2gV%wR7$s)Gmz}hXDK#x>QCqoL-7xtT_YP))NJD`0S{vE=L)hA` zPo^&J%#D?Ai>61{V_B8jSG#?@<#BlH;CwiHk?#G&D8Qo6Z8OtZudI;~M6WEo|XoZdiz!qTO%R}CR!^RjpJ!i&erYW7O_BO`vpDfA^ ze~+0@(>^V5OE3EU+Sch5NOu`ISI*~8^ghiWC3`C{O3bo~9Qqa!jOKV$YS9-wDuu7C zIn6_6aF@dQ0-&LzfP)Umd-Kno_ke$eGysE&WU#lskX7BG&^VxXPz*lP=2++vjCqtC z_0lM@*6Dj@W6d=o_$-5%xrEG7o=c&}z)3d}lI0*y#~hR;O`~YG`OoFFbUw!o5vpZx zM`b5q%c@?7CYZnWfOKP6m43OGk7Qm#@(THCglCRCf!W~tE5q|XorMX@sm(9@Fl=5- zlb;@Wr1TkRj9Jv#iEn}jxqrRde`Ui-l`Wi}kw)k5ABNdL%39lk(c7UP> zDJfv_gUS_9PJmo`QluyFw;hIt{Luc@y?yHmz8`^=$6ZGGYVAJ)g25c?ShRt|-qEoG zr*{P`Zc@*6?ZzHPRq__;Yf%}oy#FTr1(|~{Kty46DWs{p_R5%S!^8v7>>%zeM~NeG z&1N6c@xv`|2oK%x*bGLM(+yf?=sf=?{n1Tv&n*x_O@KpC%ol{YbJUl`f-+okLKdruZ`kl=U9FCX z2%E_tlU)}4kJ*e*E9pvn8~qsQV?SaVI(MxdMW>(wJ0|Q|He!WN#W5k6UlGSK`Sx`H z9Q$@?Avxc{KRY$o6*OyvUA(?hUO@qD&?Bvb^Acc$&){$^$_fTx2U9%bEY`nk90Upx zwTv-gV)U=^L~F+t8e(wwPK})hPY#uDoZ#iA4{i9fWL#o4ei194ztK^P7tdx4v=t%y z_tb{TDlo-|0QCqHv==d8ur7=;yq-HH|IIZ1DIj$_$TpBN3JL8NKK#}dWbf&5*O@Tk z5hfSax65XJY5GqB2W_`?os4+pmTu~Y*%H}zdA2t@ktM2PuAx0{~US4*cqiu=R2Vl&J z71{tOzGv}kp+fH!s_|R=u!_~xI%e?g`9A6XZ#U{>q*o>SU(-p*upDY$hIB@iWJyzA zBv|0-ohhcPfBwlH@NfQfYbuq({eMFE*IV$Z2lIahX{}q0T2T%fn{DHvD@g4Gh{#7r zR^XeRcg4_f;}3BW{QY$PhwN;5+_Q*)`jT>(n4owqB9lfF_?B8-MD8HgOf>^?7=h>y z30*!n7umDUg9TTC_5IV~sJ;yA!e974zEM;C=2$;H%bf!2DHV`pocw0f1qphmI~_-{ zIl1#ad)w$cUD`Y$4dZM?ZyPe1$<{LBi{hVtbEPtvInEenUIW3X1X*6CduFWsDAS7^ zrnCl@0E?%4K0Nl(Rxl@oV-8G$5?}F)G4@t$S-{3jRoG)@vS=p#ckVjy*Z!uln=eEQ zAu}xfZK;W&P4{k-ZXX1<2Tt$Jc@lnZS6U{g*Qr&Bb1Grh_k$y@^~8+Nc459sU90XYa#*gVU~?BU?dN$4~gK8SyCDDOZ+7n5RD<0 zCK3Q$0$7t+E(*X&EM0on!6)HV+00bJ@tJiSM)&csF`KQGvsVx2JTkTu4wdN zU(g~trpV!qfm$%jx!^^UIe;vyq5SCR=qryNtYkB}`~$7ZEr-RkCrl1Bo!+HE-PVg@ z8Qx`5a|Lfpt&^I&)W^d|S)_d~--JWi2Hon14RaM2zVV0yA#CRh&gk_HQASCSjV-x8 zF&DM_?|*&WO<$cZyPg_zA>!SPYg5t=n@4Qr_m$&y+%ECey<&@QVB!&NmwaP+3Zm$#}+=VXpv5=W>SO_B$mw*|;eS76?}{2f!P{P(E~$0< zpD;HaUaqS0t^J4nO$lc48~#HvN4(Szu61OQZW4arc|hFjfcQq9EhFLSUqwPaYs2~E z`F&Iz9XEsQ*t8+dFaTtrlDiqc6K%cqX`~ob3Geh1e=G%7n}!46!hhCYg%{1Wjiu^76U6~i28-EJ1+R& z-&Q@*Pq5`?GDn#*QvQmL`fIiM4#$ZNhxiH}k-W+D=kd+}{FBhOPmPOwjGY#(c-U+` z@MqNqQ-k)@70fgxW9e?D1c(KjbidZw?#(*3U|E6ycVg`PnGTNs?i{nR;B#NWOQP<^ z{OBI{cPjTfNIX02b0Pa)tC%|eZ^ckg>v>r&51Ui2ss|}nJXp_MCJk4r%{ey7w%6IMVX1KL66K`Kwz`|RO5(s1= za>TEpnD^EoUlTV7l&JY?)xV%&Am5FGf&zmqEky7^2DEBq@%8^+_2FG|vpX}!<_uka zu%tsKICPYy(nD=ow(cWugKCjH{eX!3Z(^)#MVz)62G003{7~mAsGC)Ma`y+nD!d~M z3OdHNUlZho_ty9C-6Kvq7z^G9|B>cEip;yyqi!8`Y|Ko+Xs|OD%()H3ioDlLC zFLWn!nqiH9r3#bgvM(lj-#a_Ku%Hmki3*QRPd~r2oRfioft6=H|GS@as{;+b5BUoU z1su^WjG9+ynfjX!VoB4C3pig zb0s#bbg=yQu6+q@(Nws1M#$a$d42n_%Jq#1SGJ5fm62V)>5}I)qYmL5ObV$TEGOO^_jzBMpg-%*a*Lctc&TCs2bY?Hf&#gFV2TN_*9{Ok>&eeS5eWe0 z87FY6;t5*vc@gJ)thYq@eP%J>$|t&F#YwNj>hyyb&cC#5;qxKO_(hwlLNh-}FLD0z zu{gH**d|5Wa~k(AS+NT-q~8XXq@Cnj!Q-c0T<^Ek-?aae{ycb*7{i~6oZs-cXy$H_ z0;3AQi)UJN1?P?KfJC|I z_pybV(hqT$UiNT*w%IEEcF(++18hmp2aAq1-P!5kBWgPNkC8I=R*xQ;*Nr0Hvl#sn z*e^iwm+Bpb9XPfT9w{k<(I0nkL}Ks*H*jVa16C9r(0Qg`JdPlaP{(%AW(W|+yYU)yd^5Vt3&XYs z+jk4J44r8Y_uo=d@vuAn69UM^2ZbX_c5uEreWTsszK?l<@xFKAJ54IHM{l7CTV_x2 zEw}&VMv*i_tHoh%*m$Wl{`c51%iI<3=KoL}d%5uZeq-4H3y1Coi~0u(0_{Hbs~Kmp z1xkL;8jx#`_rL#AMWZsl7~j5MY=y77n1A1FxZ&I$J-XuGMuyFUzt3LQ?TE~qB60Qt7!p#zSK2lfj~38wobHN>9<86f`CFi7PM@i z5n3LwcKLsw*}Y8vTD`GMar%+E_2;Fw+^zH*^@-GpXREgVvoY<+g`0kzcVo?K*o2NA zJqlGUzkPIVz1!M`m4Ld4(1NI2=-+)}^#41!xu+f-+oZtErItO6*EQC2$+B4*qc3kU zS!BA{NZvNF+qyd&fK>quq(1}vTn5X#ysWsyL=Fr9A=O>vnTaMSENn6QUb5Z=zwpZY zgJ7tFjX9TZpH>FGvUu@{J8s1OkRX0lT^vcM{kh)oY!^ZWo zC6Ux_;{h#Vw3~m%p7VdKtLmDX*zlMk!V%fIH0n(~t9n*hFo_(kdET+LW4mQ=vU}VZ& z+BW=RA;S$lJe`3Ia_B^XP)RZ%T?l@2N;lTjWQF?}H}u?qV&eFB0-glz3b#rX8Wgnf zSVp=-!GI037=o53=1eaFu!hAY8N&hJg&QlpMPZyt2n~j)r0LCF=eE!a-*F0d`uBHa zRX}I(2e{11Mx+mF`H#Z;CKf*)a1UadXO~H%x)rCkaHN>7_xMlqbGh_iy5PPzuH z8Bl^q_k;cWshn$M7^8lU(IDtaRfc*iBf_m}U>F-;F2F09}o=UaO5d8xo zo~!y`!&C`N@_&+{YDtHjLoUY}mlkAR?PJG+pi;&mPUcVeHn`S!b~2vwB~9Pa$G-%~ zjD!``N02O8A-^E(Pg&WmTp_!y77!hUo1h7&dj+B{-eJIFgwWB%g%u6N8qab9myas0 zs$dP)cr&|A{F7H&(;M>_F=|t7GTJ6rAxwm$gPbLDP>+0&Fl{OfZlvWXDiiM^aEavdIXhcC_L&F;WeJS3r(A&3J zFv|LmVru>jSq;K^g6hrj27yRQ!95t{hu`V$7nPK(GI8N3Ysa8Vfg=~Y*u9Bsir&5) zczhbXl?DH4aO`(ks(idsA8Qj_#)=Q=<|Wb`gFj(VO)m!NaA7QOy6MLCg2DSsQMwU} zLVm6|J@RX5tk%|c2O47xq*TN6<*#2(2JIjY(trvIAYyGEKJ*bzWJo&;zdyZ+jF5oc z#>T{yJPyL+a|G;7Y%MB4v4krV>CxaV7L$||m{own351ro&G1em3kZX)0QkCaJUp&X zyR~~IG2HQ#Ko=ykX%im|tja!>3=Rxbz^o6?=9!T@sxc>0_T#~iyfR^#cd|$4>3bL@ zRA4F(Q2cUb#tb+YG+aC58{+D-0AT_-*SPbt#vubXAj9~I9k3HH$Qnet60QeXH^kMV z8okZr3S_|ACi99_VZA-`?B zNS7{MVvIN#1PN_n0@8+?!P)DCYDqddM3)@?3Kv5ZS_BI@`UrJL48x@01?Ed|#7;dc z1WH6$vO*`020HCPsepyYhgvM0LtrKVO2XlqZ8uS50YCh#B4ZL5141q=&dZL$q63Kd z^TT`Z$H>o*PSL##i<)EK>hK!lGRU#n;^zPr94Z)eskLHl_%t3=4aQp886XdGFHB@? z?b@(Iz@Ya9H}mUUesDBl)~AUbpPQnb!X73<#y)f*a6SF|)5nj&3s+p@gOU%3J*KcQ zGOTwJ09m5M1DyfGw~x91R31lzNDWz42kkJhHOJ-GUPgo{|9x z@1jM|U{!4cwuu{pm+>HN-I<3Uiq8R_&lFR4?keUF&sA>|BLq_;w_SYmVC$pLV|ev( z4wG5o;ji7@zR0T>Tk;X~`RKt*$Rq324x86dn~GG^q;%B)&dzgNFsu`c69m1@ z$=5z@oW?+9r8$KEMbpARBodG097qyRZoQAOnL#0#Wtj@G~U_0b7wL9 zt}mw7VkM1I-ocr{;$KkfSq=I;?b`L98i>lsgbFiffnc$9YsB_8?9K2%n1Da1;lNQ| zAZxXpvF&%~jqpup7GXou^yL#=GhrG|la0kj+WDZ&6c4Ofl{Wg?mTVCpn^&Lcu-HT9jvi_ z#sHlRAl)0EYskhX4bPf+c_7l`AnU%qx|#50tm+=^j{=}Uu845jDr#BCQifUb(AhHV zctOHc!^-8OasBB`SQbXU zXex2XeE{DSYzU}9t=!O=<1gk?3rLTg%U~9V`fAzJ^dD*d) z4N_24Y6lidvZ+{`M9$lTvPUQ_^ascfJ$dqEJ4(!R@!}7CM>oE!mE1FaTr6}bayuyU zrgMV8bUJ)_-FBxTx79Y}-UisYEAvruGS^iuVUspKY^o7ay7a)d44j6M*#rqcc<>;# z_E_|w5lI{9-ZJPI1|k;@zD{}W=-^E}!L&$&v&^izaX}C?cK|nbb_JM@w7vjsYDkuu zxHBFeQPY@n&%Ma*=3E)i9S}}$@4aNlSBJ1UQ=z~**W$~0klOd|0a92)n#UlR&;4@)W5|p{( z@#Dwj1RT)&HsVq5MM`Esx4F^32Y#PeN~QOK*wbHp(;puPenQhI)-qtXzJHma2pIsL zj&udPXME04S4C0!oIZOm#$B#)Hpt1#BO~W+vgYU4T^K98@X!e#oO<#V&oNen#+Z=6 zAFHXux1*wLJ5QI5o`Ol`rgMFDZ|mxcCu^Fmeq+Zu1cr{H^tNKwbUqGDup-R#y7iPHYpXLEYb-W8cGL%X0ZK#?O4` zTm+B2c=2M$%+yO&6w8U!vtKlxCuV1dXBu{|M_ZdHcpVaX6pCQ<{h!A7ui!C8&q!wL zhaG{kehNsFAn5STp7q9X&nE|CG}f4o)^gcrVV{6&wj4AZGD+g%`s!j^T~*~YI~_Yx z2x=nR{RA15Pe>{tX=!fdC_4wZVhAR)fnDqYDmbaWDEStdj?t}dRyo8Hanng)u4|n6 zfbFdIWy+4m+BuX@1oCR9(%3Ei!|Mcs%x`5*DsgjoH=;=raAAdXnL?#EPir9TuU0Hc z2_Yb<)dZ{U*(0mKinS*>u!3n~bqKO5tx*`q5p6#)d)CO5#+Qx`+TEm|f?*r4aV0bW(?VGj(RwfD>PPPAiIiu_ms>ilaXO-%Hd)(&lYpE-vfJitm_4jXa+Cw{WJ zm!L9!pk*uSg^sjCuU>l8`8gcu((fwv4Udn1bGZE4VPcu$<(KQg*}B7V?{Q^gV`FSe z5r`ey5jm;>qB!Tboj<257I0+UH^03N9Xp{N`q?WKz_46%sqOOi+a4Q1O#YEPtPF`+ zkt+yJ8T>=ipcwImqcN&s-*pKNw^GwzIqo2bd`I;%HwbfT!i_hFuc%vXkaVoz?$Py< zk{fzfm9E6i$G#@rIjXEV6Qp>PwFcJr*w0P|AI{CNG9CPr z-g&7Tnidog$JTq{XE25z7z4Z{y|;v~B*(_`E0mFGzot0m&;RCE5!d6gH(>v^N@WhC z`&@R50xC|3&NjauE_$}iO*=Vr_|CSA8xYjad4Hez#`Kr*7+>JwS=RJyn(7EB2Y08A ztl-fyj7k{3wnf%z9R(f08pW-U>m&$5MY8v(Axh&ALXqedS+#m~`l?^}>VOLJxl(br zBBn|gfsfF1N>@w^&SiN*3m2L?Y<>qQQ8lKn!}il6%q%{J)y*ZDn=$3e{s%uEzTXtq^;_7XP?rNcF~ zNv(2t2k>?~MjzJKKXta)Vr@{MXalN-y?v_9T!t09?-H-w;R;@FA3 zcU8MR_uiRIH#bU&DF$29WO7$acsO9dA%(>cYj!2Y%vWG7{%W7J;ZA_uP-gj`V{!GQ zh$R6tth&)OOjh0>mE#KtI9#;WecI=G$vsV1nSNgZNA9bApAMDUov^Cd;f3I}A*F`eDBW?vq0dDEowsNlBe- z+v1b#KNcR^W%TgQCC7k=<1#X1a|K$<)-SS+ITcowrjhaXm%=h<>4#GCR&?*hd4sBU z)~d$Xm6r2}TCEllaogm*Y42+Dc}H}0&kyiCL<*s)x!P#@_J?p?)PVI443)|>S_ap* z{PS$B=lhuArQc)>Iku*#xeT&+Byf$vzz!jxHI4yP%sq_<+ND;lst_0Nv@`7$%I)SK!?{z3U-EQ_0r@q%dvqq|~`w3e8b2GJ6nu7@N024;@w2ovLtxXAh zUi0U}Lg)LH2c-4JZNw1}Y%(VZF(Z-AjK)i*;+MNwAt9Py`y@`uL$)z9HP5-**$z^= zzwxhV23cnG#Cfy9(SyCpoM_tv2tN%#?ekCDmndTxQ@hl&*L`V<(ucL#wL)NlqV3n- z)Dvy+6cqH4M?ocYk#0xo`{0})Vi%^NY)~nI0$_KG;crbLc1{#@fN%Be!-khU=;@IG zHRERbg@bST6q>Nrx~<;geM@&NtZC!=G3S>}>UzHJ_B98hRpjh#9+s7F)LeN)y-lmL zdq<$3lnvvHUOQvL%u?fNu?lyY`}SovNbNFl`Ce`!gHs3rKdd;j(enOK&%@~Y^Vu!C zB|RcL#}tBN%rc6?fefC78#lv6u?2`Bj4eHklD?jjNWJP@b>MB(ne9BXh>u+deb%P0 zwNb$UT_H;x-unRs@$A={CA6Off&$t9XSbT3oOQbJlQA%@;@@y{cxR$aopV#0%hlPs zcl;-uty!=CV;>#xyw7|dmXRdOM=MD<3_g+`B))UFK7>G^TO^jnQ-h>u{Bo~(06P6b z7ypX=94=!xq<>6IOfYM&NT)dD5~5F)L`4S%j7)~}N3F=7YnQOZB27rMX_}2WUoW-z zg2b88+d@q4(Y4L{MU+!_`mwxjS}d<~M8E&y9UeK2$*s1J`Lmcb(eC(i?vpYO{=g_z zw9~pfDJWf?YI-6?e6q#O*C&C?+Wq5#&3s4dg<1{?mAN_MekF>F@c1DCEbX_GT#pakv%&-3vX^me7H~`Kg-DszT_@4 z5^p`afW<#%)2`jSt9-XTk}B}8c#~em1BER0swA}s^aeB&KOa$bZm+o={&h(rGPh8j zE!wc3{TFP|VuFA7C4@Oym~HuQJcDxQ3%unGyf(1Q zt;^Ise(7#sbrUvkRfEoOaWS8j6(>Wq4+EuG*0U=7fs*A9-x%+YDg)i!-C-|{ErP65 zKJ2lva&xcYKdbd_@?HP#H zY_5o37wJ5(Wh@=~PfVwIZ4Q#W?4Q&>g6*Rbm>pyOw;wgTo5xsCX1>#G$yDAU5k{f# zpLyP@PIEW0adX)Ai#y9!C(K(ABw+Ba{hHvyqn&ujknmC+62C-H9H>T|NrOjsnVn;f z(xE*ZS;CKhONJo?AoB2g<(4}{&+P()9k(&+;Q?{p{1T-sF1KZ&ZA(>NW*?fx5mzyP z<(T4pXIWm9HNT)BvoOg0kojD}GB8^s%b7jPx~0#2ZqAW^{9BFrkJQ_>Z)lQd!)Zng zql*`F%H6N-TtRm2PCffr#q8{&4{J;D9VaH7h$?^R;qPhivz%r`n9)j<0-A4*pD)Q#(88!-Gu4W8C%72tRA!hSP)Nf+-*N zBN_7rd((4_$*btEZ=Q95*A8r*|Pm}Q`ep7ydlXZ ze_N30^5k(Tj{_@IAL#k*;$JCod}5b}CsXxyXOTtzqKo_k6XjRMJ}xq;Jfm}fL| zmuy1-pfBK&0DDB+G58%S=8%=uBxFSa%Q&EW~1 zLN|ReeIFp1ukjKlUSt$=3M$HYusrH0fxK?M?%A0;d0T>KxiGCl_h8pPUBS{M!&}0BIM7 zRdxQihfjkH|Mmj~e%qJ&Z;u!z;@5qt33&|oF}D05+Wd)-$yK}fJoK86k}Pb#7J(7O z`Sq+#C1ZIr%2XkiZ9Kt#{R-lB4?m)6%&LOuP)@UAEta$gEDFd#=?JEp$l`CjDCccDfhnde7PtIn`=rrm ztuY_vb+pIVjIxw*rH@^yz}kR2LR=>8!S@kjK7+FJV%raZ|0n~EHuCS07y`rd1<}Tq7{_rw^Ngl}-&fin5%UM{6w?o{+IKX8W z=6?6PE$6Tw`^m-f&3nu*92XQvxw`3&wN7E;fFV+Yy}Neq*inisGe}4Vs6WwgemLWU zN3zX?cL~EH7}>SaAqegTH2$KeP$`DEO)C8AT^zVrEP8AvWy5C#SU}30NVnyrxT9;& zC~V$*g+C{t{Ny7>#fzxUJ{!Ws`&2KEDwQjCn9l>^^do!&NN$Vf^Y)z5vLj$Qk3abU z87%KZ4(m$pJO348}QP zdK^1)+0xjJcA4(=)}DIK*RJADKYCk64(=78e#$e3i$(p44+4TjEcuZZ#gHralzY>DW;%lNY=FsnPbbDB1jjkVtPM)x`O=` zk;AhLBOmc3+F7>%&`00kBHx$8R$LA}ot+W<_7Af|h%p|t&TZ_c{@SL4(P2dRg`0AA ztI@W*`-Sd!R@nZh1>i7p6@2lsXp2oPr0p=*u{%H%J~ymo z#Ecb$CK3z`ry%4AfO*kqCkXH#h?v;s)&Tz}t%W$wfS-ddAo~eCB6#3{oJV+RpGhcM>4U?PXaMu@${0APfJp%~ON>F_!43&7GYnsUTsFcYhJB=EQ(+J+ zl0KmoUI`90zAqPjW!`Xs0`><3JoYCxg2B7Pxnd_EO+x>KHCLIA#nw-xv4G1tu;~&t zo#_3Dfx^fL+a*OZ*nv#P{+5epehADRC?Ny8BG3oVY>YZPJ7JJqd+z5^b@la5$DR|h z_|#aBRgcxb7P80Y=75cRJTSl!Sr+oceGA~V*PGrQ^zAP@Al)5ZRyNwFeq3mvYNOyv z#qF#2r`GS^xEgtOThPs#Dc)e)#jjR2!v79n* z4_ZbVIt4L0D<6mC+wg4AYG@b;)wTl7T5?YzQ{p|FA33sg&>0@25bZpLiCRSCo9ajM zyhNP^hR5Aq3etKF4ULjvjiXyu+qY$vio9w?iTe~yYLA+gfT5$aP(w%O^{@-^`^Rtv zVxs@Pg$#6lbmZB3N9Jl!eWEYM8GwD2KH#nya3;-Y5Qo1O#BlO!#v)dk&#|P$Dkt;$F5 zW5~(FB1j%Jv;x22+-JgRila1Us>pW$-$i^#v|iK0_;~Gd+1pN z+(p06lUkN*pB^!UJ#P!MzFd*_w3kcuqu=^xpSk2=#B2_PDs10H1$?YOjHBR;Lk2T4 zT%v%qgF-?Hf_@y_Gb8(iRxTxV5m;?NKPzzK2)T@uYMWa4RYbUB7;I{r)i4*m!TvrP zHN}iiB1AG~!^1Mr4J?iCQnICK4IIRDm3T1pGy` zs|A^LL<~kSZ-h{Q#B2;R)WLFkczL1eo6Jt#!<-KGv=l>Y1IQdNgbxt@C%Bl%cV}ZG zBa|Qva$v6+?C?CoT{N_Siy&q?$ zxe)P}BONkCcZ4^@P&VE%GFAd#7mAlGnGsr1&%wAahLX_b037Uv7cuG#<~pg3QfoPU zUs5WGg$j-eO=DwLTsfRpUEJNt_*XDc`wt&piu*ni;w%V2iWKsOeHdoK0Sysptio}Q zr}c(fM38ni4Y{>JuV>(H{eFDq2|xd(`6IHQk}>RT2JL)=~cloU)~&8Bbm1pq7DB} zy|<$ihq|Da;<)1KjG<>=ZmfWs!t&sa7&&$^1=9P*8{~o*4*y^NK8{saXVHyV3NHh; z=;LYKXa!#S{QAbFA`>E;mY&RMNN$Na%Gk6s$69-NT{VSgq}MOug~7odk*WI-soKU^ za9MLRvBq60c+Pz67E94lMo-}U>O5%2fNCc z=U;bmo^px3!Ef>5a@@X;Dqtx|vkQcmsWwwgWk3#y)h#lTj(ZBhLNd@7raFo12W_2N zyC5T0;n2T9`M!GNhvt_%Eb}+{t0!8t(x}2Nva7I-BzP9#kIqiTctBJqXtArtXbjBv z;tqXo`=}EbDv!A-vSp<)qLWOm2g}3hxNTCtVj@lx`dx6}7K`9%Lg<5%cu&N#PQsRu z%YrEar38JHi%L%4QBG|9{$~y?94g`v`e9T6LtX!zIFIq^zpBN&fo|Q2dHO3~^~5VU z=+vjuUH#Sl=YQDyrYZ(s+^M8e(C$&1zk076weNG26)lESIu8xr+lam5A)%pmoLIPxsb!HxA6MmU)()ZMe_j^2Y1+uq9D| zFpEM#UW$n)KNp@M{^7<=%|F3Vxl_`%M>h_(>7;rJuJAtbaioA_$&Gs+iGr-cvi|00 zil0X_XBNo4X5eIujIxB@g}D3hdR^f?anD#gh&!9X->0RHC*d`lJiso5jDskdQ5i1i zzwg~^yXR%R=}uPZ#|fL3WA$ctKH&`6;)JHGl)=$af}Ug8M9l-|?0+@NL0b|Iu+Kh2 zuS|SX%W}TyZ`YCF1zz2`<>>P7K8GkZ$qvgU99KLz%rkE0C^_!D_Er7UTH*4_${XvX z@olpPQ%qwc~I{mW)Xi0U}#`Ll;N1K>EeM7I${$B7!=CC&xUpe zvHLb1LYFO<-_wrMxHWxW5w0-6^O9yj8GH+oxCCpY{(X#TWv-fiC#5yhIoY=@_ZnY* zhi`dd#8WeFU#0Yl+ce?*zm^(B+3q@&;ERd0cC=Eq?Y3d-Tj~y88?ZRGfbc>hZ|~@+ z-L}(_YZFHx5rN*#?_h4c^j!Bd_Q5vD$ggYOP)`(JEk!~&Mqb_22>koW$1G}e%QZgl zlCnwXT=jLCu18l4m;O2t>Gr*h&vV{6|P)p=Td{-NgN&cr&~~dRy(YXQi`6($j;VQFZXuY(pDM8%UlN|8|vPq2avUykmz= zlf2#Ez9dT3CgxV%gFT`3MrR1B9hRt|SD|!d#n*`shaAR~jYsJRZoXN5P4@V%mErO) z1vXjV*=SvM%vtcOYGZOiI_IuZc^Hubg;w z{E1RlH1AU_#sf+MsGDXIId@Mm_`f_RYVVYt;KayPVoJ_^)iM9PP1;(GZ> z2zg3-E>3(F&Q*Z|35hBGwRdLYA2iaWuue$(C zA3kJ>=lu-K z|F8|_Hs^|S_2yeKJL$*4SK_Y6HQgI;EKsI1q_3^V>qna0R!jd~ zxcJ}e%dVzxVwTGAi?L*G?NFYt=&s$xm4qg>s8SQAlI2@cdXBHS!JE7AS#pr25>HV| z2}y;~foU!?3foJN%ZwC*mltFJeffRK`>Wl4{kjZ0LP*^B>zmeHYxm?a`0vPLVAda~ zyZFZSV14LAYOapTguwbiCM=Z#(7NW0qN?!?=6fBXiAKgiplH{ZMq`d z!rLXwHYFwZsP9?6!_uF(!BPD8o5u`}8J^>Mz{|p#u;kX<`daG4__MDh{*Sj>Z>PjO zCGNF!#e<=Z<`yUZ_gAm%IjKI->yuEyF}3#G47&^O|9KTx7bOTu2{~BY`n2-Ol_l)| zb<>~=&R6(kh2rq$Z_MZ(_%2MKQKV_0iUDt;SY#uOp3KZ-q%s(-m4RyWr+~_ghZg_2 zW->oJcJbDS52lbaL_;Wzj17e(aa@4iV`XQkIhUNrI0dzqzp+RKim{Sitk9~hLWey} z#$cGDxMg*_%X&E9gHk+ztc&D@?d{6|WTIx=4C7$*_(HEeIz`_Buofa}nDvsx5x;;5 zWyC9P&z_dAlkLm@cb)eGhr7@%;_1VDHW0uhJ+%gtmPqLWB^givq5(&ei}MFA7D#f* z08^N?a#OOrrW}##MWkl}af4Qr0K~|vQCK6^kzu4} ze_%k!CW%NFACqQQ{9(wq2)7ifrh(DXulJ`WCNPR%9n#Y>h<>u5OMtjZar;`TJSRR2 z_m-$^RlblJoDeM|ja=9fylKQC0|s`G5$|eGfEGRyt#vr#khqbg-Qe+G5mC^~#sA8g ztE$NS#4G?G(0ZqiG}_XL)E7`fu!4574%pMzsL=?+i86E%N!ueO|69KgR?ZH=f#C5S z$0hrN*4ol|AOSo8Tx&r_3F@BI_1o7zJGmbk7=WBerP+{@n9Ae%6EovNQ{0Cwjub@* zgrH?;cbKDRUW|#4zcwp}bQn!2NP;ivrCw8tp-}z>7=Vg=oAbk??SsFjFE9ZL2u9LN zjd`dj`fjb4Kl$7nT`}N4Q9J|>kx?W7puL1ig$0C((7>>Yhld5%4pMx7YBK``(rwc2f%ya39NUo8 zp_j0)dmn{Nu}4|mWGjh31qB5fNcyiSmHPZcBq$9$WQYT9?&($(Dwya=q`$a)yyv2U zHLcK2tXjFU?u^}<|2FEc+lS=#z9*cDL4^>s6HipE1yIwy zXfAkay-vf#gbkizqyU0kAL||sXxA`Eh>}Hz%#fmpEr5BhO!(YfcF37=Lx}kmmYWI+ zrI&Nlc9soHjD`S|_*kRFqoCE4=&*leL}(?yCT8#G zC`Eb(b{f*j6R3)}4ZlZc0wh~)bWrv}CIxH3fZH2l|B(K5APeX{FtGmwUeSP)gF+hT zzt%)m&AcR^T^FOAw)6q~!avUvKa# zKGrQK%Im(qMbT$&6Her*Bk=ea6Ah~5Xh8!Ai3gzB+-@6Dsqd(csP#@jKJ;S0Y+ZlN zYAE>tmStO_i-ZkfA^4{I{G4}7M;XQ|5or`8XCQ3RUbJT;m;zyOm%U;DbGNvSeFz4S z{75wrgb%T|3D`r?07*xCS&G(%O6pBS%oFGkQE9D)c>~ZR(nD$F2GeoK%;TmfGIn@E z)0qXsAoLwiM4`Rah)hOIbr9OV{X}RY(nKOgyI~Id!8W+e4>vTnx8H#L)F}OLOB@y& zIgO4PVC`W?P$>BN3tC~vVO%YA@NQ9dbn^g6{o^i4apHC$O09I((-j;Kcy?`c zy!U3Y097~!z&5pwjxK*52QcV0g^z&iN%0=m6XLMIa^M(SS5nN>wgHA?po%t z>AypCV#Qfafo(zn^1tnNuRC)Sk;kn)eAfw^6U!+?hHavphlF>$h3>pF&x!Fmhy_Sb zvqdCOlzd_PBaB^lLh=)flwgp#leX8{u@CZYG71VGVttx6eI1>yv-{Ts<~%cg$8pi&u4RO_cE{Iaw;nw7DzHmQn*qk6?WGpTzDaLuM zim^-Mz^Vf)53EGItr=V4f9{-gtGVX5Q~B_3kMRNH9=jRSlj0_0KWBYjQYigPrRz3D zDR_5`@}h-1OSTsC7>Z!y@nzd^BZ9d@RpW#E_uE-4Ta2wbt-D8t8r89hY1Z|d%HO<6 zLE{K}1>{k!vOi*CQkZu%FTb@XH-)+(WTM9+pin5$eZMm8at=!#;>kfbkZHf<3;O*A-u+IneR z?;AY)L|OMy`&2fqY(;DOI(v+b;f)FH*Y|}_c5%9T71rfiPR>N&U#WnIh8p4nW!=6R z^f%COK@=W8-^IdObfqXL41;B3V_pJ7&B0)IerYE>Myb>9xoBs4Oo`|sSpA5qYIac< zMkObi75nf=Sl{-f4}EcIZ~B^)lhdRpdQj_%k6Cl*L^`*URDpMCjs?^T=Xi<9UJ@BlXUE5ryLW;HK|lr%RAD4-!`|wL9op zsDtNRQ<0ZDrUcqH#-AICvH0T3m53fQ>? zg9#Bsl9Gus*v*B}7Iu3x1zOVr%TLy?(>IQR@ZOl2oe#ZXA(LZ0XHp+)85^ge-v~o0 z?dqcU7xek@e!I*?ZWG&~l1m)P(@TB9`rzYD8Z_Z|`z`AlFAy(JxO0CQ8|&HLIypYB zap1sJBwZ3PfsT?puLa>R;C4MFrOUW17wBn7?}R5tQV;2-H8ukRKZSPEIO!mkbXjd3 zol`T$=OnoRwV^FZ@>e+h%g9JNT#IedOSDr|v=v^MknyX83?hku{FcSOA_)fwTL~{ zxuSxCssQoq8fF&bql;aa@LAtM3bAhW>XV%{u$TQAi6g`oVY=g~g+JuU=QXGHxqS;8 zIY+nD6Fq>D-|QO{>}Qgx-sOiuj<|HYwzlWq4G9T9^;tE-kh@8JiaoI0CF2il&- zb5|RpH<=!YyJf!*9u~CqX6G0~5{x@&V!CEL zZb&ZOs{Y9S#Oi2MK-S)4p4@_^)uHgu)~$m`R%oV~kfygNLY`PX=|$Y&hQ686dA0*x zbzQ##*HR+Gz@B4pg^BH1`j)d`OSf*>A}ybrmUawhQMLmVz9!?|$o59`YKV1v)Xf5< zKP^xqf9tRnDd$n zB@vKKM=qTFlpK0qc00OUbMcve2VOJ-&BUr99na5X3Ml&-Hx(gywV$~FN?#ZbxDb77 zfEq>l;fmHNhps$Lbg{=M7u^UKr2`!b2o9z>fGAVJih8=PHciXaGy`d}-C#p}ZZ5oS zAKK=(VGX})Y}9V}ZL<@^s5@6BM!}_kWo;MX;*qqyhv(VnB#%-nc*DLAxkX@hypb!h zZe82aSgWO3+rNN~eB4~dQrBFLwT zTf-2s<(`B19y24(Y1TR?Uqe`j7gKAfnNKoe2-XTRmm{!oWnpJ;!BKSo(W4CPn2wqo zK|xKDt;U}w!r?;1Bk!35@8vCnf8G+&KkQ!B9XfI}F&ucL_CrsP8Qz9=lP`a?U>FYN z@hE>%Ffak??qJfG8zq>PL(l(~#f zET$3bAmgaXkQW!%25HfPnV8>RkzSr|_+GK6R)+0IPYj71g`1utAY%1}Vzl(gt6)?L z-99rT7!RI7564|=MZ#{=`XDqk5tDd~^6H;j98!C%P*meog^7Fc&c9_697@gxu(;$+ zplQeFpoUh%%n^hx*L`y2p(k>cUgD_5NOm-lwPcwClDzi>3r29?J~ONm7FJdr9NufW zxs$P}-*p##-@P9Z7eP%8M?oD z`SJa`riR9C&&hAe3f|Lg*EZ6=kB`@(K4>n!cya5tZNz>Rzh>KAK!dAxQ{wRr^syc@ zkU;E`8bRn|P;u{a_E)*JJ{{uI_{79vU_Y|wz6OEUZo*A-9qG{Zo|%lFB*#MC;Vwv~ zhvqU}DZbdbbPT0v&$W6VMm9h}7JT?Al$2cu87V`_Usu04ZFq^i#(LROX-bX<%;>XI zyZhebt2#V})8Io>lEg@CUcyJA=AcQm8aohkAD#-%86rJ>gk;se6AS!&T+1o4%AB0H z?`DZUXq1089s{{C)Fla=nTdP1>(GayLg5z(q9{uIbI?wMwC1R6vDQ1>W#e`Syp$q& z;74TAe_8;IQ)?9ik*UQ)o7DDd`QV?4yC^!)$|JaWbD85~oaVSC_JUpHh1TmAE*))7 zO^B6fJp4etwS3vKdU)5RAkQ$1eMBxTNtA(|^6M7XoFMKrP9QBew_NPvbt_j!!?$lc z9GHu|rXG~Pdar=rj+WWfi~on8go@RF|57r6k0C$4gR7kW{-?&xy?_6baHxcQ28D9$ zmM=LSDU`7Fi^d)I?w{G8wecNjZefq(mwzRVfb(TN)%Pg}EfDg3+a{ z$M}i6U27Izmc6MrNg1mb^GlMz`<2ZiG1b7q64&!QHdYBI1p5dw)@e*vph1?bQvA=t zt4<#*(F{bLDQujl0ZCs59S%zBlG8<~T$>SX5@%Y|4C4?vRf(;mJl=>8oL)3cxPEnZUq68uSs{cn^}; zL-FNa>GbE2q2WW6mhliT6ch-uBaLT+kHkV6#vm(+uFwY$5>R|fdhWaQH8wh0 z5s}F4*F%heOD!b9xul$GUjm{&0cxK?oW>%e7Srt{E3@;#|IteFgxp1O`&`%X!q9_W*l# zMczjTNT@l}p=FS+hqYvbBcY?vJrfNCEm)p(syxd3L)u07sUm9@2FT5gzQO`&Kg z2R@7i9ub2lA{F5j_bz(>6_;wsR_X3yG+^P7;Th%Ked;=uX8Wbi2bGkbj*TxeI(e+U za4`$NMyImFU@?iwW;cf2pro{YwSHmM4V@fXMOxI6ENYsY$KV{%AASnS9l}8V0eQPH zsOM6#*^mjc&j22Y14L&FXISIsFoX`^BS)gE$pMF&>f3!Vq4najv*s|oLbmm&BV@^ga+oatdl5HhFUWp zBgf>QJgB0=^XM+#1sPR-;q$QlvYekWqb*%O&-|%@t?&m}Tcje%97fU~l9_qN!fjzq zXsk%^no&D`ycLVs5;hbFaBHtTQSKj-*UNiK%h#5bDML5V1dRhfw)6Aj_@Yvg>N@4N zG+UrI)2Lu_EGpR14z~k&Aclvatkx~|nU%npUp9VO9W)Hl6w1(OkcP~;HD(rqulmI+ zcuH?C&NV>mk`T9O?CB~sfG0?P!O>@K=eT^@}xNy z3~npq;f7xi8;dk5qqRt_a7pbnjN?ps_AEq}PhC1fMCb9xG~NBL5r+6DF|K(pn>6Z> z3CzCY7GX2i&>)tgf(i(>ZwX8nMeL`u#P6eRB#Ngb1)y zjjf3Y+XN;g3E**yXEo}k*)O6Oox?o!@P5dby)lEd0P_avm};~quNV}UC&nR7KpxFA zT3c1s2)Xja>{O3x2y|pm(C(Yka+?L;Rq>}qxbG)mAQ_{t7?)wZBXU>1j>d+D9C-KA zM><>0%{)Bvkb(0(@R!FB7qp44+ z5H$p)v<~FcS4K&4TH<=_XR}YU)7flpnX^woP_j*t6*kV;URG9SV?ySMmQ5m1mrdef zdQRqi;RZx#J_Ez}Bp8Lq)lfyj@u8Y^`(@Lda=+~9zWG1dKG3hX?(Iq%MfQD`%G$gR zsE=_b0y8kl9E9XDZ{X9OFya_yl}eF#lIH|;;nBsp-%Qtdbx~AJAb;39JH__j-7hn| zRQ)vrl})(Z`Dc9+cd(WduPH{sAg8ug%3g}6S>OoCWvq@HJu)rw+<{(5ryi(jqm9lK z>EZ-G%f;QOf#cp2O82PIGl(72Q)6Q;jQmHYp=nM=E)zI(NE>r(lW1chIp`QFo5Z)v zYe}{OkcgUPhLLWEmhx$stnhar%Sr-XVhVj)F&+N!1DJ>x*S9ttj=Go~+<$qLTy<}Q zxLS#(q2b_=h;bI`3a*x#+mXkMob|Fx4C_7(58Ji*2yAAevH+Va`t>moF(RsO4iXx9 z_)ZlJrKC=L%dWKr($Bfp?fv6@Jy{&8SYo8{#NopWLsI8MI8VccCSKJ4fI|8-O{wbf z+{8aPRdm4=w1Qh9$S z+_`%rJU^w~ypnCRre=s2;9~CjBD?$om%&)rcc;MkN&Oa%a3rvS69{8=m_ITNE9@jl zVUv(N)C_ZSaL7j0z=P|IHU2G^(+)QVXWI}N@P~Su?(CQUQ;*WDF_Q77w%B*%R5}Id>FC@uJ^y8$>u6Vd3kMfh5)8i0pa51Xnz3HH z9`@#KPSg5`zpRITf<6^fW5n0lwT$7W>g(FtuA2q<_%28QEIrguoQQ7R zYWnHZr{Qm(;+>F`aOFZYY}1sa={IBB((a_k`|0J(=v@>QeJ=r$wG`e`nP*2Prh!l= zAvXuF`&6G_ea!wFtmq2`vV`aozEBNvP<0?3Nkr}|lLKg;%a22);^=NZQ?t(RS^fR} zi4X^4Kk60?XB0-xo!5H~NR7;=^2E@gD4(h^``6|07Bv~BMKv@1#u+^PEi_dom04Rn zvJ)L{ea^^3T|Gzq(zaOSDAl7jAzRW8PE|WaL~=V@W0aX)$3ArTRdjY1ewbQ9R=g}O z>vp}=Z}>CeSU+nGP(+ILpP-xfBbm8tR4$jmdAfT7Lo9|MQfb1#NV{Jl#*M%%UC^{c z%6aq0**t=wCT@o5t*pzJ6I4xk2Io<@EZbC`Q#`JB)+$ z+uw{lRT9)}FeWsTI7jB{%wp2CYeqOprlQYp?#(*@lNIy4Q>pbi>nhKWuv+zO+q+!) z*W~Y4Aj^l~x!#P0N%lRY&)Vd$Yy5;+9&}8WC^hHt%Z|;WKb$;~;|b=r^32DBUG3s7 zNX+U-3FkA5hMWxA3h*4w$gxt$47>seed)LWH0meUPva604FqrvIF(Mft>@vfZ5y>e zuODY462clNc{Hdu&p`Luz73uO0@w}5&|r3_amQM8^kY0o=C_U@CE?27ha;!?ei|*6 zj!Zw+faVO9qFO9BI-(I~U&q#1pf_g%qW9s12*(Bz1p)#|?z#=9R@_sw3nKBznQg!{ z`^^Nsj1T3RtG=kIdB?mk`(&`SbYOX`n8h1w92o_(lbvk0euIG;(bKoF-l%I*UB6M+ zXL+%9NR|IeB-hepWu?{1C~|UFg{F&)+2^Iu-2=~*4WBF2Q=#m zXA)8i``=j#VXZ8D+8k1@W%rzcHwcc|$PZ<PXya@J>05SA)@9&C+o(`48ci|}i5fiu5rL3e8&ibiwZ>OD1pUX5M_5YJ z2k=yKYjI@w^>4ub#hW^N&Z7CPY{zQC2?%~{zpZ;P{4NUE9h)}2im8KjY6cFw$T|5l zWK<$yTA)^)fMwAR%=|+x9bY!F=?E1r*Ti^kPM$o~VBqi-KE-gbJLX);vcu00HY>?EE^3ZN(+^)%7dKNA( zW!}xo{`;>maj(yI?3NAY-`g@shf%+Mn*y@ZLIsIrZKdSjR9CB^SZ#sBD`ym#C4vp^eVLP^gHmY$?($t0mcWFr z>S#;@9366$FaUtc-$77Nptxn91VP=Q@1xAS<^c!DeK8@qc7z zhl#HdXJk$8C%nTD;a-;mnpkHeKT+u+!R&Q{B;tVN97T^Hwq6 zj2rIzwL)T%{}xhK6nWB7KJ%P{?!Zmp5TI>Wuve8R3dVoI2=^qq=Ihpj*gU!2mqOSeQIYK070K=i@JLnwxt?rc7EFCxOI{~m*WYHETqZWcfn zus+|iG7+-Wi|^FDeY@+zZ#xJL8rSJNnc|3`*X$h|z)aXZX^fgC-mik;d}fLo#l?CB z3roYr`KgP0`Ngyh46M1H=}f&BueAo<>o?Aamh*3OKtRAypT+zrje?O zKMgFAj$%W`M8*=VhI$|$8IqdSoixeJhcwA>A)m#HG0|}d0Ae=)Gk|+=U+bG&wOM6= zTrB*`-7`1`)Ikjc=ZITuQAR7`5GpyTz~0Sx9As25Nzwqmw4A?y z?f&J{r#NUFWN)znl*feKxI-Jfo3fUkaX{@(#t^Y_?TX&tPu86izjkx46NxDtf$=Sm zAz&e8KEBskSN9Q};4UW)9h}>;vtJdE(Sp0#)pe*u^CBVSK^fAEG2R4in~rt)*g1{Z zM~TI=BWGyp`$C=|)_}R_vANV94h2IzL6~kSOk1Z{l@=5h4(InjYV@A!*6)`@@t%no zlV#X!bpwzZnkkxKT}-`&jZ}}aqBn;t=?>VN0c?jRbeau$tK){hoSifR4EXXxKY1KZ z@{Kop^HxHP&DVQm$an;Kk!{<0Ztluw57@{M zTU;enD1-=te{w6LtP2<<%TuS4fC%FGl3D@i1mUqzh^9c1LGxQ7Ns?teXT<)(2`n>U z)(!w>b%0V3&KIN!p^?xT3|GG}*cA`EnqWs^^3KJEV5tvDfFkX%UeOY zPxc$;MBc@s&yIMBBQ73u4Q=pWsLvgvz~i}sTE+iqE@on_Ln@h$$@E%?6)ek^+0@a{ zL^ZK*{^vdduVKnh8lam2082QOLtGSk1Fm1!Kt>{Y_VZh&dG&=@v%(SJh@QUtM=e2N z;bxSHksST@Nmz(Upz+xhL~%QCsyG*11n!|8>ZhivdamHqS3>TLkB>7={bgCQr`3*W z+7LbtPvXOupTj?Y{)`$83=VeXafA!9Ei!e#nF9B*3?e)^I!_)HWmg~vx6|SNz@?ZY z+suOsxN5pLZT(@)Hf_|^-eNzmf+)inJyeM|m^=|`@)k3W2En3JlC=%|%DQ}a+0gMoOk5JJ_-c6p(ki`eF zMgvk5T`esDzZ+4j%E-?Fj|O6SzfS>8p#XAXlM4tOK~cy~)0Q3g*&po<9$}tidQ+P@sc_Br@ZV6vANqHX_IXY8$%XCv-1rxk& z7MFxalJ~l30rZUiy|Fhb2Ht!HKv*KGk8Z&!PRMh-GwYQ9)vMN+o*J5`|Mx9XjW7|A zAE+^;2&N(<72iKq&>$~}k~#OrsTe=oj)iSJb7oAnOMKxK;hYTY{{Xp{@cHAx#wVRs zW8n>Q<;e;t}Krqeu>L-|wzny}DswiqvwHlAxv1Lr@tekmv=|>HCF+vl~KDWMvdhQqOyM zNKAVdy?D{|(%Z}54Q(!jNJioo>~nnKBj3MEN5woeq#jm|l8oRy_%yTlo8o*u!zQrhG~4EP%_e_uYr8=2!tYTM4zc|Y z8Axu${}87C54m7f&=#pPe^-^0Cf9<-14TmZzsvXUKNz#B{Qs1xj*KdWvSTCV$btPj zeTgTA2`%)mdPI6=c@6mVva@kOb8rA;#VJx2-{{ zgQN(DVt&D2ayRU9GQ&+U?nu|%Nw5V$_W4y=nIvYI{SCMapB~*Vu6w5*5C!czNOkxw zr{M4T1-uKN7IxW&fefgG=BA*4H&h2>jZupmcN6p${DwSG0jNXHx^fzST!8);LO7-R z5ncrWjJ|v6R_f5X1-7nkWx_IPI3EM+%{zdSKDBV+Efit)?#eur`sB&$W|Jgs zlJHtWN3LJ9e!U3J9Y}auhabKl?<(Gk^oLNK@P8#LR>BnR-D?D#L>FZ)5tgDRC2Y>$ z8&7TTV~(qx8=O2=TLxP1`Ikf(}iVaJ2)H<_bIG3P^NDB&& zbU@6!e!Mks20jigP$zlx%#3(R0D&7l~*CBYd5{u#{<^j*>Wi;s_B6D zmGzCC0h_PccB~H8%@e@LhLK}G*n$dvkT7*DjX%Arq@^LLp2@s1DjJW^cIgIO@PprH)KgReL1Y z-jWN)9$Qce@$IO%YXz;?I*bs^~A{ggsLH z*a2Vy@WnDl{j?$e*Th0guYgyQ7IZDvb*{o3jei1;^+Ooz)`{)~$GYE9vaSt)K4=)< zd8Gf)XY^Vr0ZY%MzaZ)r6b=Lp#QG+ZMUbSxI*uv(v62gtu&#@io%bKhC>(77OuFR= zMu#_9J@!ucS06%!l8nd{LqcMqWwZu*L%0|^bi5rk^PN3&2@z*r=9|_6)tl2r!k+Cg z4^fF9&B}N-sJa>r!Y=c(Q=Pe_TMq^ZRBXjYLPA5kxD(m}=p+fZ>Tt~;)xtWs$nG5j ztEG$V5Tl%S7rUfl(z0+eg)EBJp^wPh2p<~(~Lz@|J^SvdL2#8`e-}3$ujLH!9tKOcG0IwqcZ$y` zQo$R+q`JW_v*_zeM=s)MJ^JFOdZ+c1>4G})MXYNGj#3h9YgYYu+Bj38zp3BTsYYTm zW`_*KfMC{l{}gg=@>Nh^E6q+H)lA*wlr7@!G{_Qg5B)!e|CV z07eqRVRo*IP?SXPzFDD{_B^S72LkkoQH29Gp=}&AY z!E_oxy`)ob$u{rx1RG7tt&0&Dp(W2f((HU2oZ@}KrfC;WLqhxkzT=noY-%>iKZT>Y z8TSV_OR5T}4%t6M$6(ZnZJSJ@G!*$mkY~kpSpik`9E=aO?qBRA{WZwzJ zr@Kdtqa&6)5{W_ZC4_I_;bVYXj0tdoRM%6jh~qRM;hmF^qfQ|1m-R*BZ2={ilHs~@ zApKNjH{6t)|MN2(PZeDc5r58OXNND3%Zfd1WKzL3lDS?31A=7Ii~EG?0E1rTV&4=Fsm+c$ z%7DIE&Hkhs2yu`_3-hNeTJv*{uXqDGxYDNSk7F2)BBf?o9WJ?Z`*tVK3z#bmm7aYk z=E|p+iB*qqi?#q(hTtWGX;$Kt?E)T#Ahk!DHB9DQ!b0@OyYu*QCYb!P-0m1<<|16E zdMyzp?FC-h(zwS5FV34lQto;=E}|JG!3AUwug)(pjzzgUC?OKqS+aq)dTJv{ENq0k1`$I&^po5q z2)dxKPR>3KEVmg%qtM`mMfI>b)P>?gTrPKdVlBZ^7TPDi{tDv!bm!1|n{k=qKR*IH zpdIRW#u)lUsH?kshtb$(3rUtM6KTC`h5W?6lVF8K0eK1&b;{HNm*n)8cjSn|-E8@7 zBd;jA#{5S zK`f-YUG9QVG3_7XmkecJzt_#aXjB1#$QX(+hBUOoHK^v(w zk<=~J7Q>{rz}}<+gJD+<{n#*A7jp%pqL+bzF(Dus5m-XvCXed@Zo+ zAN13|!1c{6`Dy9>@U|E&X#V(K1&8lvj+5be({!ehBk-D~PW=Gr#pngv7<=tLb{ayB zA&|5dWJn`7J5dpk6^^BB3=?`M1IE{X6=k_2r0D~Zk+UhWW9XFebreWOC7K2XNq9Pf z5WtLv4T)Bve31N;`%-4#r)wk}x*u+g#E_IO$3mdSY_i3td+*)3<6Q5J+QwQv@)~c= zkhxA~=+j+QYV$QttzZ8H3R>j^F?;mI0iw<^mFl!%hJJuM4fLqklT#wFGp$W=5XVfx*fAS#cVCZd`LfvZ;QI7&Ik^ zkYLap^v$$#-r-?c&&Z*GD`P0G{>^O^j>TR$f|N>f;7_>ZffT(C9LK+etqaNT| z!J_)?Nvh9eU0Ida6RGl z>nKBbTzsIS{boB4JY4c5ExqN`aW^FY z4gX|o;vApbf2lGtiIPzV-K{)=2*PBT;LrH~s!l zqkh<_V^Aw+Voed-cJ9Mq6hUA{<$$(tC^I0USEFi$of`i~zk=7a#6?zm(R7p_9 zM0FIBgCqe9(0k$yAr!!IbDPHH@3T<-*xzsU-22DpN~S2YY$lc}oy8R29tNv}2e!^Q z#SQh3?HKhGZg$PAytd9U{AqhhvdP8R|yiO(CyrEl%nX?+L1Z-g=F ztR>u2uN_+Bx1-X`NcZe!fLf@~QVp`WWN>oJ$6VHgNjt}m{KUbJ{4xd_I%_Clawm~I zbPWDJ?eXS8>}iKEtUa=}QrpmB_a$})B9`8xY|ErjjY)Vtj!-QN9x_#>Sx+iR`6use z4oyj)s||l_l=Ag^=VB2toJ}OT$u*H=iHiZ1GlD0#93(-mup}DdQ;6aMIwnq+%mfYZ zFZWRNqj&QV3XR-k7U1g5zKa&y7A-utSI`@gVh7Ssp}{}4yYM^g<;qd*FV1IoyMZF% zExLs@rhB$3?WpL3XGhcC?X}W%&UeXp_C4dw)Uz>-vXA>*g;OqHdB-BW*Sx+(>3E!K z{`*LaMw0=~*0Y zN?f<0A<#praeoW47_?pWGx@(KitZNN|!{H)na zhnC=I2(-oYsp5H)%ojfb7Fe-h2*~XqbfWA0qr=A$G-H|azt zb|$j6y-}Mn2sD9IoWz!xoKc`}vyaTbguzHh%NS&fok<4cM^HB*8TgC!-jjGU#9m0%{{)(hqvc0ljp zS2$WwWxY{#XdkwDIpX&%WCki+07^l``XipS=L7?2?8TFTLCf!nDF856Va@tgkK3ft6lsor-6Z*E%*!^lJ(;*I@$R$?0R#q?20}o??Hz(HK#jrlV{Cl4K><{dirMgy%HA^1cH_DVlHMY^~ zwVkOO4L><>g2pnlGsi$|s9%qd^4?9C`v%|U42IjNFS-9XZ6QN>A%HIm6#E7c=Mzfz z5|}`e?$(GNP9B~BPO}TE(2Kwh;7llE7z5Gw&3(T`X2jXs-v2Z*5={R6;;*s|y`Lq< zIX^(`Q;MK$ppMb8FlD`!E7r8{)8UU8vV>xet$3z;49=aluCq|oo&+!ekiBTHb=VgTbR_HdDG~%2{&mil9pTC44uO`_)z>#id;5< zz@}4zoq-;VI|cD$76@D87apsSKa?SRcE7>Zr zO5(sIM9oo0*lUleP4?FFumr1GQQxcz<2EY zllR*N@Q`eazH7IxjV|0;@r6SsrGPJCr;u~9;U&>`Uw&DJwOGG1@J*LK1s@~!Rl{&u zj&Gg)$Zx2qNFmZIFU~7?lkVj@V(wq&qRD-ukBOqAuisg?6c>mey{OFA z_J6u|9cdCi*yI`aY%x2(Bc^q@=CC~uJjkHIx?cib z7(=5qTNlBp%lzHF9Zr}K2cs_(K8tBo2mjS;&q0BMP`!PZg5-ydRz+B9gFeS-(M09918{yB2ANG-xpEQPe%-iG{>uhqY zTL&~^)~{c5h?>3HHA>c6f`@WK>i*+hy#vf&8Cc)|Uis{(<)4Zt8rv}~MQ-Dlg-hAQ zW9`7RG1JmoH-!yu@;TIdZWu4g+CMCi(_6<|*~e7k8)pW?H7@y9cut{8s5}RpOJx{V zzZf2F6CHr@*7%W#4(RYxiSIb|WiHX?q^m4{N^?M|XcOg~{mAHp*m*ID)n)8Ve6t$` z1(yTc-fv{Y>pRMAMqHoZKy{>Luh*my8JLifA!1FVVlNO6r^)TR7aoUZ@%A$tF0ZqR zY3PynVsW8L*!t1YbJCFPNZz?PmZIbbtljC{;k2^Uz@wIl?@tc1eJ_dKY#FWTe#`euO(Z*V~31XXfU!KpUhnzQ^2mJUe``5pN>-kie? z>}S5zRv3x6C)NMM#CnTi;bT|PkGy!!`e8E9+p&qdf16z9naYiKD+?A=9{ykKeTh4k zTigC4Mdp-bN>o%rNXQ)0M5840oMcXhBFb1uk)c$kQZg%ZWJQT;wC=-e`-Ehv@VdHYIlM9ci*04#Y-| zmGwkyBOQlsTm8i0Vn&Gq#@luL;XBtn;o+sKVd@)4!VKK9RcgggsxTh$Z@1_B_p|ms zKCdVde2IH=giTkI$ljT>z2*{}E7+`kYjwx;aux4?{&2I-u9rIajasZ`seG7tKi}W) zm2fpnMu*1l;kQn~oxkQO%IV(v>E0UY$}dx|PBC7vRixv6kfZSFK*SvR<*ceu~>}_CmnP zWQ0H5e%Wsaph#Sy9uj?oG&4?_&=Nv?g0D7@zxv5%{Fb3NJOb5yNttYAZ%<1RKAXJ~yS$4i>%EI}QzqE8 zC=?W$;#X$JcYQLHknF4y&c zd0aL?zwz(~8tD;=`RzK&Lk*e&6{<8{+IuQg_f+WoPOb_`U^tY0_-@%c1Lor*F5$`3 z&%6Y*gtoz0eP6N`mmkkqLWQ@FRT)YPlFUbG?&>=K<=t%oOzRO#zk;H1Uo!bjH?n^# zq$tWAEUr5l^WYBu=anWNNkTc>;O0tCGYgqhDV25BOdoQnwWy-%H1gP6l$K9@GD<(L zjNkDm%MZNw+dIC0PMcL+%;MXDW4|N$de&ETa{K!P-Di+e*X=L&_ECRXy6|b2m2HmV zhFtjQ0#gx#)Dv@68d%PM`_b#}Bn;(C722c#FyV;d9)O2`uiBl;=ug`!8I1(OMqlQ4 z#;Lm3l#L$|45yQhL5_CwO={VV&h#6Hm2w7~g&vCSYq@^;(vEj`rs4l$e5v>mnNAiPnM%Ol68U+M{33^;qzZga{wzygj__K-i|^y~(O3JCC;~soF*{ zr&-6Pgod0JV3KjBOr2_uzYW90ecQtKr9`N1Ikj(RN5ZKj^$l7&ohO(yqZl`==l9%M zM$wr#d5d=OLjUma3YfX#_mh)5UiMRrbJo`!#3LNph8tp8BW-p5{66@z!myhX2ggom zrPVBTdW@#9;U&$P1e+tlZPx% zWVK#4+e*WWcjsz0O2`Jx*~Ui4$H%vC-(H5Hw67y;$@0<_gxn*+?R@6VLoUSl57P*A zUF)HFwMkRPn>x%lLp;CVd~)LFfx&SzuE%57O)-D9w@+q zmn7hB5fVClFs2%ugHTXGR!~4>AnD9!Up>P+4T;>LXa!4nH+X(CJ*BTtf?^OIL2OyE zYX!hl5F?Nf&^Qrq@Om(KH^$Cx;7<5{B09U_FRcjfEk_TxOV}P-JJa7VO^3AS76t9B^@wB9^bmk9)&-(9PYQf9uwjpd}-e z;o8Zr(x?Gg)x!RZ#KAiMriv^gw22LLVF*gopUS(W_ib_K$#o*-0&G)!mAq6WI za=mzQH~O7GU{#479}tLh`m`VZ9(AHAkm2IKV@8mM8Dm}H1&ETzussx*H_4O7`^dPew3B*B|L)wmqgcf^wEh|oDq@*waX=4KY#%@Lzn=*iM2PmwtAFjiY zZXLeg{Hvx%^H>g3z&PU5(loz&pydGm2tN-R*q-&c4TYdBysz0kHa4b)e??whtPyV8 zyuv~*us=w$44zdQ%{q`VI$xY)0a;(53HHVe7BfG8R)YwC6K`y{mih&rfqb1)+S>kP zWnmGh|FO2QQA4;v$?wnH7$6J+9waSE_4vB8d$#8^b{T@bX;l@W2?=tjoE{)-*t|l%5k4<-9p0Qd z;**KQP{j%;Cw3Lcp`>R91Oa1Sc=~2%3)AonPDrAB!yYv1SP*mn{uD?@M@m-HtXydf z`7U-R#HO(srXW}h^SNL^$JlnC*ZldGhNVTq*uuVGvnNiu2-_qT1`MqAa&4~V<++wl zdI7>wv3jBdkpT&I=owJAA#hqqNBqB zGiN;dme$slaYYineSLrs^D9S~{RMEIh9x^9md}@79pt#j7J)BbylDBuvPm)6zT~(1 z_a2Nd0X|&A?l_>6^YW!J2EtY_w65@DNQ+DFV!#qx-$u*t;={ypC%MvPi|3hMNG1st<;6(3(@k(RavHbN~KTB*qOm(CQ{Xe}7Cj zSV*4p_U&s_UgM@9@oNY;vlMqWQ5XQTH-WDraWNU{aAuTy6s2fl`#Jk_xHLz40@K)k!@r77BMfjkeN zOv_MybO<_1voAJDoMvFZWZ7>Wu={B8;+@o4)!g(iANgzQxx@_42JL;rrQt9!x1(xq zFER*HSfpkK{7pL8{JE3R`+O6a?%i_1=&|b8RwU z!)=N~$xnD`0%qRuq}GU$VuIHqhKk5fCKQgYMZ;HaC){{8ZTdLmL=Axmt?#bu_$CBV z6N7-F&TB0=U3fJ&p)f$O!W4`~2El^6RO(tM_5?czIt|uHA0Hn_0BvZ=RJNND)96PE zLBt?)b-?^7_<^H1$buJ}Mzq+zx$HiGD#RDy*&G^$ek>WdN$=12bqVbYe~-h(i3(-y0BCR}U9uM6qe`V+!`?0efRmblA^DLd|?fYY^CC z5Mh%p*`Z<}yW;~n*Q0Y9$RgB^=^dpmBA_fbp1|N>wzrPh>`Bfv2)dNs#=$R08a|O2 z{M0Mu`SS|$NZ*`5;Ei4W0L`KIGYIB_Psn9OakTfMK?@L$nD)rT$<-#v_VCI ze<3?H^YkTWfOP5^M)?l=*4mNw4)n1w=MHcgtAOTS!_?PRn)Zd zFUG;M%}Vm%v116i3vJ%>8dguH_yfjp3c;Q7Eh>^jx=mWH)aK1KrblYyS)`DHclYoU zvDy9Dl;Pb!_@FJi_4KVv_t#23v#1?&IuQSM<0st>tzREBKR>0y#Cf;5TrQ5y=kCu<22*M3-} zg z0}92y;ufqwj4^Z+>_D33I$a0S3FT;9IDh_*a}!x`bvtU|*@6L4s(LMfo7CQAO@ z9Rcg;tDDOG6y;f6RasfKK0lefb;wpHhCR~cfb`o0l~z@BiDA1kgd(1wG1!FxNhUZK zsrm(L$q=pjnoM=~KqD>wR;9<;M0yRX=-MSw<_hylWHr* zb*gAJNyXXqrUX*S#}eBoHa|u=?2DAt)!i?kEJqL63swWypH`P(P34^9W%JuCpb zuEzA8>1-YNSp@}Wzt1Z_3czUDjFehCdoUJTzodvjC_iy2#v2)l@S#=jm_R)he?&)1 zi;Y-0z4*gOM|X$usP(w4n0?=?t8~(1o~hM%!yzOz5$_>gAPB{oHnu$R&-qG=`h3;_YOm_!UrOfZ8(k@#gsDe}?# z(qjt`u5Owa6`E(~8FacQlvmIsO%T28eb`@-QG$}y|5x9YV{7>^0eW`EOa>JIJN9^_ z*H?fIE|PvhCTZV+0|Dk|MWc?CYz3u1rspk?62F?_#jr6vt-IZ=28UD!OTPO1cryE9 zLyM<-arlV}ik9l177|_F!R4$lL!Q1AaabUE>PG3S?&r8;5)=M87r$YMhNj-6tF

#wh10Ef5XmtHY|#cq7^&4@xck6;TttKn%6BGfM&0=k!3$m;3rHBn3$~@ z4#LX1AEw8n2}vv3{F8jT5DBe?c~65Ej<3{X6~R!p!^{21Zq1TyP?2 zmpb3f&b)m2q&F8P zE`~UdC8*4VD_og9_}VtJ8g{~(vs)(9W@lYU9^#WHBySYh2!-#w_Bm@#3iO9tXB>Co z;h#PoVg5P-fR#zvKFXpL^~z?0tmL$`{fKbE2_ZmTc0(^_M5#%6?Z-t3>W?>GV+CmWoMfwXQ zRs7NmQ8xpf{;IyDV^DBxQQE?*RHI`&HY0ibOC3}0^PJSo35LzmJB}SZIP$}9e@fdR z{9|RjmR=3pc^reQ3_YGS-maC+i+;^hK`;6+(7(KA`@?vwTN3>RruMVbH;PAM{HfdZ zPISiPe+pDj#5_qabj2-T90QJKW?P6I)-S7Ne}k3tF?0HqOm|uR%Afb|-=DXQQ#v&e z=k_`PvK~_uND3b;kLd~SedCzrhbR!+yk38p!o(#eQj@0dmHTdRj{UkW0iLma|I;$F z$!7-+v(?PZ?5}siCq628M_5$UHmzu6U0BZivX-%!1Mj3SaWSRM8UZ0Q?jH;<_*Z02 z&`q=D<{EaOn8pW*I9HF>J5Q)dzS7|iSLJcW{vE&HPdg>TmwSE_MSc0^SJeyCrGuMJ z4PEV&P^GVAdXF)};#NMsGMh82Ji}jldsBjW6}WJZ7A0iN&}NeukA{W@MSF%3JL^;y z8Q>P;*nJ1~IF5#t%nr0$Ny>Q4iNW%yNYVBjUtr8p7H5I@48}=IR~MJrkws6Y2%5sM z&7!d-T~9<9i_DqK_ZAfvUhciT?^Vbn2j8K0>(KJMfr?6kzT+<;f-+=y9;@aW*!UXv zB&y9*gswcGJ%#B635Ek9oN8nuX*07-RfqMd-CZ*?_MK>|(y5AFm?F$a1SwKj1>)XuQ4|?wqnecUCg} zAh*FBC#F=$jus=N+hhWGjNkhLkT$!pj(1?-YGk66;myvUI-jGvFdgdkvak``hZ!1S zN?}Z92auJ2-BH+iravDveu12}mL^Y2D1t1e)r2QDV(xh9Oq zXDsi%QM3XxPksrB>;sdVp1^=`sox;sSGf=Z<`cn3;I64s?+>Y%;`mc&4pvK} zG?TLH2}GjV&*YxPLks&opY;q#)nu+xKQ^JU;vE$)H8r(kw{70fBL(w8`PJ8!(z8Si z92lEoOzQoX%-tH$EGYGtHr;a2zq}LZBI?7r>Rne!+lxw!AdBEg5$qiACCH7p(9RMG zfLpA>Tc5q47ZYITA0J_B@HwsH$N3f-kHY0>?eI6wtGB>Scdvc;G~PMY7LWrY0p##Jgdnl_|G3x5xcOS?&MvxM^sgPrgW0EX1|JB zqjPO}c=pQf2LdQ3Unl+gN}DQ~_i$-zR6XXre8McRCxf@}L@lAy@PlaG6fP)k@KM@o zAPXpI7oE+RBd;)Qd)Dxd(&n?d{#bWxpOB@_4Jr9^s^!P!+H=>i+_D*U9>Q4=MrA~6 znk&4SOR>R^*}qqvF{;|fNB0kFXn{%ntVl#i0~wki5<#HCY}z@*Q{a)46fjW4riJYg z`13(wKXTC)1PbyPW6XZ#*t^06aY|Z_li*=>BwH#j=Flk@m#kGK9|~mxKIyS|2v@bhUi`+zkZnmckWmP3GHH{LlIMRo^ zJ-Bm+|DH(&4?FxPg*3g*W<;?#+ATD;6wq_=nEQuzbd5v-tdD!SAhUi5+eCGIm@R&-xfs3=n%Xt0|Mefl2z-Knsee zz;Qd9wPnhDhrZZ)tr_Q{T$|X-0aUbiHX>iCZetJ7;(HIY=}FobiHfVc*gpT8s1V#d z5QjG4XjJr+@-A5jzL*XEJU|KO7Jf7d7zJv2s$(lT^rYrpZxz6OlCZ^I|7Bo+pR;ok z51pO*F)(*TS9T0aT`>d3%D$5tJpC|@A6)C!y-!&r@rV{4kjF+^W^8<2rgo$$P%q5st}0@y1XBKIR@l&q({yLrv17YpvAG z%QkhR+5PRLeh$YOHQvE+u9 ze8H{k%(dkPzT+za)Q%6(KH6PTQKJ%J_l#uv988#IT$K<;(6Vv7yRq67gJv7<}bw>$2hueqqIrH(W z!Tx9409tfc4X%op;dzupE}go_Pa*$54+AWDWvOOht^@1S2COO)(*o zx%7>Vi<{dKk%U1JXD*UezZueT4jU2dFtMJq_v+dyU<`MDNWBeO^gmw!q;zERfQZy; zQHBQ>hOLi2R@18&m3Guh>LlR31TLufj+QzTy6VKyd{k#ZE?`Q7)C3O<)eh@kVtO3! zl4|P+`yhsLYfDQ(oC|iXVTq`_z~71NVT;~0r>-n%k=!?Lg_W?gKHZjh6rf=#(6leNfkmTp*l6V_oX z4?kIp0}hx!u4?1!&7t=8*Z~))V5M*?^`?iRiac5M8>FviE<1_!T04u5|^;#}wt<6D5mpgFrvp3YuJjth0*=wjft zQ{M;DpF8*O-vriJhEE`qY7vnL{d$rP2S^~-NXbV)^{Y-dZXgG=VB3H-(%=zbKsp3= zF$rP^Y)9rtNc|{yyZ^v}A%AW=j+yMWEmP-2ZZ|jOtN4Us$9zcA?4ijc;3#gski31T z>=sc`W`G+EvlG2LgSR07Js55J*`BKyx|}F$F@nGT3W`c?{5ED@Km}RWZ9*6nGEg1B zZUNF)OOzQT2LNK2p=MfFGKGphG3x-THeVbrL#VCtbb;EqjX2AW^%kAkeugX*3m;6I zVFP>v(+7|kKDLM2N1!?daOi{Xk`L#lbI@# zw#i9j<*{SO0G$?|F}oVLUrmiqT$~ltsEVZ-{yWK{T9`HZBW)D3_RTBLCKb{^GGl_* zEgu?|d99K@Xbc5`?GRL&-nAQp63w?C#B4uE_JEb{spyIlE%lzFrz{3ISy&GIzG=zH z;(O&ZFy+8?@A#Tm$$P&zU_)2*hqcx}LcQ4AaM7C1%qK(JJc zi4;VH2WMi1!7M~&NHC@nd*ohq7eze~H?l3@rvf%x)V9NJ7GqaP zH$6R#DCQLy`(c?e;8jHBP3Fm9!jj3qlT(;4J$6h%y)c56KuEY925w};Oq^0Bxkyor zu9i?3UWab_m`EjoGw>z|6l9PK;F8~sJbxeB$@t`p||9Rzw1D;Jja67n+AxTPI zU7ZG}#Bn500%agXT3i5T>niK!O5O$R0Til&tqr;kGWsPW^2?VuBV!hi|A4-}eyOuP zcwhPBx!t6h!ixjHtP14%Vg9O4UGojQHNT)BP1G(Ub!?tUac=JHT#aEF*>e$A~i26^_()PRnY#l$nSq~0GB64k! zybErRI`&?$m4I9Zl$DiHEwDxYZSwFT^51K>;32Ew+A%!CA;^IEQf!wP*wK@j|Az?B zWBj+BJ$LTurxyAfwft>3G|BenJz?2KB6l7h`A6!Ibdagt-Xex_LqL9_X=2B}|5ue2 z7=p<`KnGAUQwod19ag&kWwLQipiN{_MPo$<`ppWII80vu=d&{Zeirn)*YO^aJ-*^1 zU^Exuf0VnHe&e!zl8hcOtp;$MV18da?#lgF0G{O{AmqR=t0_#$Tf~q`A6yZFMbYC> z$>bvR-#={1fJ@@T#%gG2h<2wO2fH|4Jpf|L@y9!hto~iOk4k%2SMm#2{=c7yzsz4Z z(E88c*AAd)`A5jx98lx^k31b1$iw?zn%-t7xBs%{0{`zn{=d8Ne`^D8%l}Vr%Hb;; z;*?NSAaDBTs1(T6`e0W*vcGV_=jhYX4o}RCR0PBEZ(yBIeyN9P?d$au`4^TP)0gd*&K|^^1jsRf=B;cg%HGf~^~gLl6+<>iVNcj~*9t|GkC$ zORl3bG_@F1p z-sMsB$nW@bHrt$zAg-5+(Oy%fR5h1b13fY{&xyzMBL6LFB?ok`3lpxTK7=kx zXir4eL*}Q6(UJ{n7=0Q%g~vno80KOqY_19Y<-Omj96%SOur<8SVJJj;5R$FC^6=UD z*q!|EXi=;3_IVaXM!;uF90smGJp51d;B)Bd`=9dxG|WZM*8F@2^B+*C{p^HbcqLVu zhiL@iQK6ZF#>xi{U!ZSpLDPhJ7~$<v2(obvo0Q@*a zKGBoqwr?L5$p8JARe7`{vWHZ?PVP-V+Rb{&yUGK6b*^5k_)C)M`vH^Iy=AJHPV zTvnZ72+ZJ7xXgyot^KGsz}JDl1u3eCaI5c?JE0T3R~!TVawq9`i2@F54QvZORAVT& zq7|-4!ScZe!itz&*c-SGfL*kbLK-wAA4vQq`;z8r8Y5ml41fWkVgvxn40T3R> zpP^P@sd7h|UXJzR00WJmlS1XO(;^if&r_w=3U9N2j5Z-H6s>_hppmbYM>%JbLssUS@9?wD!X|xAN|e zQ#PWffDhoMn1WF--0`h+na429YbKlRbW4`p3%K@X%FhFso3QOT6pKWeM^3t>G9hs;CB;{ z560!W8YKc{C3eizOrk!bco$8UaKmbdD5h-su7Y*xJz=MZ+z3+HZ_SY2vxgry9Qxo& zsDY-D*@YUvJ;@d~n-G2QhlB7=caP+t<3j$%5Q;%JybqR{;z+PwesoC|En;m~zZ@X|*7vH`yQ3om%trJC=*UFz&E)^Dd9gko~$@l?7`{&kaUL>6L`diPs;v zDr?*3cgAPD7O~Eponwe3&9)R}W(gZG47 z3#`Bi-P!gcCloc_XzMp5s)tAvy~TUE^SqxEwwEDnCtJ|$ZXE@lKL~GvD(ou)FEeGF zhF4?0ZT)?>{l}7xVBoEZL?-nVUT}^G0a;ltB)e9F?KlMoDyk91TwITEu3axZ(1Y+# zS8@0qH!|8KybE&JT_tk~C#tUuRQTbI6Cq>Y?j8xXr|$=VfJAB~#KM3d=a%~SShSNX z39Ex>XyGfcLHFe=7%z1eTm)w;Lh}!|hHe`BuHu=ntv&fT*Qb#Q!D+A!Au?Imy4}_*H;pqGkh)2E{5h}Yo=tv`c$KcolV~Bd@`u}F06`$&$5#p7;3|PSKnk!_hq7vTU$_aQ!mAaJ zrr*gJ`y%&Na!2*Y(~#YCO-nbd;*x!Mi~j%%0zt`tHF1l zy~z)+RAo^xpH|TUXok~XS?4I2CYzR~XcHY&n>so+APlDhULOQ{p>!5rN;y$>;>?)< z@>MIGPzV}c{cZ7LUl5eeppXG~;CB|NeedE{jSHBJ3%Q`dSlzlDC3*rwrOKp`s*T(7^<$$S*nkDZT3n8oc_& zNmL4LN#8-uFoRQq_O7dNQwtMTf_09zo*a;O6C?nEsV+@%J`;^R0Rhb!79JVCud;ww zLix6Ct+FoI1YE{cG|>S-GG6FqMf6e!_l?(myohgSb(;(f|-O+gb4`-J-OP#J$;I@$qZxcA;=abaPq-e_qpeEMjb4O$w( zN5)<*FnXitKFGd!^=p&HyCp_3~$ zIq=q2V$#_7B2xciZdfjZifYW&kpv=Y?fAc@iE!( z`}eJ9<0f=zwF}Mb0;=%doP#s%0l zG7?$A9Cw9F$I;?NPR?nomV{k-IqlpEP@xFin}s)8-{)ViU%#ebk8!FE`1xhs-9;bY zw4WI)x25U_0-yQ27;@YCND+KYj&2CJcsfigY)m?@t10mYbSgiJ!n>uKtVQ3Ay|4q* za&N4Rv$nmYA-Po-sm=Y_QUQwhgZ9lPUQZZno_{)ce(d+-$2Sahh3T6IKl6zsxzz_( zFjdC+r0u$^y~a)oN6hWH^=QP($Q=P0u;{6rsIRc&Ql)1^qhf6N z5mhOAHaEx5+fYr-*Sr7;@7bxFektz~6ihnMo%cHP3hHe6YiNNI&UAyh%6pRP0Bk_b z-GRp{TrM4$$M)+f8oncGB8hR>osOQqf*f|7!?Up6d`)^zcwMo=R7@GXyE?~xWOtvA zW{}oc#jX5{Nj*)Q;o;GMrh4H4Yn|wo(9@9W3Bc_%-gHjoUmDxU z#*O*9?eykwa0*M&)j*9hY`nfZ&@GseVtH=o*BzA;s}yVvOgL5(;&CKXy=}eo69xW9 z_nu^64D-iUZ?W7V^~R%@sp2_T!Ci>0H&3~yxQkRaIOeC2a6?~eh6V}M%!}p(E66%Y zmzD*s)m8gsj5E}H61NTbE4E^e)Tt+0`SCkjerIc*apm1pmwK<&>HXGSkWvX+pD3wf z#UHi&N~yA)hjDKMH#H{WVtQ<{u1&Coqr9aYyFsY z7u1oYdhsE*--!I2C1!)LYLcB%nI>rF1pb*|bQ`C0k=uveiCkX^toF=C| zDMs%=Bxp|z6%wvl9LeWr-UD}l?|LuiP9^csKBp;p+3oxde@nW$8mcjuX9U zGN8__aS_)Z@)|oz`WM(_Hfv4m@EfGcsxn_Rh=~)$1E^K8kt7D_8lG z_G0_(a@k!N`?<}u93b5b8Eu2Sa{yljBxsSZvM!hd6EuR%OL!5Gc4+${JTlc-lYA2n z8z4p=hJuxoqAAUfIeVJ>l_SgO0+|z(8Iwd{7DT}2(kdl&`t#@HMm-{R^`D@D`rlJ!ZF8joVUAFdPTBQH0){3$*pNxaVrCzhLUdkU zUOli~qSj`|gZL(Q(I;@lI|tR}A18BpGCp->-0yjOXTVGJxkJwWkmZdTtaeE#_`$z> z!B0yaYWM1=S}U!;<}aqA6_hdzr*6l@>=d>q(XZ>jpc$#lPClL_4WD6wvj`p^>kkKIMteP6 z!xsj76}m#ghiukv8*RLCqkw;BEoBvzwcm5pg>=Vw!ez0sx1U7>KjDLpb3qc@{DsC(>4N z%{N$e#KiBRTn-=2-Su^>yS0a7HGA1w88J@B{QWl=xFSZm`d2KUdAcI5#;b8I{T9dW zz5XsoR?0M3?$*`Sef=p1*)z8E&0Rb7&q;FGCgsfh`nBnOZp&Pe^Vcx*uKA;Tjbqvd z8a5i?D8S6GWsluz2qM{6@ZikCOltE){t$COQxPVgOX#o9>L|L5MGyai*no8f52_fl zF@j1l;ZQ_qWqhBY2p&JW8=rlWzsy98V+tm`W;nEu+J3x)a*H$wz{Dst^hb~(-+>|D zqslKU9L{G}x1lJ{L{uO_)yk9|o&i%LW|(t5AdC&@P#taYw423F2?ARMqjZQV+qb_ zi-5HoBn@-BqbW-nNB!1B@GcuYm#h`7P8>}NIcMkxPO=)z_m|Xyh zcL0@8CMoe%)3m$g?LZm``xIq(xz0r7R&K5o>ExKZDHMqNBZZYSXrIPAugz7a)Ee0F<#9mjThp)TZU>O<}!+Y)exCN{k za-4j(KcY*rwl=cts z83%zPaJET7Nk%Ylv$`+=AH}2>FV-o|m9yNAjh$?j+5oaSph6TL$~t+ty$y&6{GJb9 zJ7G@hEcN{=3Gn)p=XJ4g90LG?u>h-@oVf^tRzIbM0T!wExi?`YLGD-Pj+b(5Sm$If zDbKd3=TXeXI0ie9zj~shbvN097`M%XNhw@snW+t`3?kC4b^Zw8<@TC?A8VtynL;61S_9ZBbZQnCGey+CvwHs$plK`9;?2CU!zTd4+ED5oEOdLSmuv)#p zcY?`|v9Qm^zs}}*omIte-lm2MkCMYXG&YV}S-mmm$*$lRQacJi*lHZpcf!K1lMxYs zOr#z=&i{tKV-5ord+;R(fnng;?bp;~0=MfnkP5(E#y`KcLI1Tv>~{4uzN3a)N%0OV zgL0<;aCLiSV5Ww*pI`x)jG%-k`MGA9F=$`@w6{n&R24-h|q z%y5A$;0PCnvJ^A9Dh{E(`?S134OrnTR{-#<`u_H~}>Der3drjsT3_-Zv5Ypvsb_;(_B{!9 z@5Yx|;f*2+YM*d^MKz3wMMK_RcbsB8#V<7b06DuS16eqtH7n=Sue!QQlYD}1`DNIh z#`kh=A@lgaK>50uHbJfPz0K7;HlNwT&-0a;NLH9jRkUW*lxQ2Z&R(&kflJkDiGH64 zF(9g89Ejg4n#@-!PYIsN9E#*k_&2mw8yY%^0Elv?BDKnsYF*ro(gQ8!Oca@qPpTs9 zIyE>MG~Sx*Fnx3{YDk@liAieDZhU((rKpod4-}Jd>2h)3XGe<6t(bpT)z_u{i&>NE z@kWp7CczhUfAZDB9 z26%pbp1%z03i0@!1`Yk4wX?e4ye_)CkkRh4V?gzOTL0weM$4Z3uU%c->`%KR=FW!g ztL^W)&j49?0jRz$O`6DoMjZ+ zf1e$q6U&<4B9|rG)?Rt4L2%tS`##;Xj8U@u<_a#sTsE*3p^E z3V=rhM#=b*mzDx}RKOw``Fa8F3v7>NeleS#Qo!YdIp`tGjXe^VP1~UEG7pHRg04Vzy87o1%g z#xl7IO{8L4ynNIr-uC{+yrf1D-`YTv#Q;c>9q5 zQ`|B>TI&Bev`L!2xgkGO9yUPPJ)EagV`TEVHM9MHKjYMu+TpE+65&I%?rXfN(|%sn z-`D=}I-%_a6decvVjv7^KF zB%8-ym%RkNrVVL=9$nv(?4C3>2ipf+h}IChry<7qQ*3tBr1@jjS34uN8QT1(56z6v zxUoDs)KXqkLn{y{?)0zG?>;FARt}Gd&rdr0;;a_`uS4Q3cTuBMoL-QZ& zIjbs<^~zx%tLU6`SgLP(%9(FD*)^HO9um^MFjL{cmQ^RlW+BG-9~ZxtXXdMpHXO~- zpEZc;(6dwbZOF;t?iF}{Ab{_aYvuJ}Czo-m|M}p%mNa#1hHue_N_Ejom=p_y?-LAX zT1hdNsM`5*sJlcwyVhvut6kH7*p`K*&SuO0&l5PI$Dx>27)AZ?GN-u{CttX#;2FOC z?iW_dXw!a$DXNX7=Djh&cGiQ~)A5VVzY`eEN z&bFBrUXCk!_R~2tT%i_S#J`uTpz8iXPBy!5W_WA#R#2Q)4a08FX_aNIY)z@7=u45z zbxsBPwf!8zSIi`6x!MJhjU|K+;dVz7b9G$9^jD-mqQM5L}lnld72%=N~O6_?`bg8^PwlL!p!*&J2g^;Ai$0V?b)R zKt`b`gX4`(`j&}(BJ{lwccf>&0xJQMp5W&O7-IkPy25}Mq<1f^?yXKwvScReev-xr zFa@Oy1Ri*T^?znZS#*bUyXv#36*Vyp&qm>4K+ET&K@)8uQM;Z#n$fbBjlP!c@br80!Y@|2?o7=)FL6)3Sab6kuAreu`Wflz%$JLKDa)H!Tjqkk z-x;{GlJjj|jAK&U>WAlpW&0)WE!wcw&)dr_JNd1^Z~6%Oa&-mvZ`M-2YNnyLoftU)z|02Ww}Q=g@LET zShDc_2vne}$YF8tU|>-UR^>Y70|zh~mhr|Ak~nrC+Re!|JW%lQs(6V8rW1oP%%pCrX;XPaNh-B*)BTfYuCaxy|3)~K8j_-O^ zytuWCo8C_)tk^`n>pGVy-psx6D9$l(BIZIAz(vNOW(=jhMIBArw6f&(_{PwFN=|x z!u&!;a2;NslJ#rXN?3XN^z|9y3(%QG@8M#C5=}u;O3D<3`6zFmu4btLf=Yb0Kh{BZMjPeOz6) zU=m#&cSDe)-eG;cYk|J#N?KSe;580b--5p`8Cg-UkY()b-Y`00IYjkQ*F)*?Dn-Q- zFsgFt>}o$zuS<})qI#2xdGj_TV3P6{iU2pDSSQY&rK89=4z9!_1D)(kAI-aHWMb1; zHbf6hSgv7hS(&Jva z8c??djr=E9>I>A881MT53b|d(pI&4_=ftRO<(y3;KRjVax$~5WgYeD#EMP|*Tny9; zzkYF9*Ag>Aa|cXgFk>gT5>+=qOMIA{_%jMagvii`3BNb&uQ;^4bEvq8$=p2iN|~zh zm(o6Oj!(L0o6rFG0oRQmEe3i?iZ>K&fJ{T(uBa!nV%C&@bx{@$7MO6*CAI{Drw)%> zGXS7yAhP7re1w)-Gng%>kj^N50cZ=G31VDooA<2?^-^GJVhViM&>C@|hSgqmU2t*qV^FC^r zUL6-QxWZ)zmM2(J@Mvp+JONI}p!#hU6g0(G3JeY1)Z&u%tEdyIKwnc2%2bfi!V2h- zTsC$0_J$w=BmU(}HgGmaCMMJ|ncci)3*p{FXWVNd)e10w3WNR?6hgE>2;mAMsr2>i zZEvT6$Oj!UKRO)XCa#zDUzHmxYv!l`bj$Zca$0}gGD zO7|}&`ni=7JvHDPHSqArcv`>oDj_&Qwp4x0YyMPGlRX+4d>npUGx(=i`H;5oD=PA$ zoq@xU>-^%#&&zl3-i^b>Ls3D@AmIxL_Tp`{gBYQLm0OW)dzL&Un5Ck(U!(XDadyP8 zap%qpYI}UZb;M3~LRa@DOqn!(=+9Hwjj3YUO4*nJuwF%`W!Gk0j5a}c5sFe-5Lb1(A9}HTumS#8Mz0c5^Uuw7m+~8b5AnyMDC( zM0^7Z7zN>ACrUp%7~uB7wMx~Mfo5+)6A!;=+Jb|paSjPYl8yOv~ytCzi z!`F8LG2^+pxr30?5q~zoi=$#<|52sJm6RA}mtM9>!L;TXW=KWu>*a|O=?UemTjxa#~KaJDFgnTi(8eQ0s z5SO{#euengwzeW~W0gX&DhRnfQPGu?k;dcqrzmXlzKxT1eXnl7tA(&XG1(y`Fa(l~ zImBSYlyRHl!-&`R!^f_!8{m8mfkTRU`j6!%CULyMYp=W(21qXR&g z0P(0#t{iM5v9VAn#E%nBS4T_FF+hL`&J;E!Eu9Upx5b^Ws;YvBNjb5F!m-)~7&adw zBfy-N>ISf*0;hn?S8$VxsV&rj3(@0BG86dV*#p%v!Jkb&uQN7&FawZ_KdL_d{nxmT zQ7qU{Y=$Pw0`PO$ySK~o$}PnvY_@RW+ozMBoXk2KdNNrJ2oUhDtq=WSkU^XzcJ8dV zD}$Xg(R@{W4-+_o8)*AOrr0nP1G@wH;j|Q#sNhMfL(Yh8t>xoK7Gu7$Hq7y0k7BY& zEeS-Do?Zo$4d7N7hctJ0GZ^#zzxKYwo9h1U`WQlzA(b&@P9agIq(mgrpu3Pngfdf^ z%A6q?D?_HjP43KONHQE84M>wYp`y$x6y@2U`rYq(*83m4@AFtzteoL{KHtx9UHjU5 zU(Jd@fCt=B4N*)f0R@N%vSZss@d1HZ;?(B~2tsI$O$w&MfkHH(Ex+BnL9ifJuEYeF zf&^Fqx<5Hyw)%cWx#+I+cH8L0M3oV5!b`=ix(c>|aL-*J`4G^763lTcXHfcJ=N3)A z@S(TGDeb8OlAa~1U$UHIz{gXtH6H|BiAvaXmRe{-A}+oRWz#EN_HkohfaHT5+`Us$1v6>@ zU00&de`TPjCrBi&43Q1XLL>eFvY)2VQf+Pj6qLQz?z@)L?lSsX-AJqINthTOM7ShBvAL}1&jOt(CwO%rTz4YNSLr$_1QkO zCO1&vjiw=QZ($Ulpq8lEqZK^7yvk$4b2tY9p>j=hgD$!aJYbNc-#L$&@Lj=v%i`-#?SbY1ah4w#0AhEl}K>p1oP^|8fBq z`yePH2i81#0$rI~&BZlPIOLGy%MEoXy2ox%Q8AvsCcw`>)vmMt&cla-wY7(?!1}$j z`sG^)GD%O!kxrO~5nwyEbRK&;sXl{2amB2F1|QC;q4i514PA1ng{Oj_uAx=mYmFcS zL(i+6ijvF*M)L+b2?}vYm{M9sf$M7>Kzi}C3phR07pF8)KV9zNgMyhufHxu`lHtp> z%%csMGxQ$1up>T|R_Ke=1JM-mhed(A=kj_C1+k?nOondw^}XYw^72QFz@ZL7sHpdr zc8EAcv@uf%xt-W-257&2{TfVFj^`+-A@wCtIVmKZTX+Mq(niL6a91OD57_!+^@-1) z>mjeWvSA+oLYI7YF4!OammXbS2x^nZ+QZp@L$Cw2WkPWU1Dl?LD^UYh8FT$Q171jl z1_LVtmTT|>IfJ%yt*WT}Bjlp6F-8%(INn1y`YxW&_^j2GPlHv z?5B$4UA{ig+n&V${2!3b-~V_0L|+wQMtUB&vd5oPX^6x61JHuI℘(gQ)Nine^m? z)wpe?%UMl=<-;b^*DE{MT6YHTgm*O|TsZ{Tg9=Ru=daG)FKku4&@)H~{&p?U%KZ)j z6PAea;`6JB40UUrmDSGFu*GkV^gfQ$ArbwHNb^-v2|=)mzK3zIvd%g=(O@+b^nqw- zR;-mSTy8~3_IE;rRuy|dp9OKf?H4ZqAY83FkR}n5n#0?uf`Tn@J_x{bP8iJ*n*ig0 z(^&Ngytw0Ro+bE$uY771%4g>^#^4W~v)dY*8gUztcIqixiSV}kacCG}1b9|@Ob>>( zp0qA8mM^u&fDrmfi#j`4kBF~=>=`oJmBCj7KYvg2KZrEyuwUB;T*Ph;Ge>c#Z6tF^ zi?^V6FO7(k8spzY9P=z~SHA>9ldEZC6TAN5u8xinbevQD#t&6O9b!L8&wls-fQeGO zbFNo3cXVW=kgs0z{N@sN`p`gzxG^@pL)2Bza8CEL^G&a1jr#HZy9Q{LyB0u(yqdoY#^6UPqT_#Cw~%de@eL%0UNX)~hCF zhP~`I*7`-|YQ|e34%bHq2UlTR-GO!a;4cwl8d7^D#%IzEQg45?Bq(cyCdvt=udCq=hyJNn|{)4rEQulo9AbeB$+Sd+>d)8$2w zJ7}5e%^1SqXJf{N=KfaAksk~OoWovL#UpIB>UM$Wg!aHh>u2!?r4czPm<36n zd~npLEZ=E>1SO&aSBKu-9M-l22#;+vhS5Fu1B@~1YDfSMc6p$>B9wfnjdI52m52j> zIDG7wg!GPod=*fB(xn?h2GXsTh5a1|RQ(LziMg7);LyfG3o28{1qsNyf-KfyI%+-| z#>zv37M7=?DkP*Q2E6mhAy4)l*>p3uzh^W77PR|=_vgXNu({0x_+7nAcYC|Al~|B+nA+}gZ{pKwP0#8?Q};_srQQ~lD1@-9%glS1G9P3eT&Cg zg^bFmkr9(ORLFGw>b+7v*xkJ_NC`WW@?krAQC{hQiDB%;F1tDNNhf(rG`U!gFbQaI zb6Xp231YYX^ekkQiy3w%1O+i-s;&pnrDI~!9UXQ55!EthnFZooah~Ma2@!hutQ1Xs z*%y+Hgq(F;$UeC!!6Ui&LQz{0G!vV9BMftnYMN=$Gc0jx&wN*rM}tdYUvM79+>bS; zY_R$E_3J*>qmk-{*eXHNTK;tQs?vj76{3!lvK8B5Q1$p2@0by>-Ec{GAjAINxWkN+ z>B|FRIJ?aoF6IURC@D{}3O_DiI3s52(pxptYbygr_ka(VFKEz1$o+%T@|Los{T0kN zymY+lS9ryv;y9Ah14Re*T|N2D0}Ol zuYPJ5-eXx%9avrPI5KcD^btW2bo-cWo+T-9U|Vo87C5h(BDd1Q*SF>n@3SLk|c);Y5J)n5v`DGcsIh|oyv-`~GQcWzDp;Wa#}0-FadZd?>Z=k!<7s|MNQ=D%A4RMvSh;HLQUEW#|1r^Wmx zS?Sm>D81pDR$s%@S&BOPYM-^f5`oLv*@F@Fs-|KJQ8#rCOD&wqz4pFheM_Z_G8rOG zSxCXwsY@cKBf^>SU#&-m8F}xD4_-qQzi~C|fSL(JPAaFuL-Hy_7IMqWkGra=x=Dw( zZAVy-DjIv>#>fPH2|&Yl;IEH;Nj}Ix?OsgvlIY-AFr02wUSks}W1-G!_gvIz7&gJY zVcX>*rl4Th{7`z!78;m;IjW5QhLaeJC`m$q`u5UElyD7xc`F z-*uWZ0&2nRGL_Y%<4d0o`trZ|vXY4bkb=r!PB1K@V!#SRn5)}*mf9D5rMl|@lfoPS zl`C8p5QwGtoSfdOV75IsR3h+BfFMQ8pZ)q{F{`7vC%VqmnPs&fs}epqnJvPbFSYoX znp^l8<6eW&IgK)u)P5ZE@R+~NQxbQh6z|{A)FguSDgK(~?d3HEh+jp2=LMMmmvO!W zwt6G8?rMpWwyIiVJ<#PsQ%(shaSVW%@zZi={YwYcJP zT&bRo5yuYRrx#7KUJ8yY22;6bpBlM-tZ@HU*={^oW_0Ab&S&7&vC=^U_Ihf4xymCV zsX{z{dh)M=z26q;6m&$5T=M=ta|Wa{=U2n>)1JN}*5hGI$JVW+adFqggA9x?FzR!H zSo&n=3Rg;DqD5nDi*V~qA>$6|(H85H1Ljn(9Taz~sdqE_kBRui3 zJx9j6R9D!e-KqE+maWJjNfv{Bww^}QIr7{Qlr;7gA`f18ybTk|Yyai8ieni#HhW!N zX9`m%|EXHaS4>?h&9gZOFpPKBhtDA7%r?iH;e0ximeQ>e+;z_CHFdJ~w82H|%ZJs` z;M&5;QjBg1T@T^tbjqj|op_K}pw2=E!0oZ(7T`sYsyTNSY~_mhs?0m#7S_Dg<&fsX z)?)ifQ~TxCMjVz!jHU5<`l6n7aupWZ)E_Q+19cZb_x zl{c;`_AEt`-lfT3+^{}TSouv_(uI!!n~f*GAkVt?eR>Qhg0zb21Z}W)MB3%VHSM9h z6A34>zL!|Juu1A^s9n-e=EHl4eLH2kb=&hFKOJC^^ejrI+H6argePRo8UNUbzt!QM zez-;bI7jyFg86FX{%m$EqFgFYckS6n&$#Sd>2ipgNGbjHwRF};sdL7Bw0W%!=$6;P zBODk8AXGI*?}OSveOsK%=wKpiLy7IRAmuY^l9D#BQZ$aIN@<=^_@noBBPyEfl^ za`+58?DRUVL@Sc!ODM@{Ij|n=a+SvdEx{ zy9FgLT|a;G(rrIDdguD!1GfBxpHwf~ux~Dk#7Zg1WE+s8*hEY1J*I}|)Vg<>4$h(k zqH@yt#3glCYbGHP{>r)l_BT}R-1x>ujdhp9>>QO#e%|TUCiA%YK*L}CjW4%H#(9`D zqGb=V-hEj&1jnaVPd8?4X6-f3R*WhW3h;Onh(E?(+p>Q1U_CKvqZ)i!dyoU|pu}mf zw7`bik|TBV}k4EEH5~o*G6OK_mfW&>m!j1 z67?f$8O~Umk0%>waV6ih5Pyl^-_c;`P5;8!R$IQh^gd>hF0<*S+?ZClB>>_2T=i&Bnoh@E3GwEYL<*DTNzT>> z={4JR+=s#O3kv^$3hRDZ&hf2@`j)P=w!^f$H8txA{utNjFNK!$TKni#(G1k(vuD0X zP3te}8k^NA(Ct`I?g1)?GNpWBu}CEKT*=+L`{eIEF=t~6%)G8>3Iss=bSdqpQK~?S zxVkS)LR2qZLY_}ZN)I941uPQq-hD8~0!j>V!{_WDK?SRCGd4CR;`Bu`wLE7yyHayA zQd3if6__BYeZMn}aJx#~?v6)p^OJUr%9u@pIaZC&iV(&h67zLXB^hN-Z1<#2D_a@3 z0OBu)7hN~t0VI3}i(A|Ka!_J9FmHURZfEy^l;8P(o`84?iZ$W}!p6I`#LTQ0 zAgkG@fu2CbULx2&4Y5+@zPA7lLdL{Wpdts>t?B3{hJH)RR?PF*pJJuB8hL7{gqt@o zjHRbL+?)#YhDA945xuO=%{~#K73!}N<_J}P*`vxzK6pKLMfdE4gT1qU&g;*I+vbO^ zfwcViEnbrtKKJ?eeCCci*=7)p>jghUy3aicrI|2jMD;`Eun5`q~^1N)Qu!m9y>;~Pe zK^*w=Sdr@LYNBh0icukbcbc+7c1ek${L}b^$5sS45r4_pvv3V^PdNy#ExzMa)J%;B zh$WId2N?v{`t?p7HQaBF6=$lYlK)TkQ*f;m} z>pLKNkb6{QRu9&;J0nZbRShG0d>{h$sw3Dez`SgLGKLLhF61dI3|XUsDr9$SXw=>I zm&Q6KJ?V^oq1H4_dMsVtNY9YCgJ_Sf?!au+(=^xu_$7WbHp++f3-H`vY#m9hN745V zev08p^3toS1k!wdp3uLuk1=uHSd*GWm?La|~>ZE3i;5 z+{qAxD+@SsJ@!tpg4ttJnVHE5N1d_*5;UaFE|3A~)>hm7IEi~kj&UyPlZB3bsute?eK!Hhuq*KehzX;)X~agvo(?M__L`uLxR}_!R$(k9 zb%NDBi@|m@2nIh9REyDxnNRtBCIGaTEPy-WQENY|3pD`ohk?Jva`4Dc*tnlFb{UTc z5Tq;TCg%GEiEC_5PruKC19-XJi>K_-@C_9AD`Ps~aiiCXMQ4GIR{r)|xe?R75-w}k zh?E1a0cM@*+>w+}VoQWMR#t&+DXSR7OL~izz5zci($W!a}&q5^q<|HEXV*uJSmV zb+n^U5+xqsk5ovhR+`_Y{=m>sL6Sy67d3>~s%8*r4gQYYp$9k*RmhHlQ#4Si>EPx8 z`##kCfUWMI$ZBeAwD>;rLDWYE&=+91bfiBlMlcFk1z=nI$dOer$VWN_4@AjNq-=KP zC|v=70%9*i@k4cR5lRs)n8hHXpTY(1Z%T$T?l#i0k-Nlaj}R1ypYW`4_KgD5N>|em z3#>m&T(+|FJBpuw>ww;t>LA3(D1X%1D`sG)f@f;I+v(G%iIo7WVH|t>zZLnoVQm{3 z(2Zb>z328v)H$hW_W@ZZ3a48Lz!*FP)dul&R$R72#(~J$rr(@!0@h9#5U4=_Rnx|m zLbpi{Ro^s%GZ96t!zpcTCNKxY7$2cbNlI6UM2Yh&gwvgpaZ< zZD1E9EGd-nA>JTP6JAim;Tlo)&jthF?(i zm(>v*);Rpbzy!EB(JRHb#BoWdH}9Nf$zM5KGHzx79)!7diKMR&)VG#DMJ9OccVqoOI^BeS7zd zu;ce$6W5QBvEGQA;57}PLUA*5sl2R=&@LeFjA2x=ZcB}z33=PUQn-Y(&n502b~|+? zRe<3GXsvLajSK1%LSq1qB3428GwT=MF>AKEVwL$rZ>1N!2R=!p=_lCpu?BP4cZfqw zPs=9Gs?mHPqgsFoKw?`PAV3K2kd27#Rc6irZiX%g*jO}Xx*-9?hoqvJYtXx3cx!;c z;|wnX7OH13oFP^~f}M82|M2t@7X0>4T?XT$giL+aL6pconcXz9%v$31M`$$M|VoOlU$Pgw6T=|zfl2o3k%Eatq zL)DlA1tzF$NMvAW(LlU+(0`1$USZ1``SeKxbOKVW0BGKOCT*ARBWE63;?*xO+XR8D z341+BGp>Bn*2_6cxNMNAXFcb#`$K<8Pfthnl=K1xZ3@1ty1{zT=vF0)p+rlZ52EAa zL-1yx!C~hU`BTRRW~BpNX(6jsE0`mAAV524^Os|W-#L=QiBku`4B?w#af$9P650=* z6VSjS7*wOxJaGy^{Eu}47-|>x7V`c$)UQ>znFC@ZZ511_-xBvR&__$l%QJBHVFHpJ z15*-AGgJA8sLl?7@vVV95g;d)JqL~i_gzqvLN!iQB%8t|K^=p(ON`t@kc1%2#nlt_2TlPzq7KzMagFFZ zIBd~nYc1Y|)Ry<|z2YnsiO=TcrRrEUu87-^9ks5~G_o=Ar|7!(TAjf|(!#1X78R3@cLcL6rWMn#b0fNagz9pwEF`pj^X z9S)0vux=3kfdokG(uk3C?_@JZof9cCIykUs#(>nt#m}!gI5!4Yla&IB<`cb@zpn*^ zF@#QlB?$cq?m>UpRq?Orz(OBx1{FZ(R7`lNL^AZ9Fi=PfQ`V9z+v{ zf9S}uI;erlDJ5O@+`U*15@>Zgp0)P(wQxmj!FJq754#a`gAK(24^LThM8K?zz=AfHL0lE0|HRFNt`Ezyu|Gu;&gZV}G{|I}a!UzNx;Lq3p4jY+D z|JOW98nNC>p{z*M)zUcnuZ!{j3v)_HKkryo)$%`gmOJ1@-^vZ?1Aq>wqETuAI5sG| z!8yTdW5_!;`Z4a$oUbH;8X>K`W0r80>?}Qd-Rd$tW*}83>K~>1*Fr~jAm76gK{}Cd zx`_e@g#z_2!fJfu7m!Aj%5Q{9+(QCRxQZjv6u$CBWp$Eapgf)e?!skSVvoL8+inOz$O6B(gPe5-gkx8W>C*S>&V# z_Xq%6t?jl*i_tLK;wP=G7u~s;Zl(DWORNLZzD;WHWUo!VgF5oRYeMjau7c$mPq(I6Mm! zSPRIInB#)Faro%bhJj6ZllPqD!LcbR5ip5!dnnFzzyk$wlvj*OZQCmtm84g3a}#;` zSKtG<3~9Cfc#Mx0Xoc*P6qI~`#lZ@C|DvtxuEAvJ&h+3u_#&-e)X#E=_ZE*w*and=(kk|)NsZ& zfuU*!;QZpw_NgYzqC5@cgJ?R@GVi}V!4knJnP|h#t3_t^p|FU!jZlx=4M}@@$k{>K zfk>N7OgM1Rk$cUA>jINo-C$wAmXHi+A_zOUMHaAvMKL`|6k%_F-rWtGlPx_yc5@?< zU4!v$5Xw%+)ox3g1jx(3=xgDG$1Xz0px@_NF#+UxbP;`F#n+!b6*dxw915qKKPuGj zN_$CGjZOq4PO&cO>T4m^Da(UV^g0Z-5EUOdCM9K@OzKK~gq3K6A%Ca19T!R(V!(?Z zVuz|fAEAy6Et#sMABV(IX1~zpHORhTKvnghUQz9=pfayCMC=Ed;J$5cKx3k-!o_r@OntzoTHw z2yd{eq}>=re2L)Tj(853sJD+%Bz@~kNQ|&&;Kj9ZN4>nf@DiAoxBRdi`0xB&m>U8$ z2xMY6cf-(7Qv>WPh%x$F3JJTi+H8_YDxj%oAd3<1&Ae@DU)TVk4F4XE8+GOh(f*9p zW*mWa@BaHEA@Lo6{-5gBwlf5%j=NGwXtVe>{*?&VC6BfU|M4%xHtDWJM1B$*5RI5- zf+J5}9mL2si_M5!{#dGjk^62Ui-mA=U%a3%=^7*N{O5{d!c#!OB95Zr(W_!;;7owd zd%Y@2_)n-AQkC?3?ykn%wFHiGdg<5C`4%T10^5@-vem+(KvT4c6U-Bz%?gGgN3 zaL;3sjDz!%cg!u7yVD*V=(FGr=`U4eWeGaOBCz>1s~N9f`(|SWH>qBV-N#-Az7h#D zUct=U=1dz_Fc#9+yJimU`*i5$ru5QH%M2dPs8wAyb9yr=xU|#Oo3)l_`+@82wl^S2 zSiedIExBXx+coWsZ3n*e6);m?b)5C4Of7sDw6nA8>h6AmtPJVun^`fxHvR0EV`F1h zib)?Z4UJ7qe#mxs!qrMqNlAe}!l3cgD|*Uy7D4B$cri8b!^@reTY>K34D7+PxwBrL zO;z)R6<6%EM>4h(_zYaSJ|`4KOKa`z?CJUPo{2J5fTy#gRVXW0l2Hm1*q@H<0MY2}nsu(IDnAAp+Vk+nQLZis2lSM|Z4RstZhe(a_BDd7Vz z$&ey(_gt8DU}tBa!6yg9=l9pj3sgg7hAGKuS>u!km-p^H_uNxH=W}idd+{84{VLN{5D0Yr zshaXj5a^;L2t*xpnF_eWYqbJ=aOJI|lF|#Wm(VBotzSF3c=J2Dfk1w#TS>4Nw{seu}5%vUq)FFfI-yyy> zoEHIkyYD$|gAX#1QGas@O|8h7M`J4W(*YR+>cdNx*Z%L{U7Z(vRPQKhKW zhw(gt^U-UbVUFKC8_x&jf1K_{&Ke?SsBdO3;9d5*!IszypvOltIx;jMJ1~e<4h4(u zq*&#nP&j_fm6ox?uXKf4>^|t~7s`8IF6+K|^y`vp3yt9glevr2Z@_=4A6RnE1sQ(2 zczB=wPmtMt_S3JsZ03T_v@UH|fEm1~v7``$N- z>x#6QR~#6Q>5ngS3SG%-z5103LtAMjGfqhe0k;TyTur^S@|`qywT?~xl5b1Gyvg6o zd_fjJu3c6Ly-caC>P;uH5ah?1sV4RVTElrsP3mP-6~~MkiK<$dTUuv?$U+5LY6x`5dUuSc=ARcx6_EGlIptQraDrV`stik=tE7?7Rk*hxY zdi$3HuAbfq{w^fM_wioG9s0LnowhdNLLtJgiRy_DdjGMfh-mM&eEn75(B0*t#PyV@ zlD708=504@^1tFel~Zr^Utalmt$oL%zV4N&Xel-LV@e1AeEZJ2-?c_?dIT<9ume2T zu;cqz=kVd%i*HoEavahxTxqy`=bio!y&sbE*Q3>RA0*QwLOt8k+O94*F1%j2xI-EC zZ0M2Hrypu-Ifxwk9QB-#9I&m3QLu~pjfeTs#ORbRgD$O~_;v^D0BbjE({fhp5o=cK zR_iiuzi{bxbVc-MmB;z1xzm}wVTE<5hRUfnJxR-XAf}g08L2d->HNhkS94Ig*z z$cK~8^^}S)Wo4b3w&~m zVT(TFZjJT){Pfd=;PB%;Wrl~v{2QDpkKxLMqRmtmv;LQ8PJ{cts@u`Bd}aK2-VA<} z22ug3sHpv2<$+P=%lYshsT@j!`oiYr8s$(={jfaSlH2*ZdEVMeV<^IVCxjtv4orPEIgJ8%IoXzHXE@k<&l@ z6o5U>qEhEnvx!p8@1RjnUh3$!uKwB~{xex3`El|=GO=37*rnuRNvpAMwUsOVmf@Du zmW=dQbm8;Veyg-hy;Z&CV!z^bgUGed-do2Ud|2`jT{lbzY}~{uA#|N(6@}ze9?JiYV-bs;6u}0DKCbs2kOI}O+{mw5#_Z7b) z|JKZzJg9i!`M@l5{8!7bj$iK&o^Q~WW?U7$(nHHU(=z$ht~D~Uf|(v{KCV1*yL`<> zQd*X~QR+nJov$*Y?MaS_t>z!u&Np76d!L^$!oY=En7pFF065YrdPH>#rm3iPmBIm3B2|>ObW(2 zplat;0r!ga@>$YwshrZUWu0WJZ}JUUM>n$S$e8)0Ppgc_eckXWRdjRQo|;i?XxO{G z>$9whT-h~KZ#I;Npj@Js(kJoSxK0G5&i7!pyUF5e-6im~>sNcOLGE~lyPa7cDz(%0 zkg|x^8B!S7AAgVi`%INMwFxoe(N5Nr_HWrxfZnUbeA(Rku1W14%bYOA#=-Io@=w8E z%xaNtF<;?{?i~~Hm#!8w`kWS(we~wg#J_*(rZ`KguU5aWW{>J%MZ8#fIi_8vZGoim z;#(Zw`_S^?Y;ki@GqNJ`ePo8#-{+T~AE$3Ri#R(u#k&i*y)hXwvDbQ^_KlRi7-d%S zt>m@q$C@9*bKb{mjF9)|VgVhC8h9hZ#AwC{s?;&Rn$cT<)kJ1l#zy9n*#k4BmFa;4 z9}}P2^DJUd*k1Qav7nkc_x6MRKL>mkz2E9Q9v=-&FD3TGG^GTvTU=>=g&oLu|69~K zvN4ugX0}$lf%ThNKR#k+0Qb+>;x-%Y0*Y-~Y`>h={M;fa4u40>*!zClPR4Dq8H@fF zbrB6bN?&YpCeCc*n2cmZ#F&JRE%{tD{sxgOm#r3B$D%~o_~mA$&}@Q!9A`Nvg(t(u z7S%{s`oyaO8j{axWcT0%zt5sayS2Y@@|sI>ToAzw{baXf;bbYuhAf=ee$1#N7-J#O zw{$MB1MlPQGk~01kvdxf|DODIKHFG=M9g+IO6`muy5fI)d!LX0Jj>6|(3s$l+NC5Z zop*kT8dgur_?p2Z?~K?!TiCG+lydYp`g4JU@n(Hc*Cl0v`>!aXuZ5Z_{O@m_us5`f zRi?x}dDmJl3_7W#_}h40!R`)-X%O_{$JvG98cM}z-HFE_P!Q;;vZAh^`R0scqOD#U z*I9T$CoB&hkebBSkPkn`Es99HPF3-9Tn`Vr&S88Z{4xhex4`}T_aiQkXN7j@Z&q-s zQwRhFJ$xJf_WpfRQAIE}39W{$KR=u)=n9wRa2S%8be))fFtf`TUL zJ%9_Snrn`HankxfcyYA`M;pHE2CHt*7+wL!PK>+Aa+6U1)d9I}qGA)=6yDJQ8Lj!A zzGSoHvdZUY7i)heOj!*yGcKK80JXSOb=Gew za8gZjo_DZ^I556}7H44a69OHcbOJe1v?lLV*GTc)l-X4?x9L1yxRMs9AivMQnY%l? znTtWZG-lmuBEDFc;qUbI(F!m*^ZO&R-$wp^>!VpLF&XQ+!Qd0PLsD7Pp}rI8>#i%N zZ;m>dJs2F_z*QV142K=Sw?Lp?e&JR0y?Ybb4X(@)ocE32Tn~Rl*1;&Ky(f16W|gmZ zOfY&YZ`3cxhb(Q`7mw>K?!g!%HEA8LkAu4`2EJsu7DufXGmyO7Zl#n&ZJrz5SYT!6 zV`4vjGC1Az;fe$Z)YE*|Ma#RU;|qsaVh07O?)8tz{-(SEEq%VHVY#xb!VM5a)JyH* z5qq8l%w@@f--mxF)a}9hho3*({fk`SHEJ;8dJ@WNf|@8fKO)RBdE(Zb@0G1`9y=Y} zLx71*lGtsRUsu3qTQOU3b3{xos@~-!H!C%*Vl=)4g0KA}STG8&8VU*Tc*`2z(MfQH zFrdt(;_+4HL{g1FvP?#@1z>{q-Ls4|sE!Up>z`*XQ~B94)0dTQNOqSi9?NU!USyRk z6*d}X_t*@uKQcM*ctonDej%(dyWEvk-&wmiX*FIbes^l;&(6~^!!6`T0BHY6;RSlTK6$ocpJ`f#D?T=eML1_Smw`*L0!iNC*0ICNYs zuQ=nfRYmd@?gX(MqNI*>ha$}x_}E&;GW@!V%s_if-GSj|d35s!jm=iNt!&MF#QvSF zZ2Wk(%?Eq1*eI?^u0RX#U({A@Jf?xSQH`DNpi{Al)QW7z8p@0phGj%umXxo-4fQGc zN>@8zDy)te|ES$(L>c+S*EYh2v+7%~936l_mfsGTeh&og;`-N`H1msyR^t@V$@715 zPib5CFS1Orh#yu2-8J2Mr8?WG+~%G!d`2y-N6{(Nn(}k<=r=*ERBhfE?_aO+;CXkb zrFF2}6y>Dik2eKjlaepRCu@$mN#XL@_`5F#etrJ%YFRY^tHW>qYQHYQafEmJGCAVJ z(@}1n3Z;D({!>+W75p~H=4xASP3$C7U`a#OBZ)GW zj)1(?hGCe7NjL=_#PR9gh?a)T+*2ANx<+VYkoC zsOZ^wI!u#Ap0VT~XZlR7W|Q{N=Wb@sziFZzMYt%@ei%YbpBR1t~@kWp2YeZWqb1wkN0~#Ha7PM25L)o40A~@i6B! zH~YryW!)BGTX+WK_)?B2=dH*{f{`({Bfny$lRv)0`*_N-?BuAhYVoIf+375Q_+{CO zT@^gj$sArhb9b+Rk2h0pQFM}OT?f*yHe?LnkhJz6bc>jb za)s{?*?8C}&5hbDm4Cy}7R-c@S8HVXTjTx2eThZ9XNFFu?2%AC5=ICO%I*wSs@!wT zwoo9d#y7QTr_UV3$iB|mDGZJ$fcrX=IzGonkI|{?2mJ00y?e2Yu(R1Co_Cj}^C^?n zrzWYFCC>5cF+-%JC&8Cku65hI=!tpdBb|#_==wrx-xtxL=v-;m>wnq3oo}+@Fm-sX z{PqR|W7YY}&BuPS42ZVD7H8Ly0G9-U&CbfJi6LroUh2K!Ddw`0gH0O!7M1BzE);~E zS3PPB;zW5kSU*-KUK@A+Xhf4?A@&Vf7LGgY?EQE*u$?X!LGW>KX~YdR*T~Akk=>gC z%R^&yq%iNi^MR_wCOXpFk1!CsI=#eXK21iqj^&e!+QL(Ll`d8{J^Mzh^Su~46)2$2 zLJ%kV--i*830g+*DS`r|guO@O63b2{AzgEibWei3uazpBM9JQ4buR1NH5ncsj7K(x z&f^d54Nd9bY^}S(9tdJbX6Ar7>x@OvG6C0{p24&9_@6Y=)aJ&-o~S*RJyuc6=0H;w z8=^OQ;td~F>1|xQk-spoV~9OvBP;WP&a_g1g^ul)ARxiT;R>rYL`Oa3(StmoZA zy?$S!sMJEGi&-ViQvCg+J07tNwOYp$yI*(rGcc}#WUo%t&!##Ueyo3czb?ayS!|ly z`4Y=faO>|Tjhw*XVya$vU<0DpVWr&-?rly_Xeww5yuS_vWvLC$;x*F-=ee1aUg51i zaooY+pt}oZYH~GVt0f!Cz9_za?T)$(U~hGXBJ^+xOs)C>l8JpXw@FZCQsNG?UdOA< zDnuxP*%nW_woh$dIw{#Ec3WAIDCxh{5= zqQv&W02`>eTI#~hOl8=zGEJb3>i6{wLt}a_w|$w{|4ep-(Vp60+=P1)s0h^y-(qkV z_pYtniHvKo#{?p^%|%Vx;Nyssl>(x5T2}eb1nQKTThPcFCpgtZPd<;v{NR1jOW(i& zC1NjH1|K#LFeA$YCZ2618>Ot>2e6f;K!heVf5SFTQrM13;!X)!GMOROmS~8i_s$f4 z|6PdTw_C$!!;vgDqpi)1D~OK2~Ski=~hm301oPIR6uAE(|Sb?P( z1`P7f8QQgG)gL|ZN5tv75;s%m%6sjk!M>XNq-$1few65&iuxn+kA!U=mSo%@Z`<;> zaRJLBFl(fy%3{LST6KsErd-1qGW47*$U}lW)&W!RPsmc8upF2_tvTO=C8!&!9;5BJ z*RHTd?;_SWvV+lvgwLbbtuwAcS#@;Nr9Y4MN_aA9^3|(BLN2Gt`zx4RJV4KF-C6 zYW=r*vJ;B^a@P>+zHzd-F#hS)rzUnPy5PaX3rL@jUms8%&k%pD*v3Eelzy6jYP_Su z^zwzMo;AadPC~JoBx4oWoz*t@_iDag3UTL+53aoj*CVx1QD_-u~nvVNPN`A8RAti02^L{B*Gxrqv%lvrg=!?C_=nn-S6J0U+3h1EU z3N&1#cXh`uVo^IKLrTIu#c3oKT9~(`erETSrRY_}A?Ldf4 z@MMt@Gi!;nxUal8-bVT|fY>dSkMP8OTt$rbHhq!>ERpIu_{pSC4()$L0e2#<+WUne zn@sYkx3bzV1XCvoBHFmb6C6rmO-zwXx8o7+!dIDXEsDOf?rM>TTf=ET%U9lfR_?e; z4VfawCW|P9S{98_WzQ@ampFG+SIXzT+&mQ-{etD03!Q*?KG8V26rJ9v^N{M?^P=bE znDxTG>c%`ySBhyp+kt_EL6aDGcKP>zcyKVPqX9Y-M8_&UECAY>t z{`QjnK4`1rP%}TPvcwm6lcKW}hIV7b4|iBNxxbw%+v2{~?Hu=AEr5MkkzB%LUthG1 za|C>?ab8u8bazdiyor3-&!10hwrn1mtMcD*L`bgf>Dc2URIw8>>8WG;Lq*Jvj56!} zzmfESy3V<!oZglipahM(Cf(ksJ;3c5;;GKsiESGH06Kzjo?emM zr4GqGW&ZmRjNKZX*lYTDtdO_Y)hCEV?Wdg9yDy2$iH*+qJ2s5JsD$=mDmIc-Y|>aO z1;@r2swg8xe&6-hS4w#8(+zv35prlc#x(T13TbUKFu-++vJSZQxFNRmFIvrCul?A9m}zDP93+gVNo6r+dky(OdVA{xEasq%wUYq#bhwFi)Hs_5%9kyVbqdBHcli%&J?k@}FlDd%;GsPBvX{;!|8^ zU+1hAF()8w#lt$N-~z6DnPxzMD;c-p*ha{zYdqp9rGxAA{uxR`2rxC7I*l76Xm4j} zKKyr)BZt3AkFf4=$B|su5XTDgcC)OR{JY)dD?hrf`K?eb^@dm3$EH1JJ$=jNxvpxH zEhw<%Jd+mD{6>Y(CKSOaeGt5PTHaZoO>lJB_I?IL`gZ#=&)uHnjP2t<`IiEmkHKSs zxY5OHkSvKwWdK>iqoPK|lc!h>_7Ug#O1m>mc}6=E*T~+fVdEyvloC#G0Q0q829}Oj zJ0~waGc4vQP!_I5gl1b5KOY=l`lt=}iOnwsl8rfIjZ_gL$K@iO9*M1OH+nmg!$v}_ zOvjXCdUY1c8PB{aPuPtev`8(9xX0cSH8#6ao9|dHA9MLpw~@fkL=~GLuE7sc?3RkS zBC1WFp|n{>=b9Zg?kD~Oeb~6@FozK6ErV<^)Pira?q5t&RJO>F{jw>8ofRV&{w?DR zwsA$8P#c}W$Fjn9hGgxr)qfyI;DQ=?>-}p+N3B~AuX*k}xJ*{GXO_?g)MD~p#SF~! zGnp}SS>}kVx6OI!ZZTyz(W=!-6}`5A#%DsML*0?bbC`@?#(rlk`gsZk_(hr-LoLdW zc=B8(arFjjVSp~EExKX`Zz1Tp@2o9<@Cd*+3yrxN`PyA*zm(lMpHa|3(+f zfHaIqJ69f!=rp&=r@ysWc7e@VPB@u2*>Ihm?h8jG}}Du+U`FLI~k8Eed2 zJL8euMd#`})j zuh&_CKzA#m?`;V4Hg)c`3fau70(uB(-&)k=d=Xl>Et4^6-u-FhfKL7X!rig*AD@0V zGgec>GUN(RO;*kN@1oefo^HP0O_xvkTb0h6K+4%#x5PzEiRuoGiNz0;x&E?)H=d+5Sofqwv3gtqz+Kf!AI%r)&AEnu_sOfm~HBR#CZXH*#CqqYx3V4K$MeNv;t9bWct5Gxcv_&|G$Ca`~U2WRKHFp z2P!)O`GY2uT7*9=FNZMfE%yN=B3rr~c_VsnTtLf9&#Q)fBGaMvTolmvV$(NYwea~4 z1*`1wLLMi>5oHeBfyRT=XNOt!Q(0N{_;!`OPaEM!FuAl^DUqYX_)H2drO|3}9%ahmb$TW>3pcPMyPu zkdjNFprn81R)@gThMqIlXSMH`z4W}I++nydw?4sBA?McL0HvB{JzH!MgP@`xJe-3? z9OXmO&4M5H`!}Z^eQtKoHNfT_oLuu~1`53g7tjxnKQQABp>@KY;U(tVYho znCq=$(@P&Wn=&vRMa+zVXfbBadE&mZ4;#jIkp?6`{VA=H-t1*X16XxaFX?K_d(~GG|AldY&at!#nj&QUNZ1r_1TXAy|YaGf2$q_D8X z&b^#L2*F(UQpe)E3Mg=dPMGVx&ng29kzgz@d;p5nKVNE6*$c|h6HJoad6QMYMuDLG zyiAd>vSt6v<%;A&le-&0a-U?NoGi|(&rQW@<%gO@0gICMlAc=yd${spYdnHq(Y{R# z&p<)~98VT`{NW$6j+S~Vi10rM3%k}gS}I{pFN>a_J50v9)?q`KE0W)?hy!YEUv_C3 zoId%q$$r8~8Cu&^mWW!%1A36_D?9mzgpB2pFn3`K)EuRb89VG^n}C}g?-?-eY1Ii9 z!A%wNiH(w3 zQi!r1B0N$HR&67_mf3B@(&rl0zX4NQ^3@=tHo3m~pltWLol$YX7GytHTcM>7h;lHe zSat1w|4fHQ&-TswyBhtF#jwUQE2$-4mA#$>hQ1kwJAJIrxueQlkq7xY4XHeYYRUcM ztfTjPCc)b=5zGDgclr>50?X`3or82nrBT1u-6QzS(8(bdRvjF=#O-LY1S3VuRZI%E z!@vGr9)<4)XC2iKCm;nZnlXu}lP3SupkZTIn;bCy%>gx+Lbw)yDmG?EL+4e29bjl$o@MiEJDMj0T`$DY*7l0Z;8uQC=s{}TeZjpsG@{$}1K z;*!M}vmPV!P@cHeSvj_!gn21m=XyP00X#mjNExa)c~Y6tQ#O+8BxJfRBQpCP?ojQ> z=B?+GW)<2bT(QBgz1=FT@I~}?zMQd`{)}Wp$c_V&kkg1O!nXuD(R;WM`(EW~93S4d z4ub}yrE@rpJ7i!^?{jRTA3CfpT492+>wlgZrR*>rieCWz8Wv&q5Q88*2vJ?=L}@nW z8+oo@oW9=b(N`U*rYd&SG-B+L2-u$*{)f6&ufy0)c;dT0r&C(`+)4aVr z3atWne2DFa6 zeh1JpoxA5^@)Ej(7T=M={mYP=`WDAHcb?=7shXy!E>A4~GCKlVe;ddtu6vW{QJkDa z0~IJS(N1D+mC>!2YSCP$zbXuIVQ7F?Z1hl9pSg%Ct2{x)cxw1A1+*U9P663KSU+`E zFsRnZbD3JXJM!x9RJJD6<;#TEi`vzsSHDK_wL5)EsJPk`%y`567JFCeh>o+R(G6=8 z%CkBgrpz6jltM@c)qHp(fr*i*L226R8{eK zo1~bpw0JQ!$kL_9wnccVHS+#kViS|ITROsg38pXny0M;AZ{*5N-7L2*iU2xUkv=1H z{%y6!l;>cqsIy7(c~Q5bJ~oJx@Jww(r_ZdvYcjG5_cy}m^hKL9Vhmcjad2Qz#t);8 zg?bULhII@vc^ho?ytwhZb5-<7e3jYb_`OtZM9$v|CXd+f6NY%B47`1r(WBgKe3z4q zb?clktgoFay9tflHm&8DE0_d<(M_7pI+4{i-IH;|sdZ5R&H$pDwrEQM8*`DRQkPF^ z?O>j00!QuyI8EvaM z$IPfG(TT2Nzla3|C(U*9%xe9RnHWmn^+u*{4;`VWb@0#^bJ2% z3*r$aB^8q|4!mwrPFB@C15&Kr7IgdcD|6*>ru260(#mIZ-iKo#u zw0&BE;>9H|#e292cb+;!C;5UYI$K2H#u@4Zzl4q@|8_UZml}Cuyrg>apa?Boql`07 z`<@5pWFAw~IAE)^kZ!I2)TKK`dgo0e11LzCAHWd>OpSdE7tlrp;ss8PM`jZ+J*0Wb zn?QYB?oqCKg~WsBGiuJFN&rjg)l-G=r$wE|V`?yEhxhJjwP?F_9VcT4jxPh)VCg_- zzH6#Gl7|-@u$jFx%g;ky%Blw!rD3`m%P{-7TCnV#K>Md!y>~4r`yu-2^Qirg&T;GOQY?KN;Gp| z5^k@`BASfUdUn2XV3W~JM|m1Ptg_7RqhyYAHKgeLK4!ZGJzgt!R~#AWth<1Y?^w_1 zI=*bSJqXI)L7hEzwjk`}vfEeh(PAGLZxo!kz>^eOgwKC%R8G1r(RBb(MlRd&S4
    4ydx(b_}!~*p#`o5c<2SCgBx>Vi}>l&^qdvj;vWwd=2|r zzPN|_Mln*NgV{s*Q#3)FP-T9%U1#v!sz?p1JrVrE)SeJUfs# z{^w;$Dq6{f+p$%pw@Eqss|`cS7tmhCC@K-p)W2{EGbTUXKmwq}ULZTYD|%z<(D?fL z1M00$nXm5q>6zn{e&@QX3wN#izHR*qyq7*O8MQymRFHq52Vq>iAz35Ov5~zA+j6a# zytmT_4+n}ZU1T$BQ+(vXRO4&I04iQjR|@E8^Jca|i}vfPJwNb9s%48dn>(p6xI)6l z@dS4#9603=ooLcSY7?#lWy*~XN=JE$QkGb^D$JTP4zn#tR}822Dt$FBk& z>3mJH0tf?57tnIpn34B}Y@bI7;)6jpVawmg7$SX<|2WI!K}ZpV&!ueYKLKiGI`xX= zlaU~S*z=ogbL?OFQh1_dSU-0-rPz+K2m`4dM}uy4?_MuPvURX}==RO|;YN+NK1M{^ zj?G9ljG?`iy6-k`VN<%Pya62pR&b>8JP2LAPPg?YNtgr;- z_QNDs;jc05rShJOHY9XWiK)+TC&+R~Wz0WwccCrX)znazo736&XRTKyr58xdR-G^{ zo~YtTO}k;Fj;E8B-s&Zg0?JE(>_82>>dfKnjA(bp})x$uO*`PS&gu* zfDp2CtMKsdpR_9ndLLLla;$X*TiqO*e5v)>%2*cgIT(Hr$R_#UAT#~GV+ta)gS(+4 zxFTyIW=NyV2c;k7A#Z%U;U4fsV(zV`Me1PmD z?HRxj38%GGVMc&B&VkY!Wr178ZnED9y=9Kp7@WJO zxrJR3fFQW!4BcL(nR9)Fd+CBe&%FK(D2==9iTJ}WpKNY80OiaC3^#bvAvi_RDk)Ce z$g$y^Gf;La+Yn-Pi6zn(6H`qad1(q(ow-heqyw<;JgSnwNksl}H9A!WP5?nR8X5;s zrn$bBVnH3R@IL|G-PCub(Wg2J_S$X>Qld{~>v;P0vSbIHhw^FohJEz|iFi$C-bm3o zG7nL&%qvdL?UUxoA*Kmtus;DhjTf(iERDqSDbX*)yRHdaZi-iD*g;1MnIchUg2k*+ z9aFOj2S$VjpfxxNK){PaMhMzCxQa4+Lwejuf-6rmiH@6wiG|D(U=R~fXAf!2ca&F3 zcEuUge2NX%zuxKHR$>ISB@h60+sxy@z0p~(@rbHwY4#sV8uJvHv}7|u+e(cNAw25L zY!vE`r({E!CIoS!O*Ea=%Z>+vsc#@8;i?E%)ESEq_t_^s73FU zj5EV}BRgYY1Z*E=S?|>Ti|y#$u`=E%@!1BIdJIR&Jw5D((a}McYcI>1wuRj+?o??M zdSpzj=PusL6`+8+EHI}WxKeF+? zlkp2HKA(Vi`jKPKFbfBq;cz`$dxEyp^jdMZ%Xt0xxvbRA8w}Fa`fD7aLD?%o6gox# z!VC+mkwC)JGCFcG*to}OloDOTeik@uABMyo{W@tgfTQpxlx2R`_2ysr|LBs8AEn8{ z@u7biIv2lke6fUy1}Ka^)VcPc-(EvS4JV>4I_pkwH*nsmZyl=KMfc`~o~7qd@RsI7 zi-QcPgN5H%f;8v=%F{ zoZ(^NW5IgbjGsY>F>JmVjUStF$k@HxgDF+_iaD)x)|{LexDzQZA7{q92VhL<$VgiJ zX!F>CuRA_-FhI6g6W=g)#?4xy=&@+VZ0o9ev@sT^&aiOt<8lp@u`lWz4hN-NWX>*~ za3}nXuC+UuvCjAcfUi5`LSFW*m@`&65a~EY2OtJJ$=jqVhl~PRX6WI=KC%L-_=aW;Die&QuDi;1e{u@ADezL{feT?Z*I?%jE)E8LMbf5B|Ou1#>OPd=G|Y;JfBH(yW9P%PFiTeW9C_!Y^ek zTZGMR_(j)M)Y}Ugm1I5h>nFzcoV{gM-dq3L zP&tgNwjkqx%443UAHl|#SXKz<^(h~Vf;jEBbzR@d&@Jue?lXZvG|DZ5O4v6RCk(at zDjTN<&!yEMQ!icA{JQZK$5+CdIC+q8i}b2rg&Xu9Z53hr<%(kR$L~*&xAbs(yWpNX zP&WdA@L4B+K91{0mO8j0)y|W67YC06JFdP}m6~tvzHUn`ajv)Il8C{xQL$o(*Ce|s z4xP`XoQKuR{(frqkcCjo3?0 z_Jg8v8(Yl9D2}p>cSYg^;n#B8*%-1^8d1Qu*+&_Kf8Wcaj#X3$5G*Xh`_VYq)T=Ia zB+Iq6c$`^*ZO0NtuDL&E!q12_MD1`BN2N~k8u8^-@@0mzFRF=8Amxqu{w)K$^2Kd@ z=-0me$4?KgOa90lGf2-HDlzbT(HX=UOUl#Tq90aTq?|f1WB3i8y9|>b2|&PMTU5I+ z)ZlDltrI&V2t>s(x5~*1x(bfJUXE9kXju*HXvl~e(Ne`OQE-w3_peFDyNuq0bH=8G z>8IYJqs+Pc7fjnM(GbG3Mr`1us{D}f3Ho+GCkhslSuTC$|8&vS zSq}@IA(Dvhk72d3DK+{o+|pkc@%*p_u`{csP3giq?5=HkSff^X;f7m8cn9-r`hm<4 zip4RlMjf%2{;Djp$Veq~nwP`TU@R!xdp~Vyuy^mQ6K8ws-ImVMCulKR>VDdoJK#$r zTe(m$HKhp6pf^%2J)K0k3Fmkx`Q5{*YC~wXReEdXbX_5Z+RRLhc;ZHq zhj_Wvw`HH;{i2=+2)T>$;TjuQ{s9vYeFmrJ+g?qmAKhzrJQ zO9paISf~=qMYB$BoPIr(QiU||JJJ5t^8csIOg|Oy58lEPfi_rW&pj0{Z2J+6Ueqk$ zL?f1qGLqQ9c0kusU8>XE={W-gvlZf!I>`-018Qjl!10S4=m6OpO2X+uHlb8EBrVaQ zEkdXM+^9!q0}#7vfZUb8a3j(2!i~G7Dg)0Q^mP^yCNK!?(m>lM;xgdVPM0Mu^R7r* z7Fg4dj}vWsBNZE_SOQ&_$RxgO z;NgD`E_pQn%IMi~T6$;)4x5{Zns(oF26|!6z!J#I@Ouuga=sk>VSXX_2k!OODOS3v+zL44`2sBC_SnAAwF7@?uWF5JwkhK#n7tyin z%t$6O+8fXJSAbs!$5}hezVQ##0K5?n@L7+?fgYLE|KB46no<9!2k(JL{<{g;*Ff5C zh-ldUR$O;Vn2IoQtIw^Q|G*sXT-H=mcf4L4!CTf?adkTSU5_}jLopm85nTctt)YCJB9UDZ%QJ9%Q@cBIFJ+-$2G8f#uvN2=m*U1# ziak4CNOms0cjwi~CJe$Wa|swH@kX?YcL;N|p0YjNgo^FmXglRRx`~cPYBs+wCrVs@ z>JCOtpij_hDp@;%sH2{W?BddIPRb`>vIs)C6H2zXqBWIO2d{uR8dh(BIi?cFu84h0 z$U9kJ#NIVZ-W|?3`@MS`c-T@^`4QcOvhD5voC#L=jO%aWSkrk&BzRU*#EbLRXEpUK zD~(I_3*o$~VdUl?=tH5w+0FlW$J_pu@`u4D+RjGY>9%isFs;1dH0u1cU5+@db3&-a z@@Ld7qGh_X42N$$y-b!(Bh-aMB)p4Nc zGw+EW16`7eE#v<>RC?g<&t2Lm$l0OVufZ!az(XMWnCEVE_f&1~MLR0j2;lIx>wFS>)eNCtWjyZuW4To5=c%uHxssL4c zsf3=dzGEeiUuneEx%!7`&)jeR{ld{o2K%7@1@b#J>-{2t6%ZF91Q{Njk=wIho=ewv zG$xn_6t0f?Tk|=R#S8lRY%hezvB4j8vd9j!Nr7VtDa73#K_C@_K(8h6TBu_kvXH#$^ZygQ=}%sIi||)i2BPK=uvQBe?_Y|X$m8J* z2C`}^C#~wYzip_R;X^sm+}lmWSqxcm%hD8`AnVbN!u)h;9+%b7q&tqMLMLllC?2%z zZr5f2HG80kXD6$#EkMqJgc7bucKrR@O3Mh`F=Y_*hOZaqSNOyn45=&I|$=e;Ty&{u1xU#Zu#{B!+Iz|odF zDy5qJLw*MGo8(fgPQ}J+mVnjFc1l{=Pt}0k1l6my47TbSn8m%na;l-%LYMBpoMb(i zr7|HdgO*+|cop@jifoC!4=>vCv%oCZrEZF$>$xagL{A_`Lzi%G7m76a8iP7pW#qIo3qP6>X{Q`-56wpnJL3hpp zMGdjJP$N!YZN~-80u7rL3uKGdpW5l-jEYT($RpnDms&|(h%+$%ISI_zQsMTTnnieV z9tdJRZ{O}DJG21!aj5yndq#7^lbtA3@45^*dSf(0vTcmw<#yWW+czxEk9&b+u!8}< z)skoeG@t)l_ZQxVB?2S#yc}wl7HB?P=uTo0R$pw~>+hL-7xP@Y&|UJv>qm3IyhXh~ zgBF)l-230Y`3bzS18g!3@w(w;x2IBq6?NFkUU7_0y!UxjH1TrO0*MZuw)t(Nv^`*> z!~j##&C~v>hu;8GJ!-t9a2!N=gBv!{W+~%3@cR~U4h^ISG-v68$0S|3g@`9=uCDhF+Sb=1zx;b0U}mx^g^uD*L}mQb_sN$JL8a=5}k z@;(Fs#!w&vyMRuxK-Smo52;rQS>Am_@9~b=y-|3ha&a{~s+2{cb4@UW9qBjvNK)I* zW9Mue(B#Ay{}(_e_3`ZCueCiD2_&E0{PL`X5=}O_!-F!E*~z*AmZ!A&c)huq*o3!x z(DGFS;Ei^ehLAE0g663sz9)yBkp6Y0)Q-=ipCht;!LxpgE-kX=yrp&4o*N~#_NStz z|1l~*C0cUwAS*(ko9aN+4rnG7T;=@%WU0iF5J?G%lIxu;UK&e}a`_HM%8=sBe8k;6 zaMNQr-vQvV*i^k3^Wb^9f3@bs=rQdzAlDuZWlOrg3L655?!5tsMZZ|sHzZeTBe42* z$NaST1NMH%`3a_Z5qP+7UCG5dd9*^e5wfOGZ?hCIIbE2`q=t0gl?O|N$k}sJl=M0TwMqf|+ z;t)pXtb+!|?EjjdgsE4bxDmfPg4lrTqw0PjK^v*SQ-TjYHC=cYS7mlMM-4Ij@W7Gz zgA(}!f^MN^3msMka`0QHQt`y)m*8C8+}mpv$BDUvf`1Ao1^;yOmi0O*jYOB@&Iq-Y z#_{1v3Tp~dfs4$zE+?IGTW;4e?dsG5&I_N$y&lHXxz;bmx4*q~t^0*tpZFM`#Ekdw zLJK7=pH^2`62x)p_W2VV7W?_ImU&DV%6u)hAgdVXXltc$lK!q{MXKUZ0UGG_|Ip zox#M`H6Tn*4hcA*J;FN$Xf(xWN<4;@r+WOj(rz-l8xO=EIu>Q_XhKSO3)kBZRfyWH zT3oYfR=hmhF+i(6>o;iLjl*chrTI)c_I?8Xt4JaO=yjV0?zB&UkTt7}9&I9_Rn6H> z_gR8F?|#WUm@n^S>sfCFqD|t+2d<1jk>cE~UeSSGs#+_+%Gn&26AhdUDLQ(tK>~;t9XqoLU zr+<^c$Oiz_f&sZ|rrdg{YFL5jHx{vy4i|71)z(vN`%-ivq6k^M-fByU4hszu*=q0- zqu7)}u=n+vs>Vh52 z6Q%%$S}AoQdh|olLs{^Qw~oHLNpJWnILN}eq`Es-Sy+eDRferxYID7~Ed2mS2iL>^ z2!1I@8c}M(x2Q%+zfJ*d)Uug@r^?0SqAqE+%LIC&ElajDhMQ9nUP0xYSi16KMeu#zUu<*M~%oTi8i`C zN7v9?Zs1oR+wkPvKXGRqf#H#lhTpi>j>D{LXMA|UEvahbo&XAkAwJw~?7ZJ78o_lT z!H}VRr-K<*Js*>CVq2qY_lOcbPRu2phHA+l@(lOEgkEB4iyJU5Rf29WV1BE~d+W9INJ7mq3R%}l!dKxNAjcZ)Fe;dJqZ zSZ24n2gS6)iDk(n>m!VJi?OdQyph4P0yvnzIz!nFN972>I2MP z!ZhH2Vec)&q6*t^Q9@7}MS3VP2@#Yo0RfQ~hK3EWb?;{QysY{MOKa38VM-0T;pC2un zc{w+SgqMl!5(>Cao&flYV9fnK9B|1{Ao|tG+_ncm@ndCZZ17=Q^q4Z6tXQ0BtGE3W z$|BskL=HMHbm+Y|{g_^%)PsB8Bzo;H|IkZ*!I7CY9>SyaR1PCG^fDEx_2z3iL7Z*X za#qzCjlDXav?ju9FRN;_nl+z*oBqLCDQm&M;jq3LH|+n7<%WDyg4h079spe`2pl8} z4ZtE@!~^BBjBc+qsErW;Wqj(K7N4eHWTIvPkVIS3PC$GLiY}3DUownYJJ&^7g+S=Y z%;Vb~zj_PR!It}K&6q2AotCwfd*&mF)4*|Wt%U7rTeujLacO^9z3n`3)_wi%Edj5I zE%I zsbOMOTHuH&m3UKuM?`hA2XK+>;0?gz*yWgCflXhWACx*LTT=AqsHt9_=>gwFKMw~0T)>xW zYHX~bxcZ|QQ0~`$^GJc^)M~}mf$-rE60eD@!D*vi-CG;@4BT*Z<^;)AE-8LUx~X?wG+^mgEc1KK?V7EmmV z%2qMowG32I;eS1*b`n%GbDJB4^9hQxEynF~MjkL5X@C2viqc+^6+iCFtGA^9c?Ij6 zbaBzGs?`<~Y}bRHkw@%9r;QQ_oDhJt{ueoo3;oOL<_Fc3*WBK}_;<#7j|9aqTi9d~ zs(=EqxZ8XbihII8Q+0`Z=YNels=%tmQw2Ehc!@z+LpyQO*rGFtz2F;4clcoDBd7!! zu>pXs;xOi8j0)mpd?e_g{^Cp6i^< zN*D^viC_Xer6!Lr%|o)6$|EMtZ>$K&9A+qZPE?Mb%cK)4Zy=+)`M&4jESb-@y^*!^ zlZ~G74~l$auhb_gHTA-WK8!JfM7AmG*=t2&)|n+LBUNh|9bVRZl6eBj_iX@I?i2$9 z0P*KHGhaz(%=|zICw?+;Y`@h)ZH8hfZa30lGNzK(p*NO$20^z2`aj)H^`{G5r9Z8; zjQlC_b;NEw235W<#>F56NS7Ua#?-&q1TGl9H@22n+TAh!ffXrWtgf%eo=*Uj5W``! zHeepjk@U|Ab(9+Fj{-aD^YT|UrS|5|@Uk9qi8g@ozwFW9!ji*4!7vl7hmXsL%go+< z&|!w`pMt<|^%MLDjb+i!OW7(+4Klyc!-k2QWWQ^V$L5Sz@MLkXDWkFV~O%bK(67LQi zKbizf5thblbhbCbWyYO;79h~in@?uZuob`Ic`uisV%pmSJPobc_i!*(iGYk7I%k8^ z8Ml0tm4)F~PZ=0XYunM<#8zo)eRV-sB6ul3sqku1M+Cp|%(vmd9PB4H-1N5?I-RYH ze&R1IQW;6#yZ=#59fZ5-uk=%O%Zhej^aOa*J;Fk~N3^~6hS0T7g^XS-J|EASH=5rn z+c@-wui@R0P&E4?TNWJQoYNQx{pQY&oT>u|uMFNOaAkm_y(H=Ee}jS0Rva}7WN<%+ zwU||d=x?^if;3e6H^>^$$@q668j(Qq*X(7zZz`*I1OnwFBb&D;zLEtJp;9pA*x^8$ z%GTHE0EA(`(&>3wEH2mS`21>FEeBwtV1F*_hr2Vs4G=19z4S*H~M{9R{uW_L=MMgz}x&@6z@txGAt@KiFSy zNJByJ22z|(@a6rUM_&OEw^Y*xWW%|GS#aKaGrG>adt)I%cZC>&MWaPL$b5y9wT~39 z`uP~(ZS4k5LvU@*+LnyC37ZOizDkBLeXu(_X@x-a3F|O17$`US&E zY`CC92$MJPSpC~45Cj>ixr6WIZ`?sTg^CLGw|U^fW`}j{I5qU0hVr~Qimxm;5^;4N z1Mc>^(Dc>}%^-;FI^P}p<+N!YX-5zU-11zewrwVk%pu`2F-#bCQSUlTs<=je%lG5E zH$tOp_Zr^|Y@-lZeVqHFqsGCUCEo7Z9&0G{hRnDuS21-Ph#84{;X%yz>iBC77C~7z zizKo*im0WwIiL!0)S+3jn1h2Pe=KOM99E_nxrBj8?lBmi*A;@4_8%YuDDwU>V5TM@ z&=Cij4D^-NBemQq{QAoDWrqTCy>~vq=SQiW>Wpz`pLfU$F4^v!&26_=-NId zKtLSQE$xf?ILDj4>55lxHzL19l0T-I8y%z3W3q3+URV~su9Ifdb_4sx6=J5dCD~vQ z+lp%rzHM!y3cd1)X@m~w(H8yh&J^%rEUz1y0lA#MCTu+Y+0}0D`K0{AAFo~=Dc2lW zOrPN(kszLy5(~_uxU`CrL?-Vx-$=jajTHR*jld@Zs0W>KZ^2ejQ-H!Q2hF#vPxvtI z&q^mN&X9y-BQ*CFfPL2eh38<~0LuX%Xq`YVFJ%lC2B|{xGhC!q!H>I`+<9=Ep;v@& zC1nc<-r-~0qc;aE{%@=xz5R!4ICHn7p4_G>1Q&*vK05ZNXW0*WKH&%nsoLN`z~aFC zb!_OnP7lkF_~{Bs9|K$uYj^v@z30A0kKSX>$58cTj%?64O1%Id)*8Mh5OqnvZC7Ff z@cn@B(6jw3<5D8gW1d;MA*<3VM`+>tD5@PF z=J%1+_GEHG>#;bvsG&B1%g;WO%gSY7ONy&8*f)#DyUu+Ya}wrIgr2&9!hUxX&@F1S zcqa|2+v+hLAgLPJJOx|k6;={nD}yA=o^kNW20h?eBtJ3w?sI;moz#m~2j}^sOud%` zgoA-7oAB%3r@*;14?@qwhd=&&;m~?6db-)9Jz*p;9|G*3P8@ob_8kR~uIU7lK}pnsqSi4`$BB=KBSLxFl$9MV}eIw z>YSmWt^igFNcDvXB?q|{RSPC$B(4sc#is=t*lj@1_=1OxE^)10_5lBe^#^DrrvR^^ zaeRL;8@L=BK>wHu_&Ah_OCUL4d=K=$TONR=WBK-h&tA&MGd>SL)(Z3=KuHjqd>}7e zDtO?tu9M3iAg*AAXvF!lG932E0FY79!DGL*jS?aVV> zR0{n0EEUwnH<70WB!{4iy1o3CoZJGPJRkwLtXFRsKuoFyfTL(sdP4cM_sJX(Gtbg$ z7dY+OkAZ@n5$0?19LTK&;T~Q<6c3W;s&yRPxo$3UIOE64+ar3Q=K!(Sv)wOs)Wp+h zu6jMsMd9fO8h}<>&*+!}8d^-S%JUS`@X+{xPU`_(Z0tr!Fj`}`fz`6h#&0ohWcf7c0kl$*H|HfJ&>3+8YQKlf;yn3fwILwmXNKU5>d>;y= zeqaWWV#iB7MU@LtxL#@~-+925yYSE7O4O|H)*1>Jm&+V9>;t{N$MW1~ zf1N`MxzfFJ*i_RgqR?EU@T{%5S;3{VGSL3flgc(+Mmnh(`&)MTr9;@n#?csx2 ziln%E(H)%~9Xsf^N>oQc$cC4OaO#$)b-14FugSN%RsQ)R-$-!p`{$Yf4Nkc-4x6Um zKi2gx*PX0yf}HXbnD^mqd)e|p=0VTFRvXhuXC`*= z-T{akw?)o&2WCSacVClb@^a+KU!qGkN!O%L1ZwPTT7=SzVHcpo-fNTGVRJkKijCTi zsm1;d*q-X~WDmyM3yHdN6&koL2eZ^ceP@2Ko>1$DF@c{U^$yF1!KI3@dN`@LW-!*fpbt~0fGSmv<&ipFB}Ebj@F z-^=-R_4?k@J5@$RIb%JExq>MUGFvS(gYBYrW=IpExJFdg7Rzg8$@a>+Z$y%)<1Cccvt%>P;c%XNpQ714zPI$Lq7kcB$8l{O z)jsex6rB=O#hG~zT zz9v4gc$xG475p4t3|||fr8ro@gj%$R&_V4Kfl6xckZin#L2cDBnL9)JSf!QJh$3bLHh6$?vb=-_piz0}K*= zh?{vdICQ%^^-=DU*2k*YQ76&uU#!_Y{i{%;$t4Xjh0UJne_)Uf!J{B z8%Ix*tTpMF?9ER}YGYcXcRcx%p_~W&Zg8WC@aMd#-Y=B5|Lwf0a5D1k_n|bFqe+sS zsZKt3tL%cF^m@FyU_@JrF}WTVr5g0kisM?sAI^}+Ge0)#CWgQ_8!U^*i_xnfF9=Ua zIr$6HPltE(#dnukf9ku1ZG(7iTunQXhb8)m-4!Kaga(>G_XvoT^@*_wveb$bYtK00 zo-xnu9zI|jfd(3v*8cwU9n+FS-+AaXh-^=ZdgQ9{uMBI7uvrv*+j0Pc9=x z)h99%>q=Fw(V}+&I3Z!j&Vkg!>jeB9WAxr9>rcs-Z!Y)E+TnUAqASI@B*>Az` zma@GY1`1Li!hmwOgql@UwF2|>PZ! z*z2gz}AgndCu?CTH@Kz*DfK0#>eTp0^6v+ z@a__!(`}8;HUm%1yMu{rtW)^6+2{{_lMKMmvR-1;^2-*lGFI;AX}U_4-@9F=$BDpX zkEHm0PKDu+CfyFbp8R6|0A!M5UnD>vDVr$dp-P=zDMW<__rc(dl&|pSI-KVb?#7rU zXuDK7?wD~{WnF=JTSqP?`iQ|Z7|%YBANib2OlNfbn^62XGW->P`r?*=_kpVH2OsL= z`lk$=2DVX*`CR2o%zw;Dv9I$?I_SQi_VaQF~L_jw@NA_`w{Z=%m~0l}#@cS>gn z@0y!?LXu%QQphcPdfLC1SR9gk!+t4L+&O`O;%-{U&Az844(9{P;-b8@V?BTYKKka# z{F&0WdHsGdd&d{f>c)1vRXP9b@o9S&wZ)hhtL2ivR2jjYZ%_D34TiQTX_6afVm?(G zjExb8YR-;KTQ2zQtqk!_WOCEYJ%Q`ZPlti5-k-*m#c11$5L4nv-=>Ng8c}!090gH# zNyEhv@2&qV1HWv8%2{2T)o~QN$oBdACR6L0G9Edu1ZLSzijf#i(F%pmvg1w^4^U!`=59*J_k9Qw87xM zsYBcXp1JXPnhkuH8wOu~%w8)0?oBr0IR2u1zHM{iGErx1Qc0xo71)y84(Jid*4YP) zV)1Nht%&pO=vczUD67l~{^I-Be$i!>YOiITPH5bRlKXFp)pLm_;704ee`Fu!fya~% zc+oIBo$?0g^l2S~03dD*c3uDwm;T?Wm13O@SWoZv_Hbb{r%@PZw4r8^1w8?m_X{3h$ogWQi2z9v-T?%N$AdhvL&%PLo$sS-YEM&bLN1^qo)9*DKb+8|xOSM7D&v|4cZFGA&~XjL^GNnN1XJ~!g^t)|wM?b_ zm;(NYC7eIe5z^F|?v#Vh@bezAlhyNu-@q5boBwi`P!BPc+h~?&b{`LxDifL$qs-~( z8N(rjPiJ+fJCh&J6xI9>u>D%RN*Yj6?n5h+cYf>C)FQCmzllk2pJeUjGp8Fi0hAk1M#6$hykNi4u;Gyau0$z`XDpG@#r@7VMF zaq8J1XN$)0U>bs&81XP{D%N;W6HkwtPFIGSNnA;G>?hNZ^wS;C%|L`#aU6ccB<}5b z@dnD&4_^_NkK&Mvgq9kH_62s}U!a;d9WSb>sNSutz6{g{Gk#XUMru_&6!^M5~DWPj9zcPD4!g~6}nc?=pO96pkh zak+ThM*_UAHa1z+D+H3qf4y#d8@nyV3xNU-dUgVSZ*k20=0@wPyg$L@b30A#G7Gbd z33yOd&f$D7I~%1v@JwCJegwg&Jpe{f&THf97~CU>PK&g713LC)#I8F*RJaCsUfZXY z1Q))lyVZt1lgmMPI|5Fa`S)mY!#ny4uKS5U64hGo3JhqCVcxr`v2SAeF}H@gJ1*Q7 zn^cCP<*NoQJURL3 zha?pDl!zfwP*D(14fsK9Eo1(ntlf+jVKPrjzC)~(2tpmZEUTc#Q2FUeM$(wkNqx1N zh>Q&-#%B-yB;~#+@3;bck-7WfcOaHjj98&q1t1MvP6Q=>kNH+0BI4!cmA#--b(r;K zWsx&w>(P@!P@GY^EpFQJb+GEp^_Fzi+2g-k*s|=y`MR2=tFLk2Y2c8`$zZ#%$X>6- zmYpm(Ey=sY+e@NvPe{|60^g~S+uqh!d+h^La?7U!KPDV4P9W^E&cVwVD1Ns#i3d9n zpeU>)>ZP|QUhnn?@FbMil|{Ci)mylF`ed0HpzQEqCB2(tIIXa=^-I+Q^fsyZ>E^4k zy@v{Gd8h1n<@&ZtqI-ktF+5dAkN?sJVFzX{&jDke%1+0$$Vx2ybxq{IAH*p?_@?P9 z87@oVUH~TcP5Z<|BcitG9wnptPb01k#dXS3umpTlr@Z!6;D8=0&{4-E~iN)N;wiIJq7GAzcsE(J94{&%vTeT&aYomMO+Cs zz22%p_%pk@(JCh^OR>Vq$cx#gzymJjd7i`N(52y?Z>CxJuyCFGq8Fz-vmn7qaxdQT z(SkFo`M-A&-}psphnu!Nw$?^Lnd#XI}1l8{X!=2!mowE6r>-h1=v_9}N+ zrzRxWk+4XRYxLUfgBW25Oppf!2|rj#^rGdqzE^LCc9c)KT3Hm)YRePNJR#YA6snQ{=7On>4^*_urMyN zpH2S#v6w)Vt68XI(3Uk4G6ftj**qzCC*9*d#D>;`BP89x4RZi8N?2Hqal#s}u8`s0 z$=wU^cpIc+2RnO-VB^S234Xn?YS$vcA8AK!U-mOgHT5N~qU~rA3*5Hx13`8V%6hCs zU9bl_3JCj<5YL?D8_s5845YlJg3E$ z)j0T?s5JS7kRWF@CVgVXS&e08$+)h6TCt=mVd-`?uzOo}bbaGyg+I(?4_<_*1(vUE zvF8Z0vvPRe`UCEn-U-m1BH_(%`3W@^iAa6H#rbnvwk;dBS~1eA*s^h*vApbp*=6~F zQxc`hhABmcgA?tJSE^&lgWs+|Bv3OIssA_Cx;1r9yS?N)!TV%nx~blZBWMvy?jd1I>U zY3fz>oAx2JkMF_(F*j*L0=WSC`VtlEh$*ywSZ99G8SX0EdEPunA1c2D1LbAcQ2=PD z3_cw%;F6v3!u-%zLH{lJ|9*9H_x1qgW=#AkUUpu0Y;SSsfh*v3JE9t~yqv}b*TpfV>DgsaY&$M-04 zh)pd~a|h5wVmU@gcm==sisO2h~` zS+ZRcU5|y^SHL$_^wBO1&p}K|f9E@Y!e#ry{|bD6v4W4nULcZC;Mr9fPI}0wr+)v@ z&84@?J9`}jkfA?meBayQ5rYWvS9~0#+CA@Y&@>buVF(1ici_RoWj^T_8A^P6WF$!= z_~z9%-PnI1&(hnY9!P!0nzSA?BzY2h-F|eW`L2n5O)aP1ZmaCZPu!A0&EXw#lsb|TePRHOqHf71@Qy-$r2O<4;l}>A5{vQs-JE@XMD*VEIOMEz|$jfQijK*Kz1PyM5}m z-!?lJ6W4fDm=C%QRq{|$srL~P4SygLKYe69S;f2h`^V$evC?}MwGs{CTe8rzW6|x6 zR!PtVvjVFfZfN(!-rm#HxF)=TVgI)X9jf!4Z((ZhBqBXsULv%LjiqncTThg8()yS{ z8U(h?Wo`%y%e?>Z+0{l~G>_y*r4E|FraHNWk{`l#bb%(vva>)F{lJ9Ok0&I_`4d2E z)tCd%Z44lx|FXrun?g91v`qf&5}`22VMwN z#rlOZ@)*f#RXJK{RoLpUAJYFD0j#q2-|ra1QVsYceW*i9#tP5q+tNu}1cy9Ou}3z^uVVI`)Z`Uarf3W~A^ z-$dNrTolI&zI|=!P74JAL_ii(8rQ)6GxIUi9G`S95W0K2_*R9<84ZN7aKkcikh>G= zgF#YuYCmRBDDb$`M44d*H0NteqS?&J^k*mB9*w~p9E9j-F1w|*2jHp4=YVyQlv>|W zbq-{=<-tu|f%0}7HUtutUt$dcUhY;BtA1HWKY5Y-Nk7B8*^?H8R<>`bv!|5~Zh^XQ zU*W;lZP+YZ9Qt<2>TO$!nPC^JCF>cdGiHcTPx@|m~$YfLlY?Kb~iA-JahSgBcNl-YHAby?Mh1kq7X9eWB=zhR9PvR|qwMehMv!(9Yh)EQ75u+z%rz?=ej@EBzuU~lYGaxf z1~dZX?{X4TBfa=fCrho=eoFESIL%c(GVA_c^s4MXPA4SCc$cxZFraP8kbaG zYW~?JY=7 zk$tI%0HupS?DwDL;!>K@nUe~9m$YYjHco02RxUr0xt3=2f*Xf)x9l|zY2UAw^0{mY zA5U5w{E3FVQm)_{Inbm7C^fNan~4|v+q!Ce^~QvGj(XVP{Ss?;T;s^3w3kINEZxcwax9#F+#XMc1 zj87xbSK^63s_(Ya>X+Hv5!-kx19p7ggN;m&7gZ3m|Kn;=Z%NMtYGD54-#-pliGdFN ztxh5VjXbSzSQEtlpen$2ZcrDI`Gtv-fv6sq3qbXbLc9>~QH@Zy`wkjxFKPqeZ+(S0 z*)}~oGf+k#5SHi96D6imZHyiqW7OmKKuXKXb-Vpu#5<2t9Vs`V!nrEP^S1h2yPR{c z#dw#y=vrVDj@Yr^nrrc2j7*zgdl^xY3&1ah zNi>6$lI8HKvSlIRH-CP;@>%l8Hc6f)(U%WGzN5G?%c-8N@tlbkwu;RZ# z1dD18?J4^VgjRP`oUL1QrpDRT38E67FUB6HS{<=5^e1M*jJfd413e89~P-j67(lv)+!lfyP^Wym6 z2G)X{JwWOous~zpFQdOE+dqxGT_2x-ZwIfJ5ce5u2T2mr$*dEbAjeZDYoY7*=Jh#m zW=1Ts=PH1xGFXxV*4tU{1M_Xnruuc&2pMso>-E!^b|QgYhTzBm5lsU()0anEJ38fW z(g=~>t8nfebjdCQXHMEDw$FsAr>9Zf7I>Q8Q?KDh^*8&RWGNNvJ(Wj7^0=*QoMBgW zmxoDG*$TXAxjUhA@M3ybpR0;=tfLq|32Bs_nb9I`hv`SvPB}Gn7h-C0Ue*(b=4~vp zTO}Q!M&H60lfV0gVMlh;CK@%7cVp`bzH+>lHZ zT{ybbp1_6;3L0IvpLHk=Oz53pZVjmr@ga;$!w-)T%()gC90o&hjzCf|h6eUL{$XF&e-;0T|9o%7)HN^$v zyxd;TnY#waoovLtSj!*AnaiKDy@}7>tc(G2`Nmed{C)Dyv=Tb!5vD!wVigkiOD46k z6TO$tcy8$mx&u`sf=X~}I$GaZyF>(`eFMIKR>A?FffV1D6IpKviOzWF;QnVXpYbCI z4Oe;KM#Fng7Zb^7Q8s&$<<1Pygg6a#Q(Ii*=9Rat$E6G_RS|@mQocG~PBB@ifG6rt zQ~TIxTKU&(R7@7s^n^PpvY9;EhbH5s5s~_A@iQXqJ?ui}v3_t_En(29nW|=0&D$=p zz9;g3o}SiV<)p`amYOYG7j*K1YdQ{5+?)c%PPwyna*rFAxj2X}Ogf{~4OIjF4xH*B zqcRsPk95L@GeNxlK;OkO^HkaD&P;Ep<@bu1hio}lrtF(Y&P<`ILv;+1ewL$@89Uj^ z`b>2CJ-CDWuwt?)dq$}D-(Telyc%n<<+7>ZrtiRDl`1z{r(&4cVw#`Q8c* z`8nHk*QW4-Lx|DR$q>E3TU`;E`aF^wKD^33d?3e?z?nJ!C;Hy_2%ojO%3@pw=576Te&P=+t|7@EqU+%5 zDbc@KiVUp!Ji50cyitv@pkLk7n!rS}YA1i)5B8?tr7eT`Onv44b|Qq)8?yUkyFG73 z?)59}Xw6B#{^vQrT79lih4nS#>ej=BBO4W(OlBEnB@~I(a9;KV;gzSnqgY7_zmfw# zRYeavJ^fiwKu|S|iOuj>q<#GQcD>cg4Uyw?%_d%oDN?igB7xKS%E;NJVx|wQt=88r z-gdVBucS?^@{X0DPC``ff|aOF;&ASsl`tIv|22U+NpRK=TQ?-DhO8;7YM2&hN#+rn zeJ`LF_Svz@Zlpu6$mP}l9PCP+Wb|OQIHDKwd8`{y=y*b}AkW`cZmq#|s&oZbj{c-$ zHt2zqc|Patwniv0C|+-nF2z4v?m5i8b0TErR)rll;IwlAw50ToXF_cz+Ps22gx@>Z z=DCqMJ$geZvq_NQ6>1q+a&0 z^lQ)C@TP^2aY>(|R7P$g?v~`k9nVeI=A9X@B9=9z`R&|{t523=ziVoYbZIG#nE0#> z*P%FXtelk}V&|3?;EK(txXz)Um^?Z_iEC17+;r0KKZ2pz)pzRs_M$eLZfw;DT8?RM z91uT69Wgfqz>M4e^g8LyzON!%IajK;fdm)ErR4-YPR=QCfc~ja`>y(6V$VfUQ!sMGGZumF`0`eW~$prfyZ`7(F+fZPii#&uYZey?6U)a^08_v&{jtiuv`5>Q1pzWtUR?IV+cj zWby{FT67g{#jc-Wm>Jj|H5tFdy|V@v?njM;C330Vohee*+$k4*>EGbo(~jX&ml^YI z+HcXklWmaxOufB0vPr-Y>_aa1IUT!G995zittrwv+6S(sXf%fB=2%kJn5_YPl*=^B z>A7Bj&b6W3L8|zkH8Ik5c zI4-$JkVOslOCG$ZyQa?KUtmGV;g}zC@GI(H>hZs;nBI>hzo&fs^QfhtJ(Nqk#O-XU zIitBl{!Ag9cAdc~gbu8ZETx!EO9G=f-)S&S*~`W!e=w4mOqcg--Cy9>_xTI*@nM$b z44KQVW8(T<{huUcb`rkp>S%Hl{{8LkuIjH6c|%y#id?6Muc?qfK`I<@gSECq>KZrc zlNJqR37c+0!nfvax}-kk3jLbxDkANDg1WDQ!v>W5^0ak(-^dW6c!J^eELH~&MUm@y zGt9vZS^OI(Mp7+#_T!8bd72+R%KZ~`9vm+3yW~Ww^wX_+O)mYgtl+om%;m@t7`55w zeCF9OD^B5?+m6SSz{A4{`%3ht>@9cHI6av@*1ueq1TP8<`K z7p@+66fxzMQC1zU;4oY@DWP^2CJjumK6aa6upfPq#CFTuJ?bZ+!0Lby_vb2k^qo_Wa;c)^ACqs59<2U-(6OEyhV{De|*}dkkT=?cG%r>xP_9 zLe6S5&+cReXZY@}0l%%=NQ?Wp7mP07F_^@)R;P*$na~n!mto6o+(JiFFk&G#g5xd#q3rm3=gq^Z=KX_kpHMusd}WSUG9I zk&VO`R3YvqIHbk=@9GGuyQXNvE#FucLiaY)KK{vOhoWDCNB6r8*0h{^(7<(YQRGZ5&cvqb75G%C!|Bc^#2ZOMHvTwYbL zA6k8^)mRcZc5_lVb>{8x=>f~lv8m4XkKPbTy}rvBm2!$EW!uqd@$DI`8C*YiiNJz* zZKFU&vF3)Re$j-BxQ>>G_r(T_?4Ca$1kbwyJuka3zU<>5w&tqOV|C+nzm+IS;a}kd zy?C5aLl+bD#WlW72N4=CU?Zl}qce6%^rmeNy%D^quf3JbRpuwYjmV$e4 zB7T(iO9G>AbR+_+mFz2blY06-y4$Va?+4g?(f90keBLii_3M%JWp8oHb~=j81h&=a z*V)^GAYb!`Q_@+N)hn!I3a9_me6M-Ba0w+sKXrcE371YcXURR@DZl^z;r`o08;&Ly zQA?MGK9ZBF@V7%(VRdjt(S4zXwknnxEb^nxh5#bIrJ{Tx>rs}f@)e;kvI90pl_50+ z_uXa#rkyYOGs$akibu{nq8PU#HFK>SSe%*r4r5j^WV-pkvMvnuqK^5^L|e-6g=UKM z)t?w9B_>GouR0{WBNhn42}xPrhgoV?q(bvp_oI%fkU4B4XqNp+s5&yuKzhojBB*=O zIjhmz;%a;$-3K*^SOXiY3a|auF_aI zY4r2RYxE(He%<%w@yt@;TQv_rWFYSSlz9tDSon`;iu|^-{rwYdfvR!X5mA*t8mC>W zJJB=n5$e3*qwQAs3l#)@@RJEm_ZlGEoCqlmh-nzFqg}yb%X;9$k+|pnE5)}-xzNR+ zOc${BU5!wl1&-Q;$K9zCIA^;u?6T67ZX{oI?cDFF8`XbJw$l7lt>Icn6mKWkyAG|i ziGD152Lu1Us_UU6SR|6ME=}3>xhF5akGKSz%iP03{+t>KO~~a-BUa?~L!`RfS86K>zKeaEzixyok*sMIFnCE4wxl8zrfoLK&Lmz}m^Yobo;55c? zCGr}4Bzxr9zykSwFB}=k`96j@k#A3I^Cw~m7LsTbnZz|{P4f$FZIh9_tL$&nj^2ok-Om< z6I5ED>tU9S$feIMfmC~kZl#AdPfac-l6{8!inAerJhY;5y!o9&$dmr2$83R@SY;pg1qytf_|)sHx}5J8fZ1 ziQg&eC?&NasCNHP2wEk&vIg^Q2^MDB;xcW1;9y?Xzm_eWIJvlW5zIDn?vcx{H8jC> z974AvC1Ewpn@WM*X1IZo>4B@VR|tf)!g8nyk1@s?GvK`tN!P_bEM2KrdIDY|Dr)lx zmvo{{H^KXO`A@6B-I}UC_`-zdQp>@e{lTs#=XcjpG+T;}akE$ZpgvU*4R@xjSMF-_ zNALd?>>wgrWj8~`uk6^`8Bj)LO*;+OZK7|W2vwObv}E`gIIYzAGawgx1{EjPQzTa@WwHByqnmCnpIBPru4gxc2JR2>NgwqJwLW72!ngi3>o9p_uM1=*zT8GeH?w1!GIlzOk~5}nm*>p>9r88 zYfS6;=3=6McZM9L(zjS*ieePqQg3-dd5!+?IZU8fyUwS2II}17>?^N%#+nop8uJO& zEq{{Xmt_zf078o?`*s!n;hGBO!QPQ3g$t^qc)(F%2Pp@wFzK6O$7|~72b^k?BD)vP zvE40s?N1wV8tV4c;`7Zgn#sQ!^EXNzztuv60K;P*r<(O*D-l**uk^N@>fmh!sb;>UtwOo#0;`1p=~tv^d9re+&fIK++q!O zH2@Zq4ORbxvh$2C;>Zap&y`e%WSPmiAThtJ_j+8vKaO7>duCfE@FzUpp>?cP=SMFp zG6}17Jpbs^3)9;FGF*kWlsu<$iOw~5OIoc$dSHRWB36VnV?PG_j|rp8cXjx~s@ey; zHf<^qx?l$S~N#Qy-shaQk5K6EuJxdI(J;>quW`2+OkP3Elaq|8~%pUD!+C{MVEv7w<| z`Odyg-&Ps0do;AwV`$huznn=0o%yAd?cpq)?mAYG1V2vdW#Ajo;8VAur1Tf%+rcN6W5cE3m2;Jx)n6!buy7wGI?D8evkYk?S1p$4t0{ zUYV!6JiE0++=D396X_9CedRI{o9MblZ^qmK>_FmO2nFwz)m8=Mzzt8&`ka(b)JMdp zo$e6*XJi}5P5rRoS!a$QU4TXN;+lXjONUteP{c#=%O+$2H*iP|uf0UrI=xk`OvZk= zM|A@Mb#TJ^_aFT`auVk3cemH9UhhnqUuK%62(Yg{x?+C& zC~qWrh1ac)1NuI(^c7eG`6h6Wq&J4%^H#t!1Q{?axn~mU39c#0nmkYn{%Is=*(23Z zW--tRZ1@ZyAxX7fe{ufEV}ErMG)hV9fG*zv8~~TM!D74Yx&!`69a=WfpDX~6F8`u( z`6^)W*QD*sIy`Xgh0At8;HCiUUw#HF^737b;P3zELQt*Z{~4qIzpkTzXAKTB4eyG~ zdJ@XVt6l6YMN{feO7i>nPoQpfV9RWSPb7by0VUtIxlq;%#pnhEel=6w^tA)11RDGS z+v^WVzy=^eSzt=W&>*m1C$K@DsHE|00&hU=np7J|$TFV)wL8z4hKgkWum5@Za$&4T zyO&p4A`$8?pNm@r-d+-@;8tL*>|aE;znb4yf6``cFApCJ67NuJwSJs0FTRHjbsD2YX?3|n^f@6XM4~=BmkJSJ#G0%%XfJ%FEh^uffBj~tXepTE;wEsTK|NKxLXk8a; z%LW;;a}*L#RwDtR>CNp^bp5Hk!0ZQ#M$k%v3TpLsXWk?0&M%NXq!j}$!9mXi1GrVi z1;|w^o)^5m0A(qpX5SrT1ONw!uz>gs$e~h?`x8+I036Kq9ppo2L5mjE5=HUDpJZRQ zq!~fdwtw+QW(6(OBy$$D{vv=(hXSA|JVJB*9P}7@QEmaqb$i|JPGs^15*fpG0u@4* ztTJ63wq2SOfi-Kb9>45{y}2jx8nw+vxGW=W-O1!e04R;TqrC|7&5fX{M{UPZ5)htr z`RKcx;f^6rjIC!bp!_m0oK-d;l3g?7Z~IPZ;u*)=2}j~xodw_+!$kkSAu^J&)-L3nOSTY`1@X!q!IO8jY6uLuqjbablC ziv%E@LAdb!6-4WRZ&*_xSz!!UPy4;Z?;l9LX`{#lo;+V!8On_aN<&P6?r1Tw2r=;7 zw>>u(N}+af={=f}YIwU7)922Xf(iJY>ZTK1sR@97nt3Z>K-s@yV<<@GGvq=wwI~JU zNGtfD@Y(!ex35(4060d!A9HAzk(Jv{#_9x^;Ub~lO6}86o)$K8)GNqKG|sgItD(^Y zpXN(kHm3em&qs$#Posf!!G!{DiATGK%qfhbMd*3-@O%Y!=>J+LyI01#L7BxlAH4Nt zG!-gjlQP2{+GSOK(Z{~?r#n5$2@NL;zaZy-EFzJmeDl7%a;eMeXt+*P`dfWYiPM@r zs9B|)|0oxGu#Q(&4MK(ywN!NRkWc{f8X^cS`80d2Q1)aF zbXo#cen5K0VMmQ`qT5r4smB++V+`&ggA3~GL07exJ42}(3n1GcuLBx8($IM>86It> zKn$J%F!=xO22hJoKiHZ3daF($%_MJ~w)_<8&btX(a^9JQ?|#sud|pea9x0`(q?|(e z>d-WZOn}2FQI*D_Pnz0a{B)K~E}BxfFyRA}%WntXo$tU=(5_}Dnyg{^QhAuk=X6Wm zUrTvuCw3**s!Q7}9Y(Ibuu2F(t1{gjrw(BJQ$t%t zJ70mt@!7n<(-GoI1iLE@^%)tupNRZHc4P1c>xRfpdiyLZ+0%>qi<5d~WUWr0Im61| z*H&4&8DNLCw9%qJ`ZbjtZyS04+EjeNMhV z*n4K5ddd^jNLnA7W%nH9EuJk0)c(@7tBs7U2nSw@6Vun)psdf*fCaqw1XKp)G=TnX zXS_QWt0BPDnb{!&d~o)PZlR^BT+B3}^ic7rW``RzHUtmc)EY{!w!mrQ7r*#L{viQW z6B`+f>C?Je?m1Q0KT1;m8|vIx%{hLRZn`N-vqi@!iHknl*bZ$~^RXtVf-T9r`VQAj zZ`enjpQ9z9^r7R-LG_N-yhd}$#bMY54P@R^|KV)TJJU;+`Tk)wvD2Q)0Wm`3Ci#h% z7w}a5T_*xB6{15+O2l%pTl&vSA!`aA#S1+oM6dEtCIQ>;9k|l&m`fe5EEyt$*-Pj)I)w zV5eH4yej*tV4rzIvIep9`QvT@R!`7DEc;DVfg<6?swa3-^d~Zbn<5K%ufxg4wsmwI zS1Ol8icAMzHbocT9L^F}Fy9w zP$}td=@u49qaYztA|WXy-QCS1q&pYg-OW2D{`UUwea?0Ee$REi*EwIdA4GvQ=a^%T z@rEB>9g7eO}C?}KgHJl)|ds6EJ*^e2*} z|F={ofGw8Hb-Ydu>;U|5vW0HNbUOxBpec`SvU^*KZkGr?1iIY8v)+Id>QWDH8C3mp+{ ziNhu>j{78%ny+1dGOPv~3@;%%j+>d?dWEIJCaN}Xt3p|uC<7x!E(>b4IrxJw60$!_ z(~PGT&c=|Lxix%>G(l=3O(%9*$158>Z|f4e4VMG~{#xE(ce$!?4q;4Tpt#y`>qA_{ z-LVZhY&z}Vp$LQ7CO^(Kep3tJY~mC&_4Z9Vq3m%Cna#(`}pD9(OqM zzB*f+vOX_zorxSiq`n#ioj_1UET~>wL+R(QMk_O=>KmXjy;Y>HmlSvikE=5jCRNT0 z)EDB*jK16fyBCXWU4Ue(F`_LA+q{a%f09N}v9x3GBfi_ElZyn()giX4%(@-!yVZ!0 zRLQyo6grEaiJMqMWDXOu>{h+%hEcr$!gZ95eiz^sdvD~}UnXv+o7c@$!c17?phtOi zHsDQr>W*8G8I4m5;zkyZ<6n<52fcB*^dtaiw5nLwq3r!-+;*+jDB)%2vJC0(6OP(& z{l>tNf<_FoqDA9B!I(UDa!)@Rr}id^rw&m8D3p1Id1gV>tiH~%2bI;dWbYR-Msx+$ z0UdvPp#V&eo;*}^H=l|l{fLK2^zZQJiQE8*hd#K*}YyBP%}H=KJ^1L)^~_kR%hjayVMlDvNQ3K zEofCuKS8 z@F#wlQGazHopV6}MWGbs>fyaid422S@Q1Oc^&!JRhv%Ltf2~k$?54W)d)(JQ!K$9o zrq6IxSg{bJZLv0{p5A8U8HjBKFxUFeXq9{Rt6{No~xSv0@AAX%c$T^oVC zxCxEp>j9<{S{^HrR@!f11y$AZpZnOH$)hwq@40TCwCa>)p5KlySB5&bib<@qw5lr% z-2&2QI+h>rLsTub-=@?O+rycc;B?d5GINy%ICueYoh1s;64_}djE-O|o%pUM7RQF- zqcvmJ0R={ihAhSRtc&>2eUR=>&cV$6V0d{!{+3MpBn$pb6={b2$?ImpK<#$=8L4I3 zpqJZ`PbcY!5~*Vm*%&!L7Y3#Hb$ciqpW_IukB4{yitZ3&Uava30K2Wb$ghd= zR-!%c-AmdGN(F{T%R*YW3X{*1Je{zz7R zxwX53w+C-H4*_1MV7gKe*eR6138hJC*R@_z8OM@HLh;$+0t_X}$?a)u79Braou<+~ zL?QUqrK19Ir<(o4>Xn!J_Ah~dl<_kMU^_o>#(BFl8VN#;oSjCp(=#2{v=04)@aMV# z%%Lg3l5v}lu#u<~M7uo!X3-7?Hh7hu@>yLR^VpVC)N}`U8_NSWy`7&M5XPX^lg_3J zHLOK#K%P$q@SC5O9Q32=N+Un9=r%^^&Q~xuRA<&;I%FBgk0Y*GwBhW#47rDx~IMd?3(en1lqOay}p+<>(}7J z2TsQy0s`N7beVBZLr5F5#qQP39gu7r{2^;F9?nBd~r=8`uFb1*YMuB^{wtcmwMt zpv8VoNZ6XCs`#RVMel%chFOAty}J8MvwXfV*OeqkrAk;M-`a{u$lZZRXe)GkiPv?8 zLTjbVnyTWXCEvU+YS2CFfye)TGC`H0Z>hRV!=XCbUEKN1Sd?}N6_=-LW{V;A=r90E z*X?wHIBmYmM!E7z5cbEP&(mJ)L4>U77JY{>`w`s>g9i!&q^~)_aU5-0LQDVjo-m$I z3s+laofw~VhV}RfDE3#MG>6N#76I6e0pV7USu)%bZd5UarE%#h?i-b?ERCD^gj*`5-^SmngEj25H(g+V8(EsVlY6!FwR z|0yrM2uA=cG%A689Uxl(JUUx|qJw>lALM{)3Ura5wztQa`zc@28hDYu0jMveayIwk z#@mJfWcMl0c_r(aobC(mzH!Be7GtAV_F;)RbeEv1;@@1Z8~_-(jB+~(kJFHe;bFaf zlcUBfR_00zAR|mqdarThyB`4Jf~IpaRr2R|yJAS|B~%34wfrgl6JVs@J++>&K@9%M zeY*<9{e3ACp+ool37MtQlZ&iA-Ti{4svEexWlE+4%A;+d6)M8cq37sT$8gQS^MsO^ z7Kc_d$~z{oJL9ph0s+a?{D>52h$g-vkMf+hRC|ajv{~8JKILiU6Wizu1pn1lcEG86hBltDJsfM&J-lqxOu0oh=yl_FIL4vX7ng)93Fp@y?F2YzqcG z0NX;NgJx^uBk^2p#_=cGQcL@Gg1H1=4j^8snNry_xStxuv4LtvnJLbLYRbk-(A9GX zF1kx8PhR}8m)`S&?K&Z`yup2G@yKz2`f27tFgNInv70S3cK>l=`Blx+cw3_Z_r{G~ zM%fNr3IQCisv*)Gvvz7LD{S|JhB$?f@6ddztGLrq-@_FFW|`R=L>U;jd7M;1=CUFv zZS)e#Xw4VbX2hH<5cIwh%M~6xCN%9$Fj(~~qB~w~&_%vYd>e7|^J`Sb(}iNH={pt? zae+tx5`j3IUPo0g#%}Q=YSE=nZT`_Mh{>x zuQUfZE!zQYBZV6fI-woUvLS>hk>?e=Z5Z%1vDe)Ic=094%UwW9EUlJotfPn~xcWGW zRT-j%nE!~^6eP}%8u&VX1FRja+RKC7(C*(CsaLDW)5;2$W5-<_AYTEWElV4WuQ5|I zJjY8T{r0&C0F7yp^-gn*Aj|AtZ8YlsNTZN}%7qA1bw*5VEg)3;f`iUgBZfy_DGZ+9U`@|z`cSuY$_PPqZXH$6b10&>-mF{p}!RWdzdg5Dd3R0 zDCac%l)^1)Z2eLKY=(i0x`_Me#1Jm{9o!+S6_XtOtYiuLwJ* zMv)MZ7x`$KXGEp0-b@e5g#Q})Og1^-)aW2{0-%4=+C*Gt62~%gnUjLlr(GS+P|7is zFL$-kPW}W)r~KRFG^gRCo2)~4=9SH75jBN^=R2L9>A!xpD_KrFJUu;K{;hY%8U}j1 zz#k98jsFtToA&hY91+1f9B}oH9<;5--9yEz7F<}{e1@nl5`@r`VYWh>TfgrifA_7; zS%Z|fDC*}`9YV*g>LamiUc^mRQK2JRImm0bMcqRM+^%k$kH3`)dmXj&s(>`dkXQ zK+2i`+Nyt%o4=F;G=+Up#Kn#tKmC~8aCL7pYW9fn70y>H45 zP~G6=Lic~S?#D!~vkwrBp&oNGR+gCVf^J68NA!QY+~cyEin#@=bl5Wd)eG{i<$p_n zzeZZ&#PyBOf%tO)I?+WxDaDs7w#!fm;fstepf{f=3;865`>#7>jjLG?+=AJje)pJ5 zmlNjn%1%*>7(Hq16qYW#WO-v>%`V|8)dA)gAEQ>Q(dnswl7qT3t^14PjJIo({C@G7&e{CZ>0iI_UDlJc$5^aRSNneSxB8vK66;=Q8jf}|plR4s&f0MI|BB1= zQR=#8dqYYsPd~UK{lP6*vS~18wB*&+lFjOAKVx?zGIdV)4vAPujD073^7Fw5~6L z&rC#wf4LG^oKw(wM~#dfAcPLWTh|%Z7UT$24D*ovr>GoN^bf7Uoy1VKmYF;&xpMQ( zz}%LZ$V=JdxgP{GKKjZKV?nuYOH>}%GkLm=-tW%?G%M|Q(8F^7DL;=HwsoOwW_-VE z{XU>^CzY5K;DU4T+#}0)&Jn$XF!TN3+x(D!(pUjs`+xwp1seU0Us8*B`yXKk73ly` ztig8%;qI3t)kvg?)H{`1rUdliP-DYcW$MTdw^OzASBNVT{28;%SNrhvzk?T*f74Z%x`3rhi zVjULvY?b&Kq?>nvc%A!TzaQmS=>JC$+c5D;$qU~TwmO~FCdZ(|N>C*{3kr$iJX^WJ za>vj@_>QH<)XWe}6~)In`m36a2FFEXuDT5aCPKK9fq=#?DKoX2;vu8jfN)tFx!2C& z4-Tm35)@Ms7Z(M(i-)yHuQ?Mz%b6FbxkNatS7i2x;P zIqbJbz9C-Mt9mNcW98{awXZ&tihA7gFRGm`OxiKZ!LM`C^`qug)VKz_F0dcB8Mv z&FRsf75+Ok=ErQ`G>%@CISdlc1QKMIUtDz8=ARcfS#$_pD4#VlZf)RlGmjBiYUELA za2u(Y84jIVpA?17e1C)8_(dOy>wdI8rjXZzD;-oA}P6SN{csmtVFQ ze5mx_W>Ew9XKwfR>qKkso=>5Ab_2Pw`FHdfXg4cTmG7hvDOC*1Mc`|a68>+&dMiE+ z`|jHaF^c9I?JhtMFIgv>e4jw@CZ1iTbj*>l@Xf#$(0g=aS?CpjIpjXLmzIeDCFn*d z1yU9JQh%cpaBtwaJKF3H-J{^cxs|QFHf(R~T%tTCp9T(+*1Qn3du-b>;;nXb8%LK3J@U;+`U&_ zZ2(QoGtzV%k`ZIEoG6>0{mtek)GJ^k2npEDypnp8dokgtY2Gep%Zr=Sp5r zEqznU(NLA2k~#We2Pk~k+IITf2DyX)lV;oNqx^WgpB_oe9~Tw(|964DB!gFg2NfF% zsta;mPYTZ6a#KMWp3^_S*YwdIf;oiev#!Y`;AzzpP(wgIiml-`Gq;Fx+46Z4)w|-&;0RxJZi!?CI|(cRmV$ zO0e$f{z}`?aJT%+;b{N>ra2Qo6C2i!uhXkZIC}GnK3o$A$1-Y%+ zT>wt9fIj#s;MjlN<-QTr!BojWe6|X*)>4NOL(!S5z4B7AW)&r7mBkkohigQuDwcp$ zf-|T~)19#+>C@$Ul~e28)RnSR1EXFCqp>2BHm;RIQ&Kn%;v2F2X;mLD(QsyWX03_P zMQx4M>D0<897rHgBPj(@4m)mmgSH5OV|5zLa3kdSXk^}&Z#~m6@1Q#TyMvY)^U8I- zM1iPRTCHX%3DDuGxto_KY!u{rbz(vAI}r$e2MQsVB{o`0eCGg2SaEACH_y3V@m=z9fhNi# zZN;|jwW5K+XKP~oroiXGkELi6_P6wf?`vG}C{7FOB`3I&#Xo-;r(vn19;J z2}Zw0b-D91W;SG{E?gF_iD`_-D*6rLS8I#Cr_XXaO^1-ePP?S>@6QY}3brB)o)zU0 z)I0r0m@s%L&L)Ur&=db^?_|sKDQ4c@d)L$l;ik1MN?i6)CB<50Sy=h*_anj+44yG; zFU3~8e1H~WDm5eQlVbq1`W!lKhLAv)2n}{<@hEYl&uGYDV$1dmrsHrjn;q^hN=#rt zjw)7c;h{wJp7uUjiB;A2viJku^W7qReS_zS2`$9_&keS94hrKikata#jqkSf?4rMT zXy$rZnYfYdPz8Xc-Foih55BJQ&mH*y8Xf+00~AqJc1j=ekIQlLM=qyNDY zL67z#=ze)K`DpD$3aS2NTGI#9@C^VnX0xfNl?5E)j!E&n1v19){!ALXnue@ll~LL^ zYF0|2;{dvv@ok(`HCuge)IuS238dKv86-f9e$xSyW<}8=d%D~b{aw|ipdSGFBX1bn z|Mqf&@8HUb&dkcrUk&wv$$K0;3N91p3!~nhcbTZ_(w#*Y1x-pSREk-O<@pE|B&{OM zoL8IGuPE2ziyDCml0l1`xTG(0PF>-4HiUXaCTN$+O^eSx}WoE#; z;;}T~aazZi@nt1#xPle3p5$I;*P2zdr&s;o(Bxx*ph^M)tZSGo$PBmTRwuM(FaX@5 z;>@>xc;SZC6GlZ9eN{of1MW{1lm+8+R(4buli_;=Wo#}fPh>X29w=ldERO~KSDs+`nS|a@H0ucq-Q`6zN zP}#HoQ`Ep2TZmia;FUnQq5*X#r*CdvAQ9{1!WiRqtTVxGQd_aGWtBxB7%PQlA5xQA zvKxCa$(%&@?=QA_ix3S*HPgN+?~|SzS!b`5Tp`Cm2XYy z>17L>X?oa^=Fq`F>30yu*$It=Gak6%UpyLDMdbN*nVb=?X3NBPqQA+w10W^piWx4| z`dMFJF=TGEo=yU6(u{kh3pb$zQoXpw*Pu|%4|MQ6_`0B3>EfWI_{)V@=jon^2QF_@ zU|WJ&VguS2|I^rh*F&fc3&ZJjve)4fv@S`x@e_obWpQgN50Hq?d|7s5yR7}sxZD4L z9&ZmU7b*KoZvjH|N%Qd`(hLPd#b5q(O>d3ipYCgpoZEFA;VRVurq{5gmJ4{a}b77a; zHjGftUGp0GcL=lHY?akgvFy5A??Hue?FcL7fK-Fb(fY|Wed6V*67!wF2P#dwri@Fe zW<83Pe-b@JmZW6~37myiW0)#rOXipj$QmE>;m@*$CyLl@u*!~rU%V7+A?`ih;1r~P z4Ul`fl~u-9Co6Fj%=GkCC7_8*auH24WFwFmgBs1r5C4`+Yr#csQG8VWo`kIg za)uR>Bxe!aTNzumZblDOmXGSR#@8!|UyPSI1`=ceq~=vQ>6vh2J^!`*Ess_J0LB6L^5~rXYcTzg?sH){51@ zzkts1iXn7ZJPLP9`}d+O)eoN;$+{mpfjihsdRI+%(vLBhG^o+&^xO|s(dsO{up4it z&mH$li4IcHYKNKS0t5C9c<%vEZ7t00YDe-^hFydw3z70)-q}Y9mbx5=h;vsRvY&)w z+Uv*$EKM(U%PE|cF6j@MbqkJv5Mxw0-?x`Xqs)=f&pTc*9V1JnXZd5+tTXDtOz&c4 zRF`1p5W}SU>FvX66#A~D)H=5cT%Pt@QugOTPDcWD?-o5jWd)1klL1Kd4MpS(k=@hR zL7Jol(rKh=Ihm_b>1H9zB*e|NCjT-pga9-yzUDvUT>_AXHc*7Ain_`9f}7BhTMoEg z0OhfEJD$lcBMsr7^j)iRDl3{wyLUTGQ=7PpG&q;|KSQGL{e?ughpKTOuc)HaPxsga zE*y9b9wC_lF!6j$sP>$pq#)wJt}F|zVBw{9f$E3u(#Kd@Nd!vjvTb~{=G2Lj3)0;8 z5640d-WOjZqCu!)WU??e((1NDAnQ)ndEbifV(U}GVp*1xrY6G%{`hP|Z9XEfI~Xq2 zDF-^gI_;9;N9`RH9LTTAqZ164(Y3iRGcZSxchy6>vA&YvKHK2iE2)kJOYw2@N`?J= zc7GwGSwTac7%HCgB$M;z4bc#MOqbS>!6?z%N!H~aQJH{{1ZV9Ft`(u@`=rT3%86#G z=k6DR;j)epn|2J5x$%i3geN8u{f9Jy_NCLT{8j@15eM4k_u)DZ=~z1!Sk5+2NuJTH zANr|}rnZYu{>Kz_L`)mqs*P;(E|1iL5Z9E z;ke$e-27*iDVua|Qw#tzdi66}cCl@wcc|eLHPb%NJKB}@3eY2sk3&Cr2bU#^|bu0>=zX~-M!pz^i*p!TI;w!-N*EiP19D9q$$`r z=BGfE{?yfs){FKwkT6!1~i;3l5%jg0s> zaU^qPY>nQ?>o1C{it`6W6I&5tD<*~7MuHH|4fa?I}!F~d@IB~n5G=WsH(!xM} z)we>o>0}))$z5ju^Agr7&pf@YFUZlT9o^pN`MCha@drF-OyqM%$&Y7!T^^1082yi0 z+?>eyg@TXk0z6QS1MqQH(a0*aTe0}}w<*!d!`;@-kqS)qB0CA*uA*;c^F+#IDWF(* zl$9q+R)KQp%b!E%q3NKC1i3FFo%wJPe}fAtiy^71<9w7K_Ym+=ZY~aIc9KyW*uIw> zBefmXZ~qefr|U#8Rc-}f{MT_cK(9C-o;|sCFNEnWqbDhojZeCJFf}2Y9121Jl(TYI z>YNa)%z@1R2(vy)fMC`IV9%7EL0e|!eO~v%@9*8^t4=^AqLs`X-_mPrPnW zV$~C2J`K5n?)z25tM&2CyFbWoy(iUCc~2Csi}W$j@z5Q4PkIX-J=hfx#-qF+UW#zr z&7oad+%L_j$UK{>=^wnfoFRx*PnC91R(2RZ8BkrFkI!`p40l_49;=0d!G5#^Z`rH# z96CCW3O**DnZQN(L+Bq0yaVNsd7;!>PIGkN&v zqm33VUb8Q5qXR9-d<$<~Z%?g3_JaT2afqzqYm}hBE@zd#-UZ66^g)6HY7E@L&Eu@W0Pu0AE4(prn z6M0eli|PxROMJ={*+p^z>wxh+b0SL)V9(P_gi!IkgOfLQZgQD^xEnuDxaUQ7&KU2J zZCY|H!V>D7k=X`_KT*WjKl6`!P{qG5LcTI7sJR(>5!}5x=aS8Q6iTg=BTT7>vHoM{n!4}NYM??{_Am`#HULbs|h1K!{hP^8qOfoB?U74|Xgn8O`+&PxeHv3K8C-!cE zLfLXy$MA30NOM+8isbsQZn!5d<*gYTNj=_keN9ih&dM(>Vf$tC9ZfYdF6K_Zy@o>X^+!@3*+SarlCFRmP2a>hkpIug7u!KJ z#Tag{(ck(%H8gmiSf;WDBQMrV*J-z2xgkF0+zfQXW&a%EGU$xVNUT7zdpHu_Mf9H=N@#kT5kb*_&lQg&73EHSD~tD zIW8i_uUu$Ld}oqp*{01oozui+srs(o_5+{k<}j;_`FKVe(tz>3FwUObh}%fN6V?C} zjL0Bbi=_*bdkV5vp*PCk3cdG4`j!bIctdiN<>5KI>Y+Y77hR(B$TLMz*G0DJ8{Pb2 zl##yUNjz6#gBrqM!7n%WB)r98bn-h>^6M7y1SG-=>e?t6y9PJPmlq|N!%+yE9Px4X zNjqZkHCqqN*11EFt_#Pklo|}EG_m?wHkZfwtf)1ud-)@hEe|`MXtW|yT=j|P9p+X0 zN|kd7;^eiE8fY*MHD^wby~-Vk^6;%e)GZjtjXk!DE`6sz);PRkja<^fNAoLiT`8)k z@zW*9s;5AOykAl^&IsoHNrW^D>vzaR1082{_UGxY)izVA$Mkt0)?~$Lv1o^$3pewdLP><&)t- zW2`%1MF>SAq(3tndXVzuOH zEVtCnz!CP;O-|3HPwZw1juK||BKmS1NfLW#_px+elqh&(OOqs?pz#Mpo_{Vw+O8kDwRn?DgZ-1}@LZ@S=IBv8?Jaob z&n7W(#X1pv+FJHVEm89uw$j#tOG~e6_tFSS=F{W)rTMcnL++D`*^LJQE+GFZE~i@y z3#*$`_+vU2eZk$dvuL8Pd2;8_5M#w=m7n=Hw-LkR3Z#J&KsWi?4E4-?t|G(`Y&gF3 z+k1KEp`7+*MW&O`ou>I}Y#w(#89bW9`HNQP_`8YC72ikJeD6>l&i}%AUQ_W}j==hn zcG&IxA%FUbZCBC8nBk~)n=C!ei#s?Ag5Qtb40u2p0fw*SknVJ;Xe;Z{{nkx7&q{zs zfC<5ipSS9Ew&%z`>ovB+j(jrxoV;d_^p)>DPs6TEfd_N^l{rR9C_Y7(P1bru`O=-Z zsCZJv2gKIavY|2$BdjT7v~fK19=YdevDd;Ue9RC%K~G-?Dn|h=3Pif8fO8eLgyZJr2dzbV zu_x6|95`UM$AY^nJ837LrOMW6esH3lAO9$`HWm7N%v!^VxY<#77#ZM6PIxD;WjYu^ z8S_Yz2eg-0me@=kMa6_Ze@u>AL+Th`&QBp6FCeX$`&nZulXm9p`_||4$nEL~pWAR0 zjG0&GlQ*^qkW{zOPmUhtRIFy`)v74phYRA)Ik-6Ctz0=;z;RKv)CIb{!m5m5{U2ja z82xo$-SesTAphh-+jLt$8XZ=Zxp~izkb#VD@(?A_h9l)k1pk?6 zj~3afM`uE-N~0RbyD5&C*Ny7b)%!LRrsJ8QdwY}XU15JIRJ`q}!?TN9y5hBz z*66VB3V^sKy`%;e&pM=iQjkPa6yAorU+j$sMNqk&gH#PwpODe>1-If%`{g#Kooy zz&kz>z}I5V4XF&!XuZ$SOO#A07_o%X9gpp*#k|Dm;8!luekVbNE1~puJSPoqviPmD zUd*|Zog=L!aW-R5c#pTh5>q{407jQ^m#DQ-%wDy2l0Ffzxr$;oQ?#}R&@ttQiAm&L zU*i(qw>N#TQ$3Iy5;He3OVkt1=xQZL8?P)>YP0SD_SUxzn1F}I}7JC{Ct9VwP-8+LBk?esry38Qe{8&eX(mr zWB6Ct{~XEGv${?BR?9HhgKDN)8aWt)TII0bQC`p6XOLcVHhYJ472uczCU>r^#mMxUhP|5AGn`dMm%}*J^77Z9i`Nx3dz(r+eFAebWifX zf$u(%0!=w4H(3vP4yJUfoFjWxAs35`ad&AQ&%pad6w*Yo|C!G;z28VCe`0rH^h?-xxUH&yrchLmY-GP z&1+Em-j@57^OOrvKTKJAbp2`;wbxJsLI09HC^Pr+ZdL8^fnM46Ds>>IYXoA9SV%8u z4|#Q2x_^HC0{fPWxu%bSMkYUmfPQAJ5)W~ecLAw9Ij5ZKon=y_Mhu#C29;xhg!u0V zEZ;nV&Zz?gdGE6gzrIFNf4j#V_!u1;_MF%Dg7DRe%!;D~^x@=QW6io9fSL)v`Nd`* zAZ{b#Dz8665-@}YJ3_jOKL=C*l_Scq} zxDi=@3;xG=>@|Amd;McAqA1W|RPX=VnZ9$DX(Gyh49lVq3IY>Y64P1GTDrLo%9*iJ z+>=Fx{Lo z8bK2G5ol0JEGP!dm4W(27XUs_@Pg=oA81I48u>GpESu-mqsKxr@~?uv0B~S_A?P&h zg8EkbE<-nguqj=vHVnel;o2Yv?ejRz-yPiMY3}|crtZV zGt3M8D1HF-wMnlz+3n;;+T~R3wtokR_;Lj<(3oHO_G|_amNSM)1p?`|KASqw!J`k4e&sC?sP1kk}=cF#HHtoNj!-6aZ=&WEoMPW z`qROn-}Ik*Bpz@2bD9nPXs7X_P|U4uXR2J6y$j1zk$6Rb4^kN`mAvc)@ z{mbcKRc_KV4coVF(k&braE7x6nst^de^`+%s_3e`%gF3RL9keY1uHkHb9vW0scE+{ z4YXe~swvQMV>1OfJ)a2F5`Eh9WO~G|U&^0I5zgC+}E93CPjMY!c&DI~hrY(rT$eV(@F z*reaRc>V*pzVH7ryN=VJFy7+Q&5OQ^Y-O_)uYJSej0UR(DD+AtBHfiyAje*0PaTn= z1*^Up2q227M2jKqeLd@($+{)g*R6t&b$kyNBk5;@Me&|Bc>4&Bp&1(fz7&oedzTv!6{L24;8%8 z_hf+VnjEo{Hj4)3(9Z!hSoNZ)4qBKBIgX#7!CD-@=uJJ@qp?T*nY9QcS32*0DsRgPowl03AN{V7;s|O>nxE?P(U@MBBUD zQ~<|i4%Z7X2(9o)8gBCAXkT-(aRK_wng(kiIo0}SkkeT86-_u<3!vuF@S@JY)WQt< zs8zklk**&8Ls3|76lUwuKctRrn%Zf&2vaB+WS&lSVJL9AeB! zalO-BT~QaPLqBv|>;4v;Lo$d0j7SROuc-;D*xbV*0CPgq_de|nLp08P>uJyy$gtrF zD2TE$Cs;;HnUB`s=&!$inIb__&0MGRN<{JBtV_u zfD%g9Qou2tNps_s=3Iq#oehYp!Vc?q7dk52aqnCIvP|rPTy_QflC;n_YMFtWVSsJ1 zLgg9tkbG%hXI`Yl<6QT?n}JZ4Oo7~n2miir3){Z+3b%QhNu7wX5_b%B0^&h;g#JC} zXW;g4F0NfDasHmhM_fgDpjQu=N%-VO`F*kuy%7&j0_s^I#WP$|YYvN;F6x_)X}$^o zgMF5>S}sl-n+>R zF8J~&tM*bd@FmAOt_@WSg@gAQJeuNxtz8p>m}@#Mn)C@%Hm`Y|4OnpzhaxrR8!kF+ zeHCpirQj^d;XekJQziY6Ig$1G)lSg(4p6QyQqblwu0wh8oIF17tD@a(jbh|2o-WeI z;Heg_-9r6y)~grhuR9@uWm%^fF#d`J7Riyw2vTrAGZuVy42;ZHmY>E=$-nZ=36v0N zX6uU*QJ3JLeP)4xNHcHU_Jl;iE8-9w=&&>rzJ`1G7v4T#JvlxA| z?#a-_<5^8h`a1n+GZd1oe|tvlC>lAZSbBO`Irc6b~WG5P*7YR7lm_UsdCMa8=mw#3N1)yx-q?S#w$ z$B{8C>|d|V0$`z-IO8BEwY4fO+~HEYwow-uFP>d0 zaU&)APmI9x{o^6D5C&w7SZA0<9>@<{quR^2H*oiQM*(P7!oZf)qDXc}g9{W_ z`bxaS?6OFqZ~}b)mWrb7hdY7I1vbK$(cNvVOeh#R;AoO7hb_@G`mQ#lX`I6b2c^1+ zXacK&Psxujxc?3cp^KN;gOF>*zyUR>xDNji$9m`P<^sA1G6#l(hs&us!#6{@ezSqH z3C%LfT?z^~Zi7hA$3M#S!~hsr)yw_b-GYME>P9`HKUP3OtyX=p#Pk1EAdZ-mI&d;v`IGM=91{V8V~cdA4DeLJVuR6zJx&xqyq8Bt|zJ>9p@EzgeOO7ZR;fwt^1Pfw5Lu$(Cb7n=0 zvs0W61zXnzy z)@8RXMeKpwVPSk&JC`Ci<>LT$C45j7&l7IsgFvLSyexzm)fg%po=(v?r0Li^a#VXe z2#PHj2zXv4#iZB}zi4=p$xzNqvGnY|9~%a$E_P@D8#B7YmB|x!zhw~&GKDOX#(Q~< zT<=YOAVIHuvsYZ@dVz!uj>*eCau$xyc`JZpj%i~UyS^Ss+sdwY+omjGRO>|&l?-D& zs#?NvPawpyEn-1p>fS~{>!#ZJ$rgx$@sUF1^vLVJ^zu4ryk%cn03NHVWJwfxsQ%rx z7ND-Dl);W@%7ryH;_+t{g1;Wzulx{G0;0KDI0V>^1slH9zL*p;y&$+uI5FnQAUj2a z6%H~_2aBax^7td&!6J&X0xsY@S`A3}7PkTCM6(>n@+EV?$1YtE2XFEwgVp_p1nt`C zd8b#GP@-du)hJCAE?@k_Mk{cJdM5^TNuPlk+$13C+LS(Joqngz67+`89UM88UBKRG zGweh~fKCI5y}_=AIw`UUGQ6vZ>m&9Dk#!nwWLns5ojJ#*m)ZNPI^R`jhz&lEsL<$s z(5T7Op9H_#m-aWi0*$dAN+Iz1px4vUONCEEHc<@n5^;F`UWw?(g6f>(Kohw6xFhI2 ze+!2mV9#LnW+1?{|K0<|Sx~-+W)x0&XtkVLqVwmIRUjN&6E} z0_aVjaS=EJA6G(62oIiqiw1eW@c)=#gJ?G-J~i;D0!7Xh-hVQ3CI)q%oHxr;A259L zjJB*uk8Gq8(!Rb82VXWW&-Q@43>?}Xa;q`_4W)OgoJ z)g^E!ZcKoqHx|N7*#dTxKhc0Ms=^k)n;bw!O!E)!z4++sr;MV=#{Zk2|NcLDdgzt@ zPc7qr$~4zI1C+7?$)QYl7nBoK1){YO-P{V4(~pJH*(o2cmy5{-+w?K=3ZHE#M{``Y z+6ivd{FNXUN-`8eZr-!h7`YE)CaLgn2GzcDfY|V#rW(4o5#JY)1L!btJV`A- ztm&X0O*&{V0lwU)gMZD_P*6H1&n2MWbFi%3D3N=|npW5?RJjM-max^o+55HOCJfl0 zLL2Z<5e;8O7`3X(_CW3|Vl`sy8>RX!kK6Y*TiDdDu2bdJGKY^s!PKRFV2U*@O-Y57a;mdJ!A2#%zz<>x_To{@-0S?wvqPH0kE8$ z6hs*m6fCs-ye>ElAe+!&5Q^_vax3e^Jj8bT>iSqq+is7BZzm_qt9Y73YV=14)?ay?%p3_dPSGA_J3S z*A>dM%JIJI265HfpoBIy^SY4p!_wN=mD>Z5E4L11t-Z+JCyEkaoz`Ir2MLv`4&Z3Nke?cBHDv0ZSZ(7DfCZ7Sh}UN*g=IEyil6%m$zUzQht=L z3P4s8+9OJ17~oV^P8WdSmUNkIAkYrUGv9{NWI3*YmPEM3QaaEEn+MAF{JcV%W@htg zyB;W-#Q#17Veik1n!VU9J3-L61g;Jy;qkN%TMv=kG!!pGDW#O%UzAS3g$O^aH?M5T z6a>NX^Pm7Q;1aVdaSGQW1kgXlzCX#PC~EX3 zSo@whgaNavK2Uo0>ougjA$Q{CN2%`^<1poTzwlPtX|z-w%FO_mDPxx{th(FrA;0>$Mtw!xjkOL>E*X-A2#>s4t#}Je}K7%SI9Ny`|2YOI% znc*QR$Mp2xVI#$5o>@GQw-0OQBmnuND=1K7zk)WV_E@SPAk|FD)LI;9yApg|SMQt$ z?GDHxXCSNsbW;x{MlaWmgx6s30ohkFEQ@EpXPou;oQ-P`xsaX#`P3DZJX$8R1KhH3 zNaZDQ!u%%QVKpGE^Y>GC-}a=igWRVs`*Dk5khpe}kGaaN+I?#RvS-QV_e8&zKcJ8> zb*+;fcAf*W)SJMtT|EnvDQhG>s{e(nQT)Hy`|f`#`}qGvMs|{QtcZ;4ajYY$kX3eN zgoLbfNM@*G%ZSXfGKyq0k-d&=8Y;3mBAYno=XG^|zJJ8`@%{dE-;eIQbFOn;@9X`3 zy`JkeL;anAJ^cDeer*6D<$ z>(fZAGqFcyN&IVnCsO=|GE|ff`_%9J>N&z@d6}-c^I$}9Y)o}>cOOVJ^I}CLT|0uo z85T@&i_|j)xA)2wu97P&@|oATvE>h4=uRKwWUL5W1Rz0lf!wS+(m}oo1XPv40DYXR zgv8oQ4#zl0q5lmoy8nZ*xya6{iXDsOeibMu23{R1B%_KQwE;rM%Hd!+LcOc{gE1W% z@$>hFX#^rU@cToV!Kn%V8^^&xm(6V5#nMt>P2Pr84qJcsSVaDC4b zAUUPMo3v=(dg{AiqQY9YB^SblQ!;BtoTg-Nj^5zBbK2RvL1XeX zy?QF;>r_Teh(OO~!!i`(QC@mdsQcsO$O{#1&9-jl3oAZ)oT-AW8e$}j?&;8>Jpr$F za0E@X&V8&m4 zmShaDKUVRdCC6@5jn$~e0XFz7f@W!RtykTK?s=3~K!}&U;w`V11o{6pkgfx0`8NSUMVPUHvT0ytgcy@zj9!`-t;c&XW!}O)* z;mq^DS?{(GU;OTy3&GR=Wxt#=%0%{s-YxeLN9S$N?h6eX19PX0;?dxk>0>jS?Gaq}Ad*_*L8yfUe_zME@YG4EsOhuu z(J*eh^rfo*5mZIcxwPtWVcd6SVg-L0bYbV|P82_gWj6_Vf>A0h^1=lSt79$(GEj1V zE_z2sK#2OI!pnp8`|q|6wX9yTLN}GCT9_rdNE~Kh63SOjJK%RGKt|q|4GX#_kq(}L zS7cXij%@9&e>T*eW+IOR0l`it(l>MWPJWXuVaMi=tF1HG zp6p%s5weTjF|$n^tErOAP)dLhyi@<{sjz?lAluzYgc8dszA#oAc(RK+;_*i!BDSpa9VSEQZ-ogjO z=olaU(r=Wg;iA}aihq3j4^cL2Ut4FJK!D;3UT0W(v10$c{cK>hVG`!rCE56EBUEzC zLMXcN2=Sh{v8g-AWea3X;eP6cW_S$2enkvyjb+DTEeGBQrcu|P+}+y<#Pw-V zb-UWPYwe@G$+QA72uN3?#~OsbN)jCXP|QYvv#-xoC^)XR{El~>ja9=x+$(tpSY>Nb zme$J=_OoFju+C0VQhPUEJSxAM^MI##xa+W6St!qQo&8Odls&sK=H@tS4Xr@>3_WPD zDzWk76yHj&8jD^JTOs0XGw)VGp=spE~V>X)+fJq&1Afu)q%!Kd)l zkp;`7JmnSL7x2tkGw`zXSY&Pkf;pwT!Rvpo7p4xLF}fN)usoUaUfR$3-~FyLqSJlL z@Vc0K+-aX3no`Fiy5P=EIWQ_QZ?X%YlewMR+wS$hwSDo4i98hWb@cf#Nq`sp zf!>d14R$J71R6FIqDfynnGiS5=P{tug6|U_9mM*%O$2$JqD0~LBfhUah`MIaeWNtC z#?tbW;9qUPh-QltJD9GuF6>RQ+%@ZNO=QgFFOM3Um!m;X+{V0-{zE(qY*8UQlSvqt zX(MGW<-se?IyEj;p7_S@lTC5RJ*BTO&<}^JH1%>q+Uu21mj>4=)t#^~{SjHzQ@IU= zPu#El%(7oKOi7H5?GU=ijWw}-(QNrD<5+75UPpgzVOM)P_pDV}C@|8!k8=q+PpOmn zM1r3d!;vsr)5W{L9AT6mw8|sg9uTtp>+$A864cICKkE&WLh!Z$e(687lWGAUX}!Tm z$>moTTSK4>UwGAjyjOsdTjZwnRGI;-QfgT{bYp&Gg=Hop#dxcpA_)?Xm!IU>$f#`c z<%*5Dy*pd%z80IdzRs)A_%xcPexFiC^GqU=X=ye64RSkDIJsNn&(fhSoP|vU7XL!i~G{&vb^>Pbh@ zNXUI@-yyoS$ems@IE%qe)>l zRO26B#_bX^my%VfhXAF!v@_^@4BIkoeN`qkSEboWSuqkoH`m&x*e@=4sr&OUzQoww zdtXrO@5Sz^mug0dLeH1HxisFwr-s%hIa#(THyjBPFZ*;HmhNE&v(5JT7xN>A@gX&q zNl_}3Yfs`s@VOj;n2Cf4Bo;LjnAUeD1XoyuXFVcJZUGSeXPbY5ROr^_a^)-QYp|*O z=xJ>9(%mtqH|>ZR>QfPRNA7K;2A5b0hP?#a=kCq#K+2(!e#fniCFIfcf>VK#m8xIorqdZ^TM7L#$T zNySPEP{rGLCyz%crW6gp6|%fy7|=WqSf-*=W&fSr2vU>R%`g?sxZj_D!mB`TFGa@5 zQQ?{iM?>yg^;zzLx8u2YW5}9vAk;GG4nmhCH^PXQ5!2G&9fB*QSm-FzzXz(QQy}z? zdAbI^#X5r$r5X>lt$!gjU)<)qd%(J6lDO8q{xt*l`sK!ML|(IAgi2W=x#$h3yGrl% zsvqnETOK>@z;4abX#x*=x%nxhnBBS0g`KycT|VWPr+x$_!mjP*{?M!PkyIB6y2ANk z2x4iKmuP;4gI4oI%9-nC=dRxf#WQWBz#>=TRMZ$>aK;|0cmkW(i-@hb+@qJ z=#7gw31y#H$SLX`+NCS6^L&Q`?c-lZo=^)0L_T9)Re4Q26J6o}a_r^Fa;Q6flDYE7 zfnEtAXS2jM>M8j*OZ{*f2`C)Q&jD)LKYVJML3uXEC|z`Si^Y9w6ntj|iDik!i<0naw*ttMT!MM8Nr%*ImdNI8RDHK08-Ea(s=iMft2`9OU;TceuQ! zQA%!XE}n0xHX zkC%+uu%Lbuvznf5ZH#vkXJdAia*ZZLz5Jq`nE$(9a=2aixLarb)Oya1o*LDu8w1RH3c{2?q4GOby`R92PHjv>%nuEA+zglU*C-~ zsQkJ7a1Hpr$DcOGQF(P1alG+}bSPOrZA&(V@PeG7WkisI?oH;YfP@foL@=UDpukP^ zJ0*nRa|9(n{ffT;H?>YaQ3db=VS2-CSSe(RN7f6@ly?kP9F0N;o%-e z$M%{xySO!I48CC32JGkvdGA;!MR-M4{-BlZI~zLm?0{jO%J|;%RK{FNdM$s6mNp?Z zB_u}3=ofSBT;&opPL`@vLNyL5Y7rCM`@_+!VwX1TFi<^qO@tQjqFX%i>~dqih&+Zs zvCGu@x(c}VmQSWMXOLcU!jkXdA%a9W=EiCL5=lbq*{80LY4jo2W$T%6JLEGfBMB!s z3HOTD69wD-Vq<*Af51eIOTF2Cy67M}AF{?Spv?Ob?O=7sUlj#l;bdB|0)I!eHH~Md zF{NwnUu>;qX54l83EMoy$G-mhGcb0I3mbCLkxpP!*5LB2(C%5v^XRBQDsf%dg&Fwo8ATgmTh??R*0(n}OmTyFP; zTEndeFd|Q0gZL(U=`+QWW?7aXO|8(Z2=iu{W|=vl^cw*alG%YyOwClNjcXblR`2z8IW14m`^AutHFycX_6r!{z!EXrpm?F!e-fG7 zc(_f-^Sx2!i}cg1@^_N zSWJt06$)^+Pq&7lIsy$#j`u&_gqg!ShO zY*r@Mt~fjmFKRF~4VPsmqe7F}Z6!$QOiEc5Z}CZjEX2fy8-qf)aw1Y2q&QDCC;9s> zUuaA{>@9=i6LAVuMSf_8q<;8wtUxMP8@|*?sV7Ck>e}12*;eV&W|OoN{1}f7MQJiB zcK}_DW)q%5%-Drlrp@0Gm!A#Ji8k9Eq5t^Lm2l0b_;4IrHH@ouI6rph{SRo>r2aOW zjOnj5>YFq)QY93y+NUK*l~LA;O$6!pY394LcS)U)w6?4oeh$A-usfo7T*UO{bGpx5 zK~F1Wz@41oDrckb@bqvT=m#p+hrbS;KZ45HF{!6Hm;U%p+6c>?{%WX9Ri0mQjJ=5Ds-cPnlI7QwoPmC|!~N*wq7Q$e`YYgMan*>E2`wt07d ze-Hhn@jF?%OZ0SL-|ugCzFl=po?9Sx$-;<^jc?Zr5Xq#VGY0gbq+Kq$wdZ>*n{Kk! zENTY?m@Y@m3i$V7H{ruZ1K;!~95eU>5N+TK#xuOTrZ3Ip7yFTynbRHd(p+0Ao*C69 zqgsQ^Q7NhxK!8=Gbz6kq?xo4_bvKWn&r7nmBWD2InCik{9=qI^Pv#o7)HIVl1F9T> z%cSx(en-~h)wI80=Pyv6TUHfv^W;IE-2yns@@XytP5(KH9&NFm!m~$#5@%B>{SVjm zUz~G$M$V9+>S@=~V9P`&78T4z@v@vLrG+Sj{PlTF(}pYW9&~_CS{6q}rRf1`Q8^au z!}&|1f5+H|fheGn?R#zFO2>OK>XQNRj6Vjv5NJPtqsXQ~Lz3!n9O6`%0J@kVPJsf| z(l{(6g@!3#F zCev!7N|R482cdl^i*&iug95wsN&G3ttEQ(g;mC4`eFDoN`=(rXqeesH(PZ3#!gYu! zHE)nEO?v1*8HhFJ#!hWrULzAamFGhMPT@xtkgG9r@dY=PR+Oqdpw4-gO6lcNJ|)Jl zQ}T~}X}bz&pQ*`!U>;zq9bI#YNg-19!{iLY?A-t1*n;}$0MsN*0{bfJUr6k1k#THA zhyd@m%%53dP@Ph%OoeWW_;1S~(zGnNCEF?~P!E|Rd#(2VW8nslgNSOj6|Q$q1koB3 zfvA@B_iWi4ng!-WWX8_2#&_jAB}#D^i~r0^_vt@BR^esShDSo21<%P@VqZV#K*TM6 zzY9_??R@A5uf!K6C=p|vsgbD@C&&1PwaEzE42ox|S+YN5{D|Fc|}UBeYcMgnLf%)6Q!FD1HJRj&g_ zCFbveAo8udT+Y57=NlHgi3 zm8csXG6{2DP%+~oe}~glz?*kGH((r;?eciuR~EM}cdb61n~XT=?m_!a)36NxZe;Q= z?rdtuI!f3czWzZX7^dmlZ2KzXz2m@t0q(tGa3bntP~z7o z5Oa*9Kkng9v8d(qEYA*+3x;|r;RTx)Gc4tfpw@l_;CZ+xG?4*@zpHM$BOk?qWygZG z@xPBa0gr1W1{sto;*XO$pltTLdSx0;{&{3hT|spl+2AGG6XLT^q1pOZ3{cBc%TaT} z$@3F=|5T93Pa^!31(+&V5^7ugMk5Uez149-q>{qV>TSKD|Gjn=19YxSP_)qOwG;Cw zM@kgfd`wzlP0F3w-k2Dxeq{Y`(ucIO@Y;Q3NLD6rMtA6$JeaG<2SxVLdnBRInYdt52?dV`Vg~Gal&UiQ(VM+?p z4P?ip#h3e1w<63e>Lyv?~mJ~O68y{8LTC%jXVTd6%6*~f-a$b7yh?*|Dk!Bf7 zbL{UMVDr7zAicxOM;=E4tIGjGoqiSyM-{PAuMCok z{c)1wya!UrW&V@icXdC!KGiAz%{byQkX6&IoFj;?QU$5{h*L?15_1z3NEatU-0tlsAegx>XOd!U~d>P|l#oHZzfuNFtET*{O zw6oEE#=fd?94z{KK$b}cO`VoSD6%#yvJvAsRiF)H{QdS&T0v7gwPmELCL@R4Sl$~# z1<$e&5mwrU%II_FhDK>52Gy~{GiW^k!`#_Wu%~46c~r@KpsH(aTxoR|{;fg}?cZ+rZ4wXTk-TnWu3e>2se>@XMxa!+V@+ zyCHq2AMRY#d;Ieyj)$C~Zr$0p)!&o&)XU&eG@&{Xj>aGpYNrYN^WxnXHXADsa<*1Z zevjNBQhQhK^vMBkWcY%4KFUdsWvXQ_Y1eWb#YfTEtHmTYy#pYXZxFl`>v~Elnp|?) z+8g=GFXFuth#WSKaf459Q4^o?N5(jKKE1Ag>o`$$+Ph^>Am!fVNufoXFl@{+|F=ij zlBye=f@6HzlY!CR(_0UZ9cu-p6{oPiW*ia^ddq<|h>8>|FiTX97&$(yJ*N0!P`+Pk ztJVgR;StqD>m*Y#Qz@375St|@eu_~Ml_3Lq0J*OhIk4i_-oB{hdb;1uz3~Olr{GVm zVP{37j-sIQ^IN1ts#|KciT4QRcQ^4lJ9diR+n??-TP@ebT3&AEqLUUtD?xOUu)~-7 z$Ae7k*?2X??oKfH*Tq_s?Jl?YQ{tNG6(3vE`s~3(vhN$1WyQGb+dftejlXF8E2lR4 zlkRWc-^6d88ofIaCHzfcY|SfdZ(^P*b~-Q{8Z-4Nxg28-f8}-B-nl6Y-E%sSV(d%3c2$Z!Ts^sgTtraiOag{|8 zIeEqQf`LJ!tyUEzCuDnJDD56|efTkRN++64f% z7;A3J`t_a6(&kCz&~3HkrQkxeAS(x!F~{yMU+WI)H`9~HeFA-5kwQm^KrXJC z&3(k;`3n1zI}4^|J7Kdthrf$a({<~O30rKDN!&&2uYHM7yu99}o{rUPq6>;#^$a~y zfdRmf{aZo@Za5oMjirRCgWqP_eTf}7ReLr4mAnk~V9t!)F+kvWIW^g!nA;7>zB8aB z>)>=_4Kw4gg`1*MSkh=rNVZ@r?qMCV3EHia8dHmH_6A1i;Teb1=YRI>bc{|+DkMX> znQI)_y{p30{6+S`@`J%gslw%vwU5vT6O;IuN2(2zFuPa%DG{}%3R-P#tFmOUt=5Z0 zj-i>UXR<{W&!2(wVqWQ)#Msya3C23#dlkA8Y}ZJ*2^{fRDij}i$H+s3_^ImO{N@aw z7xDMP+VgjJYs52zi?Cc?Rt##UIa8T6w)uFkQC>`uoZY>N$*|+iXh*VGjLWIN1=gj) zRSG%c@w(i*lxu;j(>Lf93z0+O=L_;U;7RNMGAKuR?r#b9RnXZC_}#0(rRR|)rxtwB z5N9Ee1KVJ&qd?lqLq8HbQ;tqUBf8xryv?C3>bWnk(N%vklOytb<%T2p5bKlP8_V`= z5zMAXP@$5}DjMg@NCsOK`VPOVjK3zt5|63{ZSluVdjf?=WRKl`8{39qqrx3%v;biB zs`U90LJAM3pI=jC^`NF237EE*pK#Ji9ZZ}X{`#t;f$cOt-gX>Qng(ct+VHpKEtdNk zKxs9VnuL=s+8s*A_Du2ra6JrN;fyBT;kk1RL6ep5r+t!LjNF~DwOY#!-mDswgGO|x zbZn^x(Af zXv#i)*OGtzw@+z~=-8O=^qO&B65rnp_KRRP3Zreui}c}zQa(vrDh_kmPmR5M~-g=$sY3U(Dpj@-R!l>B0ML**oM$oBM zpuSoe?)3Uv^myA%NS;Qv`~Liub0;%9-rUw1#=Hnb)6%zBssV3StLrH@XXF=-YFU8j zE6zZYy+ZoUIS{F5iS%AhudK}uw7W9n969t-F7xJFnxM05gO*>P-0Jf>B0V;STOH@2 zTN*dGIPAd=H}$Li5xVA%&doUv3W>|G+KgHj=&tJw(J*YQVJcsIB7cZZ7xsxCP#9Sf z^8Wke=3`dNfxp$ZmP!&0tCL@*WKZi1Y@fj2FHXR7(K@#ut^eeF*yu2|`(G@1xXZ~V znxMR@k%`T$QOEGtOo4*CT&~27h*dfV+gaNCG>T=Fq;q?gUf9}ne>c93pHjnV7^K$l z!#^sWyz|84S@DM>lx}Zld@6oVGkq{0r+vapW7}~VB6#t8f)h&mE)Nl zri3W4z~IGV!h-4Qq_z{whs`9$;1|jarT|De@v%@WbCPfdOXNQ6tCJ|=Ktm4ks9l4` zX7?`6_fKVSIiQ1;vPr3BT!oLY4~?&eue2+kW$G*m6BL zc;x)<@s&9pqXg^bcYp*5OY>T6J`CDEL!jGI=*H{eG#N|P$%4vlMV z2k-YRvvgcm2;=->%;q|!X+)=32=RM`KXa_cb~xVlXHdaIJ$I~btV&bQUTWd9t|@p0 zLE}MwY^e)0BC~hdvxoRHP=wRLHouQ@d@y$gVn;wHjam5HABW@MWeZv*yqL3+^)ye4c7Q(iH3l-y02-r0QOD2Na*_>P3sEz}Ojg@!9( zQX-48B^%IP6Vg{cKz84*Z0oQfNx|&C&QM0U5R$AmvO1{xu$uKI++Rm&xfe&38$291 zs}m!*>1=iGYsJm?Y$C!+BsTu=0D|)QaLZr3Kmq5olrR?fEq){ht#@lx=x{c(- z^LL&G((9OowdOC+W<2Nf5d8Ew+)?m|f|m2ntszSa6e?*~evKoJ=%H@9_C`DL3#GK` zEbE%#ZkoxufeH*FZE^!UOK{AWz9xPLOSJB?8&jT z1t!*8jRr$c47QZ6<4U6|YcJJ@2n2JBvv9?0y4QiKz;c<#bNDmZ4<_dLn=MAkv@quj z+&>M9l2o|{tpnT!-v>q>^$Kjc_i`O3)a(o|t%>Li|#}+n*kGHKO z0cu>E0D7EH3^yC*fiG_trYWGJQI{b7g~El!rf>n}5d_p#Rf?g^wRahM$?&IMmiY^N z{>NLwmtZ*5%$WAl5nGBS{hw_Kg_TP=Agg?2DD!h_*boG*GH-0?1Xq{wBPiUcC_F}{ zy9EngO6P&LQHaVtXWG{{ojX7BdypS=P`IGqD-Y^KQ#y|AFzz?Z^NQb@kQ%a04e;9zMERvVPz!j6HLwdq?%IYkO6fF_w;vf7QOf7p|LnrOc#y6o35K&YM|xjULLO30W4o0PX9hl!#e(6d z(*hedr#LqZD)ZO#qoIdMmlG-d$gj6oRtQ4nVwhm4C-39Ua*44+jg}=z#HO2t>wG7le)_O-_4m7D@qiz+AJTl|fD~!oAMP>Xiau#@y@J){ zZ}ue&Mbk)G%WPpFyBB-$hU?84IE56c&p3s&ZhKNN)rMCNYt760MbvO7L$;nz4{H~n(wT&L00UsZ+&@QLN~D91Ssfu}j4)y_4~N)gk04#_;++ z?E)VE%%`9ozJN_)ypUV*WF(?Ed<9AjP%PZ2dt9^2r~AqdsEW{BzMA;1h;!7G``P2h zdqQ2W&S43Dz6hnKhMuKwQqsAc=5Ic=Wc+o99fx6lh{fRQR(L{2_ydD7eE>^!zVrVb zIS5Gne}N-sj~8;11I$gAf_FWt)YI7QAGR?`x5V_b$8O1UCPzMsS(&TF{k>FoJY7Ol zq)+DYz~L|%wwtcGU9xWJy6Nzb$9_!bcb$XRhJywP-jG)#d#{HS*n=UGng#lLtphS^ zH#r7fAV2BTvbGSBbpiKf)dZMg&L9a6 z69J<;))nAyWX;|gCPsVQo4?)~yh{i^jxcaINaZ;WYR6I09fJqpeJBUF&fciqpq0;= z{WbN2H>%kdg$us5#IhmCGpI8vv;n#KQuViYz$f~+@)p3j!PI!fZDR61wgY4kqC`}g z4J7d+DKIC1xA3U|2y_B2_RI+A+%IMBfi8Rh%0JGd=y}#Po@Nj&UkO}^u@S!u#_S1| zQIf&ROPjr7BuO)7Vdz7u!{k1!^3Po%nz9gcugqnx#bKdUj!??C*R^*_pQuE zJ%Z9wTvn7z(ftp)=YW)bQ1tjJHHkEEI&O$4pwMT3TAG?XuJInJ(?$aEuS_5TWCe>t zh+Js}F(4S3Cjn#UShB$zMZcf62;T2v1DF zz+j!1k2#VN7vp3F;ȑ+tq{EE!Dd?D$KHq+e&h1l~(~--8XC15+g5Cwbe8A_TN# zrGJLv4THBow}Pq0vd9?rGENBLz6G|?9uN~*E99@vpZ!2Wj>$^Et6~7DISzD>BMv;S zDZhxpt4Y}=oOVch!(bMQmIJE_GXLq7=Y;A%uRBE@PMiy>b7Mef`A$Slz^k$l%_Hi^ zP3I8pFjoV7!L&W1B}#Vlt^;F|kE+42^>g<~qnaQDpmnGZ9o$E(o(y6|^Y{mc2~egL zKh~#~NyFonB(~i`&)jSvUE+4*M$bI^U^(ARQ9G}&`_f?f;1WWE zM4W9sn_#P5AwDtBgYY|pxo5iESOWN0e8FRVrvO452jrl1?*gB2EZU~E7p&5C!i)~D zTMX~b8GG#@7KGR&$+qy3O7b|JgzPdhf|K~&hDR-%^tLv?Tn?awSUl|mNTpeaoNZiu zSY;tBup}_aA`46oaz@mHt2+oXzfeJ2!=;MYo)kpd!uJxqrN$j0Llx7~hKzcZSl zwb^PKzUyy$XP$%g9ynH$*QUKBQ=kIMH~|IS)ff(JU-SKN)z}?Gt3DllRIl$-@kxaK z>RgsOy8`cYXtTLlmGX*dM4O1-S;=HO+)5lHn=mnX~o zVv3yFDYK|}wyPp`aVmIe8kn%6FMD~sdrs~uu{!$~2ZLtLYylCVuK0F_N_|U%5Y+V~ zVX!;#L&c)9rMcOw8|SqBUoQt1&i8u0aTzQ|UH}(4oECqSo4_Y)e*P8Nxi~9IRhDW@Hr8@Q6>Ly#K3;~gS zenuXai}YcJ6ricMaoL}pyz!DM6=s?uxZz1wvy?iKm2ooz82(j~2QM8;_Zu#cjjGexD@)Cc>Xrt#*&~w5k2`+& z%D&yWn(CKnv-5K>{Pv#>nJyH{uYtKgCOlk;{x^~uVP6jnMmTdIh)owx8+trKyxgiY zh*cbst##1wrk|IW+(b5TtFmD0Z%XKk_KENp5~sbNLaIQr3ZhJKU3Ia`yzscP!;$&I(Uv2iPvJB4z+pu0!gPbSHKlu+)F3Ky$hnO;VVI(3-yyd z@i{%{t0!wYELPu*el^*aE)JOlYn0zrb8$$W85=7NuuiEmOrtuLLcW&N!mozJ-4s|R zra}f)tPVsqyqfZsdMcQL(C*QaK`Sxb(?MI!yeVo=?I43N|0)Fdr@!liURx+%Mo;<2 zLXTP+R;nzOhrNQ%>ih4oM;(1kw~s0w^G8iJ^ZvK-YV=pyx1SHH8S_||@Pmz9Y=`dl zaWVq(*%J`4_2O~NHa$AcM?g}GG2MFOb3!jy3C>qfqAXw-Tud%A5gZryIa{P+_pZ{S zE8R)^PS?h7uFZ6}LhRd*OMay)*|d0rKj1o$dj;L{n-el)d|mCG<!)owF3se$ z&&Q`NC-E!m)9)y+(W5D^dgqUZOhR2SV#y(d|D#y>quSd=Yp*N$SSOz(u%(=nN72$i}zci&xz@NEwzI7+JX!By+hz3yU)>S2UN(8jZ#QpE0&B5T1A&+c%wA|R1Plu}} zl}A6q#Dh1zmiOewXxQ!2mCNe){RtH%5T$2y3*$8VInwcKqWjCXzJ;uW@M$S~?tX}q zqA>AGhcmLws1Q^Dfkr)_AITjN@Y|zAKWa{ntPeVCyBK@}9(7h&aYfU2&KTGbspdO4R zbVdusW44_fMv)||c-2*Ht#k-pduMd3Zgrc$jiqC`B#3hwkn--n*3c-}M5p^H^(YUe z*P2CB3XBh&-;J9V9+oO7XNy z{3*fv1F3aia1SBp`Q4lVjm zW|B$ObaCmFM!17G*5p&VDJC6V=GOI4T)aIsHWqL?*kb{_p2;$Mkz^;yZi_?Wu-utj z%42*jV_LtteTJ_v$f9AcM6`XJ(k+Hgb8G+K1=AKg&$EO4b66$5FyI)dIj>geNs4b~ z3|80^;x2LQw>@RiQSYpJZD_rOR1lXqgv7f#5&L+u%w$Vn#_q}ok5Oxp&z+zU?Yr_X zEmH&!H+&f?fcm`sLXzgm2YeW>M8qdzL`jl{7_^Jm4>Mo{(jtVv_MR_5WSj+-l1Sl4 zz^$sW{X5rV(&^BZDh5s!pa6>QkR~N<>S~M%*=B~@ z=bf(gJ3v5+(EaXCw~?AEqe6qHAHoK&h~sM>{&zQjd3=G_1flLRLgqN5V^nv*Az9=Fs8->E3lhkjv=GWVTA7H;ex_+fSbn zn=1DXOGc}wMSaj-LoA)pSl8wcP+o~S`0C5jI9ta#oV2e}MyjGsz$CTAhPE$!CuB~q zf7i2X4-ijrX<9iD6n`>w$IUMOL{pfB5GVNO1uOiN&b_eq`Qi5qaxK- z3616GqJ4<=m!)~-m$8M_Pnr&pkW$gx!^N+9^=p zdeoet8JtqAC+QRF5C>mp)fv01edV25HNfO_s0Bb~8Qc7$QV80WY~>Cg z+I+-~Uga6e{jb>XD!=&Stl}8^;?sa}wJz^=-iTffp`&g`TNA-OS^oMQbN1DWr$7WU z;Uk6CRTob!eir1x-}9?)p?h)4t8tUjqqvLz!b1QmDeJ}9@!@-1Qp(WBIOGwvE z-d-b+I?U?^u4Lt^(|xv0)3w^%3jIqRB9ob3>+sA()FggX7|BhfPj%5u zo=;7E9zk8kCiL3DZ=9s+k>{Gjg{AZ9+2i{X9e>1H7YU6*@{1=B=eEt88VTQcmi^Y% zb%RMSzHgE`1E*X2_}TC=q)2b#gtYT}y?YHBmCWQ(xSac(yw?{rmO>E6c=AOJb#}YH z-nCw;#n%p47KRy99d#*a!iM|*qIs!T}VR?zcqXk?th{T+_1H0FxeSZFL( z9^T8BX5ymup3Obm8>SIXzig|^7%qA5w{G(GTwinE=%8uwlkmV2VY|vMu&qn2G9DnR zWpJc=-CgWi`S`-XTId@yuK*8TgW#G0 z{;Q7zj+x$Or$T3MK`ZM(o=T!cP9DS+2u+sM?{U6ZD}ABG6qzXTU-cZv&YEL63+Uo= z8oLHco+!A@Dc{UzTO3|fo-7sDjg{G?h+lbEcJEcq8$)bUdAKd+u^&C+DRTIwcT4A2 z*PBMER3x9%!H_n5x@GTT)V7kke=_3oamdlMk8x=y$(#?HWG}qZ9`NMrb!uhm^cPQv zVf=g*e;}H9jAU12>7N0G6lPkU_;Zc(nMRki4DaRPGPZD?3O%XbQ{%_Iyq0%4;XZW3 zeTe6;dzt2&wl;n*0i%wT#h%ve;W8Yq+KFuI|jCh@z)Sa(Cb`wU}FBgf{e<|&UA3j}3!zSeRmSLC~P?nNFG ztn4Gx>4xIRIjQcC-xs|8!$!`CXSiU@fki-$duNUW0F;vqz>T+W60>!S@>~sg+mrVY zeR$D=ol~D-`6DV$k(#kleT@rs!F4vnADj=|HMCTD^;3)J&YwK+m|Ww%d#K{O?WHy? z>){$AES?uOe>s8zC!p&o*LH5mRJ+Hh>)iAt!j#GGR~7hdDqm+K_v4)o9c6VGR}q1- zk@6t3SARMPi&8bw^$KU+F*@a{{av9$ad>-UUM&96q(1BBKmEDRpkd{s znV)6`6)kj`23N0zrXCH5XjS;ck`4gP?ji%TWY z|6L#1HRIfyP3^dEKL?7!*Q+&wUvX~wdcYa29Z26d|NGxputs=HjbF_05(wj3e|#hI zQi=Vs8Zh#-BDoZnzT;v4kS+sGEkWK;TGNvrg)uyeW(>A;MbHc z#*UaEDZZ`j8!g$$u|6&BnU}HjPdR1*5W%k~DIQSTh zqP^D&@8b}&rg*-@$&O?+2ZeP>|E5b%c6>`tdG@XZf)iJ4Vwe zq;~C)c0p63)^7ZZ#&PDn18bu1_|NNZnd%5=_o|B^O;d|bq~h_-@$BNXd`ZqQ;@fp` z2dG3=L@QWvZ|Co&_Jqk+-Ks0Ox>o`p4kHz2ioGY7naMc$$t*mwLeCTyj&R|eIv_Ux z$4@^2w7b8D-fc++RR{}8p8R$LrX%#JMK6y5`BfTvG|3e)MT4*0s0NONWG`gB<+no6 zLUpc4*T?&n9#8sW@VTOU>l2aV&F5_WhJ1(TY#`kY2=`YOpx{2G>V%|!qSGISUySGb zwupi7gJ?X1@(bid?$``f3(XHk(&D2bkp$J7zos?1>=a=&^zB*TYshU0(Cldy=oGJWYZxYx!6gzT7!Ir@PLJ1-`h(f5$7HbrOEcoqBR=iYybrd~& z>;jsJ9Iv1ZQywz&G|9(x!x?K4ld~N}eZPF1dW%(EdmvyEo=BN%wh*amAT4g_9s0fd zuWLaPgx=e}js_qUfPrhC+ghpKne+3fO-zk8M+*17{S&o+g{t80&-pag2W*h>ie)lcvqW! zrX){%HDWI7cu$Hf`?Onq#|w<+DT7%T=^9yHs<*fZc2~RCD*75eAK}uI;sh5J#?VMI z4$Vf$r$9LkU6N0FCQn8Hg`E`*b>aOt(-NicDNwt7olBHikS|Dnp#5#)M~&awuor(&xV)2Mj=7e1-S!Xuz)ft7ovD1*AxLlB2!d1-rMny7 zGC*)rB#la=OttjXnYMg~T@A5^91Jh}A3N_Z^Qzu4)+KzZ;W988l9&XSr$RO0%T?QD zwSRwJO2s?)?yx|@5*9U72tL2zaVO8K4;e7Nqebp}gZL zYzgjq+=zIQ^|^>jHGe>gRC>hfB~bR_*(fOdTVcZ(#nCq;5S^V%bk-o}yLw!NPT!X2 z{CmRQ(Cy}M`e}Mif1KW&6sx}nVbaXw6%Bezn!EYFb3c7WPqWGL9C0dX?$bF`$Ap*oe$~=@AyRq82F3=k#6`|=7Tf?jt{b{R> z1G_E|9LPz5+bKt&>?;4NMy3y&GVR{EFZaB9)yx%cuDUd44q2FG$a_PU^z!k;!|-~p z44q;yPJbH$!+b7#Fb_A!N23J{99z&oy?eaQmnz8DhkJ5obSTLo zBR*ECIFh;)UU}VvYWB|VX}6~H?zmBujrLP65qXx8l`W*i{y4Rg`=d9IhvX-H{6YPS z1L3?I-5WawYU@s1eW(NT)x;Q640`hpU7#(Np7N@GK#P00 zcbK(MS1>%pj?{5vL*4P+J%cgSuf!)TJvne1eeIx2QWUy6)0t8+wVRoHnuIASO#1uV z(VAW8m4p2K^^CEnl_{Yoc54@9MLa4uWJVpPwyt6b)G=b=OBAo0MYD$_U( z1KpQKHvWM#=8@iXF@uUrVm$GtiWbR{e%ii&5U08kh7f?Rqsmxc^W&l)N-(5D7en|# zb=5sTM#2J3tZJQyulR_1pwE>o_{)zp)K&6zz8uHqlN7hQ8$5EIY0+uMNI#jq6*38S zh+@>oYT2>0L*B78XCA_$4@9rxGa0*f2@Wmsr0R>Spqc84;=PH>M#WOcsVqL}?2VZ` zRUReQ*LOK?r{8yy3K!TFnJ@(&%;G=1(%~87w{Zt3^~YNMnemdOT`epNr=~b<`jQGL zYpTpG4l67+y9kUrf(1SNbnK3WV;oU|XYd@{-uGLU54|s{D(Y*TqeG_|K4`<12n;Tr zw;p=$_Oj-$fRN-LR=pcvh(C{Gm;JlU-;SvnDW>@Mh2ZBqT-1a2E+BC_HZQ}ZeU9*7 zA6ED2mLGhqp|!mUS6@o*vpivcAv9ROGX@H8M`@77O}O`^#W?uBniiXo8?V^oe*V7r zNw5HnFTD$XLmR*87SkKCjnX^AYjN5l86KHgmzt|#U8 zGOkv)G4mEzlp?0Ue{!rZ$sMbBu|4kLm4`bIC@%$~77bQ4tOvhOy5man7HgbB`(DKF zu&7S$EKj%FPdhkScu5oy&(_8A3H>T~rRl`%*yN$i+tEMI|4lj)ZSZ7rk|g+>xadCmlEuJcc1-L|3N|PEyV06Z!h^SR9YKzdg3O>gy5BnuyQvj4&1)g26U7(h78lpA#a;v`oPkupHML zT|+mD3;ZAU-a0I*?~NA~;Y%nWh$xK+qSDPEC88i5q976iq97e3DWD)BDczuiVi1bb zB{4d5$fz_!BQ-j7h=GrMd%?f9=?S{O%vvWL1JYJbY`A49&uhp@q?r}T2e}eGY7EczIx> zGeckRhLxO3ZDthOhWO+Y5r{kHu4`wjv({{W3byMCURCSE@tn-SK&v0Dr>YgleV%dN zEiu&M_{M|A#SpRccnUTgpVMg1_eU&3%_6bY3T7iNVQQIK)lWNJn!H5{-5`5*`n%70 zhYJ!jQiGOVpl*10eShoQPE;qknPLHTmSl<0axK=!y4!hz$ZP&2$gW}9&EBBn!ssXy zaYJ~l4T*W^z8Q==S|d&=uP@{Mt*P@_x|{Q=lPLIy_4d~KKE^C;ZMd19P&QNaVlRg_ zGymF+I9T@I-c@?OQC|w+zVvK9D+xswcN~-RGCOPZ|61`E1Mu-TwQZ}@w5(A6zAdX5 zu^(r_tLKUr6J3b-#O76eqj*AI_brd=mFmr_GwYRbC|lC@s1nz143(kK|6MsIHmIjH zutl&n4#^Oqrsgr$KojMomDK_krUH#Vl1pFu7CxWjy!w<$#lmD7 zn90>;_~qhCoQh*|fYr|WLV}o@-`^mHm0u0jGG0%Hf|Eo?l=dscvS26EoOFxkP%qK^ z=9U`5Pt6_&o=MoRB{+6O!M_Y^x6}F3O3U_1zMh zMISwj%D6^FK~s(@+y82=`q((y{@d){v<+ZKsQ_VrM3q_wDld%`Upi(8Tl5(a5R3|JvTk|wQM@u>`!#GGx;n&%g!gf*Pa%>Xh z#D&%TF!VK(0|P%8cyfn#fn5@`lJAs75>8au&eHJa>rg*Vyw`)*4$T%*43<}`>H2>Yu{M7W_*miD zT`%jSjYj!ND4viCI`1{_nFl4X(|zjkE9B~l&e-(jfq6krQxcnxXI*8Pn!f53=?mpU zDa~GWCUase79(4amoo&L1AomTv(puN6l}Y?9nt573YbGEB-dVi2d?$#<-E(=vy!nB zkyZ)}DqxJW4K zj#F)?dcXThZ_$!V!M0i)h50y4jp7X;!HlPT4G0v@GH{IH#Q9oGDo$8(d&UqgM+_2m z&pL9FnHO)l&~Qf;EuO&zwK(>Q@a}g+@A)m-2t26owo9%rhB|*D?)&4kn6Kvl-pIZ; z$8En2uy`=Opq>4z{VD}py8oY+=(ckI3_UWot(aUS2<}sj+P=br*`acFa<)AX-Y6Ag zJZ`dQ@)xqcB7Z-=Dr^6;6T7>|(p?pUb5>MN&s9sLU;`QF#+mnbCV_tb1SMEQMR_ng z)*@CSaNrAcmJX%!(auT7<>5(LL6U_n(tN zXD9}UBbd&uif=uFtceOp_`>Cx`#v}s#Rj%n>^RXeVwt0>Wr1KSs6Z9zoQu7W@oTO4 zJTj=`I?XCyLV0ORA-OLAi8*6^TULxT6_Ja~gbLTvW7|)W2~Wq^VmviKAyec@Jyc1u z@$HO**%=aTfzL5BKO44IjK`wf{Oor(9V*4k;cD1k>kG!spLP}r(fC8YXw$q$A==?~ zJ=HLPQ+3wK{m0Tn*K%kY6S(*Ul2|v2#9x5Kfp$A1lzHoZo0hy4EM~aG0B+3CJmTGJ z5_X=GHdyJKm~AXTeYUUl{2*r}O&*WOTrnXRcXCHpspNdSZ!A&W)p<++h=A#`3YC{z7L5J|aGUdf9U(u~`X+Ch zhunIyA4oO;LRVVPp2k^X?gBVX{1R#Km7yV z64982Hy+&=k4DKQPxx-nTDNStD~ySHtXMHKK_vwB4dz`7>;wl0O zx$X2x-lmWjj-58B&H6z~%oDV#|CZ})%etM?7bkn7vBNb>I@>0oWr6;wCSND}({grr zZWFkqDhNrx9<|`rSnhZpTv2lu&_yXq%bs5Nk}OUg@PkU>=VVPgTn8v-qB6hs(%G@R zh{vb?luXBX6^f450|QE`tj6(R5N>#s*7y&Y_a*u!e=ml&>lcwYN)${CBW#E$Go&u| zvHpA4yTsD0fPKhX$lxDY*gLQFj>%b~y-_LJ#CuoF{TTq5V4H_II(9`MuC<8MJjO-VsNmJeytEA-!s}@L zK1?u7m_naDL9C)0quM(k%Xu`AlA@ULPgepVcvehGuihx^l1B>R{K+`d0wy)i+wK`^F z{9ddE@4fK(H$;fZ(XW8wymEcfQ{grzbtAkPRU5?S)-$*HRF_^lDr%=qD5iTw(&;vB zTsp{q6~}34T7G14E>BFNi!gegV^xs9%iRJ+qojZK;guw5m5b;iasQ zc~jBz@9y6BN8B#^r~PbJGJmjEpqB=eiY$r(NLMPRDCjMW%z`yxHX2Tlc^*M_&#t{L5VnIp;)N4eU_zk}?@uzN`KDGB0NGR4A67wrJg{FK7^WP4L zzEkgemVe*GiC_57=#d$3?L<{oq2(#IXvZa!u`Av$M%4800^GYLlHglm6s$&I4IcjD z@_ix~FB_UBZ|h}Ld)&*PxFt%}c(d}KT^1k_kcHA*5KQ02TyCVdu|IL{aXY63B~V?S z`idzp2S&9< zKqt52OYohjv5C#EKklVWTU|S2+gL)qlM@nbI9z;$Mm;JTN7HCWa99m`Yxfp_xE(+f zUnSwvmM?StJ)8SIi()zTUY*gI7MH@I;YK+#GxH%YAr&Cf#=BfUHf(MZUA=MIhVsop zmQFp%?ZhyRIf9cySxjfm(cvP|&=;_WNEeV$Y?^cwF>kg_p&NWM4m!(L{5~F6%KaKj zqIyiGM}*Pu%u3peds$l<<+k6Pf;@BX$FAIcxkTf)kvq&92i7ZI%YPJH=5znE4qrGZ zQHc1J%>*O)u>L7D=hx*_zit?3-0vc)Z(6YXg!R38e@~Ht&qZ3&{8k>7`E9hk61h@z zl5b|1BW0ZBQoIceQo%)yudjj!YYRy9SDj)>X+`8d;5IH$_Tqii9_28(Hd*l5e$uPO-xQ8AtCQjV zXC!*iC>*R`=4wO%GG;v!=*RJ1@js>XDiNQT_U}!5)RVMm_3S(?^sFAXN$-w1`(tX! zWkx+isgr-aHD;LfuLeHFYBW4}Iq<|re#>30d83zWr}mPre)c^% zisD-F6`_u@xZC$5_vPpT^DwUSS}`<64tV89k1U<=c3a+`*!w1js;2NPBJ4F!I~0Xg z=OJ@Su?A)2@)76JV2Ss6K2jGnZo3#MQDFnos-HH<<)t>wm?z4L$bn!8i$Aze3ocPL zNB5PR#!5g2828$Es7A|4rC~*~(nwe7 z?jP+5O>-kEIcYmSI7#MG^G720P5WWF3|z#TlB@d1P~{A#%QRwxaed+3obRp*(*|#d zQpq&508d7D-95E5CUC2M#zC$8iW7r(M%PXd{>{Sm6YAb?a;a{~;C6Sdo;-@~Cu4Iz z5#3NZ`fUfN z=S?ZurV$b`?eQ@brHPSW0zMZ1KGj-kqUTuB!_$lK6(M}i3 zTYlHXE3D0;R(eW=AdhMFm<%Nqb2qBG+hQ<#+MbFyE^3H}$^QrX+jH+6jsHdK{Pg%%J$l7$OrTMVmYj@{? zTF-JS=+WP*Q_C2kg`Tq=Y8epmo10s)V85bzDgB-PlmrYVu*pw0MmiE5nH)8piAX`?Wz=IOG&Ws+MC&I$kF-!}ir5fpy`+Z6Iel+%jxYUmOkM^tPSda{>rQ(% zJV(ZETd}0~8#w384~qZtMJvC(T7LEW)nDIMpy~TlL%)2iD}ELS2=W;Yjm4(y?8q6% zdG?FI-VWo;LX;gPF8G#1kLU&pP7?vs%2L!qX)l)b=x%Z(^u}8r#>50t$)$M4#{@Fo zN4hBH5v*jHA(xr)!$XM21{#1w-NSZ#f!Bj!}CBBi0{?kPuS z6R*xlN5tc3)#g?`iJ5O3#sy4K4Xy@Cfv)uWRzBO5mLNh^IG#5W6F3I;IQMKQ-JC@_ zPu9pJFN^=f9>g|S{6OgZ(H9cT7bj;Yl~4`-y%TxViU^0d;sm9-jRw7a7cY+p*Xq3+ z$24$+O}3D+mcNf+sxI@MW1P@Ffp@`uxFcTD|M9M&3CM1&4F!jtS4@zev29P&*=+bi zG-L2H5uTu72E=-f8AT^YcO^F)t|f>;0FSL^COb_nu12B~WyVr4P4S9ci9%U#rbKC3 zN#v>%{WrR+jNaSb{o^PC)pZ)_2O3~Mi`-3*XY-Y_!E9udK~&keYb>9xj$Vn5Kr&Jb zRVf$(dgh;PiOoD!8db7Uno$aPx$Lx0i=~gEdnB^@ynX^2sC@HU4dldtTyT39+|#`H zs9ZGTKl;B&OA(Ol7YEtTwZD8u`;5ZdU1W(|S%>oc%ui@j>clJk^OWM%Kd&e#MSBj! zi&TzDP^wZ&CSQrqVpLhP#a*PBsVk;9)Uep1 zT$B}tW$iihJD@kuSVHq@VeZ>;;SUITJ$LqGW1yK5g~c_F$GKaVuQ=1^Id~zzO3sQN zQ;~bDB}__dtFqGU3|T3R;QD2=Wxmhe%Hz%`2fq3I7AoxhsOTLq_Osn?I{V77i=H(4 zl(+lMGd8QN_Dqg#V7FxZqO0}X3D(WgXzP>xw4JSDH_-xdh>f4yB(2UyP3Em#@0(;tS({(ZlmOY0>7i+dhqz4qdxG5Oz7hhcX1g$leZkppic4?oJY$=Q;rMElaidagZxMAd^( zR!>1+?U75Lo+{&E)HGxvxjui1a5?7rxaqBbPwx^th373TwdXDae={7KZSPIC`4;2w zqBpsHpg@`&L85nDsrpL|<`4VDdjNYZQc9*Gf;aZ)6=+pHwtx6>rE~$h)kS~JL)=>D za06;A>H{Zb2f6aoph^rD{-6dz$$2!=L74-14-mQ zg=BbU)ggvpMxgL<`FYEb5pmJ8&MGyRE8;~$2CWa+aI0X2%g-6-CIckM@SpDulcEp6 z_|pI@Z83h^OtG5Qb12tsY}*W4U6aMH$`L7y#5^$6i8lA0eigs!NsdIk%f|oh>UD>Y zL$>Gpzgc%H-EHx?ncqnd6U56AE(kie{`E&lv`y!LK*EH}+(!e=Zj~!6+ho}pAX>{7ras;S*34x1kU^PYDuHx zp?i8aukb#!#R$WSCY;`N6S$0n=@r72kXI5V91}GzbKcZ0LS%wl6~#xjKd2(l;X0xq z2%_=IAws+NZM>R|gt+vzGIBn7(w@iOCnSdQ-mKIj0W4_9h}e=!oooHVHF`GahP6$T z2kV2E(o@X+44oI2O1}ACa5>1woWK8KAP!ztdGZBW{BMt%57}C4 z76}3-$`ZnMd1i@b{Kh#8PlH-P1&`I4(4A>Y&Di`cHH5Ks2SQI%u37nYwOq1^xv({I z=a|ILTe#wAo0yZQbDxZN1w#{*oaR|EoZ^{6_uUCCU2S?_&jC`O3V*`K_kAM=+dM~lF9GG``5tJs~HtGOb zFXMk8=?~fwK=rEX&uQ|SZtd*}Y#!r-i4{u{^1!H8(_YbZ&-U75P#mHU7EInmveI$oMl(L zlNJ-3>8pvS1RfUcOr5 zI8<5Ty2=q2`5SV4V8boLGa*5f6_t1^f!p;BcwHSn43^J@_7uy(YVLQ^x0TChv+kcV zdGF347fo&ZyVycmH6`~_z-#Gie2w^N5`*esvRl+@*m+>S+3}+p+MIWRrc!Sr<4rbc zZ3Yg>QN+o?Iq#z@sj#6fjNr>So8)e*{5mQO+(ZHi$rCwP6hTQY&DdwpI{Ov;qq)RxIZ zEmae-)7+VzkRZah7O;(XA^xgXp?bD?;LEz!|NJb>z8(Q^glfYtdMn6fQ_Onv+U?EoRoWIs}g-Q2}Bag%~DEYo)Yh`Xb zS&Vnc8CZC#ec&GxwPLq1<_ei!84njOjE|;F^KMUSC{C~J;yuSEJ{SWd1ic>R?Sq+= zh8V`h^4@z>izs;%rJ~J*huwYERcedZH=Z41c`aeokm2Xe-Pd0AGEJxcDQq@*a*H4) z?#NJ0m%d*DhU6fBw(h#J8C%$kx#+(fV1W@`5=(sz|9}w)aM-~*8Ckk`3c!FE`BP1Q{{JNE9u5Q~ z>K-1H|6eplHIN2+n52k!hk8N|?ZbZagKZoZjVy;ewuz-uqljV83n1@TA|B%|kRskz z4IT~^<&e$!0wIUHemuOn)W?whq5vDZB_bauuidwXgHAId^sRV&I3Kj$-~NXU>~-~! zQ;7k~>bpu<`$=Er@B_At8Jz7wYS{=lJHX%qv z-b&%HBY5~>zx37pD;DT+x6!IEf#gVa{1bf>DC#G7&xVgdNl?J1vk3Z!qW{~cl#D5; zA#wKD6`@m!?U9%`kSK##YX;(J4oB=Vs4xRaRDJ$qU+)gC5+tNi>tctQvAJMcEqauk zZQ+Y92?mZHdWcthbL@GI7fZg=vdxIX_s}T?QQ(bt`tQ3TK-D-bvju+*r(x?!mK{bM zFq#qHa{?k69SOhdRPzM|r}uD9P$*jO9qcb1nC(JdDnG^Nt zd$KZbeo$Hc;9qYVaH45O3{(iaXNcm52M7ak$ny|E7T0j3-ta^$1C9%oXX`&;YLt?C zyf}Er{!eLveGrsrRtXDxfU9PKgdPmRT#yZT{BzcxJqF*m1;S17}a3Ma zwrb8x9>EDfdJFmw@s0p|k^i3E%D~9}*B+4tYectH=_)!}4wm1o!QLO#@2w1CT}IJsya;k2 z!*g!rAxsWoZH29gamdEypGRWC!|~CIwIy#FEdOD{S56@g{d_ySV2c2C_V^1+I9N`u z)k5hN4uribecB;#t=Qb%->6%SnmSY=Fz8-vvFuq zqv7dDB&?nawT4E~DB@UhD89ZUvH^P1mB=W9^pN|_JQD(<2G9A6xJkH{Ul*VlRz%Zm z1IN9^tDTCO@Tu*IE8r%#uusQ?sQ-DbS*rsO0UfV!6&OND(<+WtY(gBbv|(bV6rw82 z13hf4gx!O4qX^n7!*;$uh3;C@6LNZR4M7dsMoy|cbyH)I1>+#U7DiAVv2cI}O+950 zSu1_vonEpj6*JTn2w`&e1vjHbnd-0>&sv>c(*qHz1Fwa zo3-!m$XRGt$B>7t`Mr;Lk47D;*Uh7X8$hCU_ji%G=;#rvX{!poY^6kD2itm4MKG!e zrjLGZL0>|>Z5yvDu}*x#^!Q}!=mo_sHC375Y`C~&|8pZwqDP}FR^8gm?0@&@1zW(X z73XW6mLI@fH${DZ?m{vN@%;p*dGHc+Tj1$vng-DK=cF@-2bsLl0dmGCeHuXcH2Ono!CCL^SouqI2-{R&mH>bfiPXxzS&6 z2;&<_!EhIOfR-jfObeI^Og|+R;VdtUT}@r$!SRpYE59QbY!NyC1;AmRFU zzqTr-2@xk;qaz3V8-IQpCd-K?YEh%6fRIh`^f$8O*@hCNgF|=0HiHjQh_`Pk9!wv& z$G`X4vowLU#A9C!V`9?c1FYC^azbeXcF*HXfa5zRv|<#325sK$Ij{$beek1?{7@nJ zdoy~ii_S{c&6Mt9)57XvD0&TnmNy>rN?2z`BE+|xkRQN-xm_SDbet7LeVye;X?cCy zNS`Ac>!cjtYFEMWGP>xz!jecA$ULT?Q2uI}!W%~iF+iyp4mK@~AN{lN(oUK|gXN~5 z3bj>C=6U4yB@o>)x#5RE*&>0!6zoLnM_yTv#SeWyHR?dZBgZN67VuI0IM`Jb^&M{7 z`Z^uR6DIXA05tUa)Y`f?2mOD)Rw9<@odh|ImwNA?gv=OIq6?rGKJ9eAEyx=jyDgpo zvx0+=XTWfkY-;j`6r$fEz0Dtne%$L+zXC{@;rc%eT!khTp9mh_DShpXu^>js`c=<< zy}rS1y`uApV_^qk@sS{g9xv%Te9VD3eFdrukwl|>HE_HztlR!sAqGkv zRdWZcYqf45@9mresDTn6M(&&#hnMz!-)}9@6DV6UWuDw{B7m6r_FO1D;R{k`s`Spw z)syIT**g#A5-VGzV7WW%6eHdQ=bz!X@de1m4lVh46tZz4MruCDp z5-`jn?o+HIn=K~HiL;=%Hsqg#o9982jwo7{TlOfFa;##`z8(o6ZF^G!8d`OB`ndBg zPv)7N+jQ(lqt1;Y47tm5xvF{sH!skZytT8p0-iNw_Vw#YYn+C)3w(h5v`8>eXb~&K zB&K}UbdSdUokBx+G+f0hd8bbGZ4^J0k*VcC;VV2a6R1^2R*E6K6nx z46zpQ8Ze-z(EfY#=1Z4<2>#kfwB}ZI`5R+|$yQnH8q1;*slo{=-80S+JE@$He_60k zb^z3(o^rAFD=hO0iUe0OMc@4gKH_C;)4H{v5)h_CQBcY7FMp+-1H%=Fqcb z)njBeuDmFOxqL1$-1@EN2W~NBR#3vMcU4s2N7H18L{p zX64;VyGlD1b5AJJ^Dhh-1eW0R7GcMR2=#;!AlY}&vPh# zLExofLDi-I7)^*V^E1S>xc)$}BL(3Cxz?feWA4amXe)h-1Op*MKTG~T`i8v-NmA;D z=*U3W;Hn5rXi!XCY&=HgGGbN4(N zWTuGs3%a<(ZdX_69$qg|kk_v8~Q+XMshcy1bU(E}rwu$X18P)c%kl znBJc3)cEj*^=gdYv>I~4%O3(YHX7ew@t&pi=c}hI(=}(4Lno1~YZ%50t3c)9pVAZ~ zLpJmDWLe;(gVo^$Mu1~-Q5L)sU-hLd-;!|kBT`KNXtX8QQCj(`c!^O8jJ zN5bIL>n0#oRl>IG>S#9ZhKc%@yOg4Zc9|j-7nR#ApLF}}EEtmK*4)+$gLza#*m9Vw ziQSo!uDiq9hO9N8AAySf+tHS~H%|^Lz7o1tNsAlm`^g}gHOkY>Fe9Ouxth7u$i^Bm z-`Pr6>`d*Rqcdsb@_cc=q!xw}seE~;1+$Ynbo>Z$PqP`&jj+Ab%UE+t%Z@3vXbe_2r3c62 zJJZNPM(pA%N0tT6RJC78!FyfD`HQOV*1wF{PF3}lT2{zQY5}dCu|f-SP73CvzN0?r zx$8a{AHF8RwT!T1!x8g{$z2vXk96>i67db;y1Msa;;;!63v&D`-<6_65T}*&8zPQN z&p9~BP7J<8q}O}{^Q#~aFmqN-7hOeM6BkUls3KK@2Xxn=T~cV@2{`Xbk+BCHSKZTE zEfb4VH7a?@7?I2dXnLkp23U#0uSdZ7n3qJJlMsN1!T%VaB1x@f6&2yGHB)dBaSKvo zVJD5Ehn%KT3%?hBAy>LsFPW1BsmOy6&yhvsq3Z74IHZBby=w7$)(AO-_skp~e?#)A zlyj5kEntaTvQs!V75JT%fLICfTj!IwMTzK8Hja#codLl4BAhfi(I!d0j)%ZV4v6@ zCY?!>b`lD)DP|)|;!JMZHsOKp`ms-j23Z3t0=T!}WM)hry4rTn(vp{a>T>|21uVPg zT$+*nNG%7K8h{7;u6Gi{KUpJtJO%R{jaU*hSw*X7p6A`4)jKtxc6#-;MX0*mk|U+G z(aTHyhe3*~aFJaL@>1|i8a*v`m)5@NCLmd$n@|ZE+m@=XE~CI=Z6~!TX8}=P|H zBYv&D8;CnaX#o5-vWhe#CgryE?|~XJ{{nQo<#2a?h{2I{IkFF(279~C7tjK$p_Zs6 zW-Oh81FN~r3hz>T`ADhHO7od;8dj-OfSg~d-KbegAjZ&ETTgY-2V`PS^#RvmoC`$!x5LeU-0kzh}XLMmKquYzdP7Bp!hTY zEfh&Qc5gq^3mybNav11CGC*usy+cWqKEZMF4AQRG22J@m(v~{(c!hIyVP8qtp^-od zG9#_8I74M~8mTY;ii4p_DbpeNgam9nFfI$op?!*3Ul<4n{3BN%ca@9sd-OB_W|sg& z@HfDIQG)soEWYFo9l`%FVPS3+T!hipj!>T08DiVS4rvjyNZSe&9~wzQ3rtBmfmN4| z9EK($_QCoi<)R)}{MZnPE#4O5d{#t8XP^ZO@7-lsbn+)jT3`h-`+e9vN~b1*rNx5H zsSL2EYzC==!6ilQ)&B3%7NS=Z^}yft1ZmXb|916?Ak!3~!%ooTAQ9gBj_Dv^=SY*e zI==oDPB;J8AN~Wa*^|mqu-jJaKQN(20Ug$&zB}WPwc!qp22ECgK`vn6)@8~@{(P|m z)5dBT;YmUv;yLT`%OWHp`U&u|P9d%YGGzG$^xNPZ`&go-(gLM5sOSY%>I=k~OKv?U z>he3(XaFhpmLWo^8ibJZ$@Ov_A=+r$%fmb;tmw*eE{%rnJSIXS&FwjMvdAG;$MRQf z&)lIO5YOMk22_V;q!>an)tg~8*ZobwDrFA=i@ZJylHL6L%M(S?X2(mYJ!!oJGhuqM zclOS{$udLGoXGbRBKP^s(k>gCxLgM_!{VY|9{&%ksg|>rx6c{Zc%$!Jz@>oi?N0;` zCTL& zF@FA}16bslc6nsuH{6fJksWl}MS6QJu!FQ_(rzAR%*Vd&AhqbN^m~rk?!Fjy50kBQ z1d?-`^pwxDdRw(9H*M>qsARdHI={B{V}1(33p*oaqG;t;y9gDNPy7MbJB_rXJ8`!i z4W`);AI;{LNY>U$PlaDu38kA6_TEddupkLtDN>sCB#9C2tT%*fR`v5V!5GXTk|B{- zB5}^|N~iQ_Ha&W84QGf|K~^r(m~wwH2M`qI0=QSGZ+=ZVBF_uIzan{sTOsjBw==d? z+`?XfSWkN5R0x~vjY+0+&!Wm>J3;8NRjnOYEr6QMS_`W<^B>_H*HTEI=&Wf*VR<+`{6t4|Gimz5R5`V$)63V z72d_G&9Kw?^APdrE!X@!=vUc7BL%-Pu#|phRf9ESWN;)7HG2v3gS}%{)aHYWDgkN` zjo;a$o&<<8k)sf}U%vum1$6ou51X4Zg?DQ|7KB_E9?WZxj+U)o<;%8cGF|m$ovDdg z(s90qmvfjl8n>F5X^6r0h(ruj#APXRbPCIJFl9FS<5%d|CU%G{nmC?dGPyUltRCHX zE2~gJ4Ki^1M%muezN5wTN^yb zvV*5Y&4hjP;rF+XascMfq>o_j*O`xff~9P0GJ(Y}aqeb`{=EZ{ZV{c~T)_E?YXugF z0|+*}oUh=|JF423_Jl@wcu~<3$bD~`GP%=6RX=TscJB}kK08Qr{_l-R8zbD%b<^(w z+$?KsY;9?=oUAklNXfx&T|S>Koomz9!XY+jp))Ys!@+qWNfER1MWvD7U$AF0JW`Zp zY*$`!F+YU4!6&5D~%t5T^SsS_G?!RPj|S zNCr&6L=_1~fY+q235=-;^U>^Iyx&o5-JoUA^K6>oxH{!Ju z&kPbXkCaf4yP$mvRrW5om$`Y=7V4#lbgGzfK=xZ}NEO{ti0+!Z0QprtK`FpUSfXh% zJt$`f>~Rn;lEXvm?~NEOSyQSI#GvGJ$kQZ%nO;1JiCOKU7c*qJ|BCxcG`8_J#RDTQ zi(kVji>b+yZ91L8Ajn0uscntnkp{RKA)F1VEWlx|{3%;plpjj&eav#ShWAz5QU^n3 z(*hIEXtwInxa+(_e&yUJ>?x0ouiFAZ8Iz48W=gx`i|JV2dKCrd%V-iZC8&2o2Z+N| zgFmAO+`Mv1W>X=nIbs`~s_1yrDVT?xSMv&U>%_R%Pf4SlZk>9iqQuqVuo~LeyI-_* zg38&w>Kg`GwQ9s-eK&8W#!Dof@H+Rm;5eD9s6;{4;~ZMlj75AQR}J6zI$MoA0q--J zV8~~!@}z@IXv^bD5n~Af$1gvg9CJuY2tS-=w>$ zTg#GDp~$au^Zac8wOJ0xZJ=cI-feRyqrMTO0!Q|zL~47|Li9)($N!~KD?M0(yL zI+lVB-JpA|sMw%(@$;o6m!A?&+CrIb_J6JVNHAwTO{X!2xVVQf7kwpcS(R;5z56DT z=eZYp=huMld^!`#lRp5rd2384ewd#s4JBAm53+yQDUkE{ZgRDWeK?4&kq!TXuUwKp z=px;IW$uK3-CbU;#9g68S8hdC5mto1cw@8)S3>g!&lDyb_KYWL%(Ly5z>in~yUg>C zGS6##QlU+~sK+g-OL|=^_eOi)jXUSA>vLPv_!V@N{Y67I#k=*wKM%8Bb?htno?YpC z_eXN!&lkTh{qG9rGJko{pe#Q-k%#6=9??<6qe!-x*m~)lc?{y2sEM%}LblY;X2ibT zWgf4l8uB9$pvt{?pnYB1|G37@>z6TplT06hRrYuL6z-o=-nTxVReGdGlf#J;=4M%> zwAfrj+_QcO>UA}ZXH55+L{a1JnpX71v+=go|MKy?W!l+2mVx%(% zaw3iioCnJCVL+Jl=vlV!(~+dAEyp@D<$d^CnN*Vk0!Vs;cjCmfQ0tl#iZbd zi_r4dIN!b5;8Rsr69laOL;+Tt^ z!ALvQf(qWY68Cayy1{38O$k2Ls|JP-eoTE{NT1{u{>XkfB@(nZHdZl7U^}_1o#Q1>z zX1ZL2&D{9a_c5gkp-$(+2ud1yxVhI3^`d8{ZTBml(4ZY)-A8ybwv~jK()dtoXCy%>er(}< zW2H3DV8G4UaDSajGB$f1K8^EI+MRk8-?N6nGs-1BOs`0^W~p|E9E+K?VRfFsXS7L; zepie;a!xzi#_J`P_%$9SpHwsr;PAu!tS79kyd@`9ZtfcKV*EN=G3u;;$k~!ty;A)b z->N&9L%K9ov-JdJFo8e>B%VB4Vh@M~?7y$_J9R&=B=VjhqWtlzY?wvhT&7;)EXp#u zNf5df;l_~kGMp5-p19!$!$Ju$U%~ntu_r5Mj-*?myfUSVn9TlWD=Orf zk6r(eed4$v?~}}_);YU+dc_b!0gN>d$iW4WD4eGR^jK#uX%vdLx%f0qDaSdw@2xPm z368hZ@46iM9Yo|l(W2|IcYm})BBP%}Yx*Y;Nc6q#(mYiakUlfeCMl=&ruoNPx0ol_ zoR!1NP=H$q${{&tQX~}8%?6f)v^DoeGsBlZn)^AbBe@l5@}H@1IwPc*c)NEKkEu{b zWx%wz&zHkH>&j>+m{v+HpN@o1ztcT-7s#JCObh||`*A+NPrwFe^)%Lc9$LFDI(Wt8 zG(0)T3CC+zz;WL%+j7XjmW8*-{!^j*bXbDSK6^B0kxgVPw!2BbHthMHfnf=Dl2N0$ zW>!mpO6R>7zjmz?SnzLSKhagS4gx+ezEj}n-@K6C?v*P1rig@sKyp#(;!CWHz~*1M zU2I9Fi&q>isu)aEpLR}qPE504>;c;(#RwG0Ua;a9to+*Sa>s_fX^TF|&||Nys^)1K zs$@xqqG2OB=Jld?_bEAT?=+cwFX@kf;g#DvoV+_$>_nL7#N8ZLVN3!D?sOs&ndxWM z&T#E&c+mc^R?+MPY;g*&jp+ z;ofOzSu&m+_loos>ORLMwLR=iUB+DG9`w`XPk+B%;hh4D=xI^Lm2$HR&b=Ac zgtD`ex7KYdbkBU9M5%5ro=nWE`}q&sy^$6}A=M9@lLTBJ?fkyK&oBq@l;oF z$D=xYz0>+G>It%ZQU?7tM``&eTx6&iwWh3@OQ~<{yx`r5*i+I7`DLykL<+ZEyu@4{ z?~wiM`UWeXj0AhMb=5uD-;Ty|%ekq0>UoLy4itCE`<9D;F{cD{XW9F)uW2za9_;uk ze0$I(3+YX0wfRL&Cmr+k=Kj%W?wJbN@ z17GsDnj;xo)Tk@Ju5DcU#vjEj$ZzxUGZ176J2z6w+Z*|IMt_O=U#4KvjbFO!*KYLX z(a$ylwBVM9hDvR3R`{j&&YJMt_)+zmjyC_vjbCSy;?lw$rYf5y6IZU=G&g&7R(|sR z#%A2~h2}CcdLpASxm4Id_DYYY*`BL5M81K%2P|cG09Xa3ks3o&+^)f^@i3=!Awe?Z zgj{0mZ9|uBeTm2c0SLnYu~IJ8tKV{3O9i^3i)y~&;Sy@@1x)M5#!VE4HHWTzejk5b<_Uyv{T+%%d*eJ!Q# zwd-J6)eQ&dj!7rgaY1F5uAlNg>!*+f>mugf7cHmyJAdxE{Q# zCR&IXcHXh=ft)g3nGJ+dPlyx-aZCS|QSxEhQbd^Kx_$qDeVtY1_zQl%1i|gSov-BW zXUwKkTb?inAG!By-g)OgKZc0)tSs3AkYsxVP;Gs%JdZ09Rsh1Ax{R$*_ue?*Qi6_^ zv-zJGNvC<7Xk@?!ACWJeLC8XFy&k>g?NAs?{Fis>^IvZ2#=mquHT|Xka#M$4tPY{) z8e}LCpxOJsfb$xhTn_(h?tc7BsgH3C8Q#hw^Hfs7>5ohhJE7R4h? z(>{N4ww{w$vRC-)2>jx}TyVOD)qD@N$CG;_hd~4Xk~CoU7$2oZrT#m?dK;j0ng{A6 z>)Xx!*1BDdJWW=J9$Bk*MUn&5Q!2pC$zJGa6m)=`@1=ZRLF%T&B1b<6Ww^a=7dNsu zG$OeFw{!o)<~FX*EZwDrxfyZ3du;WhH6AF|2M`qW2s~CPNTc$KfP^%Sup*I+53H-C zV)5(3Q_Ey6Qzk7C3|13jwNW&I_knxa)Mga{J zK7yoCvm%^_w29k@O4MqsUC3o?4q{`nw)@`j?a15#Z)g_)W6%5#uHHMG>Nox$Ps+$K z%gRB6)UoF|3dblSBU|=Jh;WFInZ1?l9U0jodu3*C$_$4j>zs^Z{_a=r&*yV}uiroK z>wR6->zs4H?(w{zj|FvvcfP54JDEyt@7H+t^FoVGV*)z`E4!u|940 zU5Y+Ch=$tnpfa+|d^<>im?iGo&H@|FMjP}7$3zmY7C3&8yZQJ=evhuE&A??-0@ zp=BBiR8R#VzmFA$if{UU0e%2JSL671>FMvjW55b-Hu~pr?Uc*{t#=y@==ZMNTQ~sl z89qtK9eoDbqN0Gsba?YoeKYszHuYIqk)e8gUJpcuER>{+-~|-K^a^my zeZs%!M&qcnodh33LI<_aLEB=yf&HDmKi@Tz_#wk>E2)H&w9^66-@rkO+r;K5Y0xuw zMlE%H{&cT8+_t3l*$R9s%(e#v5otn(TphYixHxlQ@6laDM?6%8!Xk={#41pfX79e^8`@Z7xm>UCY>{T3N4%A^x`SRgE& zQs@8p*HF^>UA%6RicTPfH}Ai02B^w9S(cokanu$TTDwo?1OT4qxTEW{s~czefcTLU+ebfe4iM|BwhzuWzJA4=+fmWx2$v6}Te4SUj3q-^2fpR^4|C>; z9U95$74P1oqPT(cCBE<&!>p2Dlcyt?J*2_C6*l^hRQr~<2B>VecBGE}Xg;AL)48p- zAlDK{le>(aG9kQ-QaM(3gnOS%`ZVIi+sY(e(O`+L0laQZA2j3lkv@2&WvnAYx>EV! zET6eJf>dQzyN(3@(j=rePf?OyIb9hIu9n!?J+L7+Yee;UfdM60V56~6m|6$0R@G`a z{9S07R9I5?sVHOxd%Bi!YGdsy+kH9XcvQomPYQ|zeR2nKrtjUp760fEh-9a3=~Mmz z2wDe3e8W}c*)%aZF6WPpU_-*V=q2ikmNN*T@2p#AJ@n2OAJFp)Xp{_GIX@WOx2tNY z5O-K|?Q{J%18CdQ{)MQL*x43ojmCxJqZx!D8aiP%H12qwkT!p3@T5kf-S_5o9#e@+ zO$ksgS?vr2FVc|>u`b2w8W->&yY~6{&LI9yID{hFg|^j=&Ia*4Ea-jwRebd2h76nI z{mPOBk9N@w0BIHVg=0DwuE8RY{MKQs(~$8yq(!O$KxeN#N^q=z;sDSxMohte3FYm@ zaUcjP^d9M|om{h80v6&g$x->4Sjz%8%EC+y!5(4?1VvkCKX4{W@Bu9g?H-QlYKKx0 ze)hd(2@TQ_2thz#V{?6%K$sc(_mkB(6nspH!2-oL zY=}A#q%$B*K%b1Fc@2EqE0~~V@}fn?QamHWF|R~cZIYt%h9dTttSsl<_(y!r$2dPM zgtEs8I@2r|62+D(#(FZyiK?b5=(bpJ(Aqy$$-u%M%pz)BHz;M(3 zySfp~5gcCBeQl$AdL)%)-Ms)}^Ntgu<>kY<=Sy@6WsWNtM_rnRC{9=>t-1owReb-0 z7I6Gpy>C@!1RM1y9!3{G=@bhsMn{1a=~)8ZYA-PlNfPS>D20gIl%=|Ff}P0 zkZda>LVF*;E+i-KDqzsKfaZdW(tP&4oC$^+cQk_?@33EpMOKb!Kku4N=j)_IS-)+a z_Q$z@&#lY!#oQ+I(GW-Mlq<7#c6BG1=$1zjks9%UM+4NgyT!AzC&bd4Gqx1z;O-8k zkYIlg?Q)xVYu-*Fg$MAxm_)B#b)OjYx2`Cb!?`?qbCs*wYQmzXQ>fcr+0ab?Eva{9Khv3ui=3 zflgYb(LC_2yZB((1cdbt_Q_HB{|l)T0h&k)5~)}sQ;Q_%H8D9p4vpr0MmK@!PZq_Z zc-=eDKdZVigb zFVr%|2U%}8{jP+F)NTAFVleT#(SQLU?YsmH`scfx3z;4AO~-YYG(hde9{WaW&B!>Z zdvx~s*#0T9552($ZXq)OSh$UF-26fh#;jI=bbzDmL!X&Lm5G>$XBfCXuJ z{e08`!)<*`<*dX1ZoI!Awa{|!yR3f)y~d-lSLEdHAj+OFezfnNYIMGv5ZTSyM|xX> zAatrqtzV%S^gSA2yrh5^4cdx**lXD@CSRrc`d4F@@k5-~B) zzV6j{=KVl$%pXE$-65UhH6Nv;xKhuLLX9ddtp{Z8Nn2i9uj7QWJpo?Nt|zZaL6gp- z`L=%^HLNpR*LCUfsC14CsK239LSno~TD^+-{te@MS9>GsC5`%SEtn3?suO$MXkxWC ze3=*08+Bba!S^N!KW6)fXQRzWx>a`0^mP{pL;Vn6;)au;bu%f4s2wdbw_oqZTxV#( ztaN~8r5ES`XD)!CU|CC#6kmU--|k6frEzu@KnDWjxv7)eQrE7e`_;EV0&@y+8cS{- zoT;y~nY@6gSGqkQ_cO~Z(*PygD2oLFi1JvpAs9o5v4 z;V1M7lHfBYzpdaqi8S1?4#}NU9GFw}#gx?Fof}W`eTf4KBBi;kw-D zBFMRf+cFs}ns8neM3_}dGFvP!JfeyO!`HqGy8Z3=(5)57kK<0lG$=!?dW0GN9luSg zui%*PpUF{8XD3_KeJpZaiq#9IrlWe#t`kSifD6uJs;_-g-%M_%EL9B~&Eo*s@em+I znzs9!v&6`z1`?ny@SluZ>9z5=1g0`=TX>z)Qyxu5I@2!}j?2?6dRH-rfQCal;omc! zuN&71EtoDr6qBhyJY=hE2mV%jOxY%V88rEJ;8y|ZoP=0qemVei7l#vkm>3E6;_`K6 z_^TUHt;1JD#6s7<=yihdXM2Sr?)mZKNbbxBGaS)Sfhhq)$sd4ot@qN^v&hjg2e_tj zc#^#b^Eu&onZUy6oWns+q! zv#^+BEA3~OqzjGa7QnaUX?hU2DO=tr07yCWEypev+0e9Xcg_cMd-U}9NbO?+o+thh zl#Ssxn7R9iN4SLP1~|5UrOQl)i?A18HcvWWh=aUiHJ&9l%Js(8c~vqIN5NOcCnJu9 zA=wU)8guI#;IS?60>gmCT!@7tX)G#YgR?Lxzl5dHaVK_V8bQ>3SU zN7D)fC=ugTKD=ps4>B$Yo>Io;%)MjR$$o0L+BB(oE?%xu+y9?)5rxJhuk4&b#nbyX zfG`L>{%&QM%6iXLt4EZXp&K}%lo$h9<CORGa~&0>X!I0+nm+FaYbd8V-W?{G7r|iDq|^1C5C#Q_CrsJh!l^t_)Mc!Ss(y;_7G>h0@^%X zFj2sDa>kdqoDOa0$v7wRJ^}keM#b;hCMcBo+hU>8Rftk>0kXM5Sl;+L-VjcCHdr2k zrKukte#adj`s-^f>G@+H&Gq!}B=B;Vj(nY47kJ$XVrEvy-ZY(%(1r4{T$o~5#>X8M zua?#nPB-jR7+>82`R(4&ULEuwP^N*+VkT4b4vTBKJJ?RSe|8!JI$h->c^E2Riw@rI z^bMdBsK>3+ngl)~1y3wO?PqXgoJ_U9r=(lh>{#>}xZN`AiScSDpTCI^#bo%NT9f0Gk< z^Cp+?#<8R~7x^x9TfUQG2<{lfM096SmgX&fkj;i&D}67dfsAubX}J^s=pd@yPt1M# z;izcTy1}0&q+MSa7=_BHZ|Lv|^K#`VXJIr|WiDh8@zL-rq4iu1!K#w{0f%Ck%>B!o z(ej~qk3jjfEvsmgC-z?x&$(BVK>}gR z-XwrmGeFJSjCY@TBe-Z2A{DjDEG}jY4gyo;8?H;tNSZ{j*Hv+oxc;$9Ki0(Lu+SRe z@>9E7uZl-iJ`U+s?gTaFGa$3ua*;yM?||rXATlNGd9zOHp!uQjV(SmcEz+waB@9rp zi7p^8Nx(WDF<3`?+X+_FIiwM!Bjzq1rLDOh8L+Nocskj%SA{$JS{01NpMbuMCW-N* zv>wVMuap-ptu7mypqbTTHA0C61Wvx@$p|m{)zD(p_IRmxl|=KDNq{<>de5ZE`&tYO zgZ!g+SLA{XVSLYS@=a%2>_IP~Q<8-Kv)~`{cMQn%Yn>%@FLqYmgaF|L5@(01Q9gCPe#rU|9n|m(>r+u^e5?Llbt$ivi`Sd4Ty{1W| zDlBxq12xw#a3Li7>v+I5(XELQl69fq;}xI?qal?Z7&jWMq3RHP_~RPv6AKzp{M%#9 z^zvm6&?PlRW@ZY83Y5qyP_-*rpNGqZeK&P?)m|%wtO4wT8UZa!+dgc4=(&GhTDJXZ z>;VHk$ziwyYk}OwC17V&!oxo)x^RwBIbFUhciqJ;@Ybxr596l=(#u&7Skvh=)t@Fs zSjMQaXqzo<(7F`cJ4w*y$|^XY9&g3woAP(~5*s#K&yJ2Aaw-I-#b3fO5C2MfH`r$AN zmRQ9La6{@8*?9-gC6+kc!oiU2P4@dPO!{sjE}-S0Qq6?m5DWl?{cbRPpF^GJasn;- zW{Di#@jAK+>Yo^kwh(|MjG|g7zPs`eNn)%7Ty4CzP&yvb-~Cw}1*$MQ^D=ct>zwU3^Cczb+rw8}+g)(4iqZ-wQTgXO9L?$U?2mcK zRfvLf)+Vli;KrO@PO09T;`NA;guaN0X84y6~c%#GA z{2fYh$w~?Ic7H=A4kFFw)-k~>ZEqs4Xyk00FBLj4FiM`Nme0#=UGb^foL!`L@X9;b zNSWi6a$Ty&`Vf#lR(G+tGgef3pI?62?jrij8j=*2_JwD)bBH$bsgL&i%4x7d?duga z*rnh4FP2;7pBKE4(4m-2zua9dn7t>?wwImd1cjaf^w3nOdw3(dt_4n^v2zD=X1djqJ zMRU`dgCyGZZ-*=RSwI!XD#Cl8+W=hgzo*wS`uo*6-rNd%_a<`mOM}tz{ABc`el~CX z;3{yh)Mo^#pB^lZP)|S3^g8qIt;-{2kYkX!y zuYvf>hH?4dVIaTAfx*Y~=&6BS#MjlG+JbeZx#YH(?6f%&IHbtugm({b+#HB~y^>@V z7OQ%2Cx_fu-(SNFoS%ZFP1Y^8{l%2D{6pFs$okUKr!u3^1=i zEegE!(n@}IA}5=T$XOZAuMdkZhfGUFdN4cs##0G0h1A%<$3K`iNdPW7_ORV00@5RC zuZ)9!+4X{dc!YEIqncKVYfVo3i)2W;iQrwKW$V&vqAt*UG$AMbEfBLRJI{k7V5Em{ zL5eg>ZwNZnS2Fh8x9TvOM)Q<-uC*=pSxMcF^1=Bp=6B6!B;Kq({+l4ytb5lSpFZ+4 zW$q5u^noj8>ZSujutY=s!Ox({@aXw%9Zpj{7)-ow4IEI`6;R9L!UY#_VC($L+O_N> zl}Z?lUe{U${tGFGmo>nrj*R@BAVqWA`|P%ve~;Z_M9&n^?=PDAo?3FS%zSwNlE0^dJ1EU|-h=cJ#k2%=b^CbGZ3M7tKTU zU4pum1o5+T5QHo`E`6@vEV*zgeE3^*<98;fsj#I44^~HC|JQ&@uY2DAF1TjsL&lf! z_GRM=mu36nf*gTNnayi| zm8i?#fnk2WtnlEs(Y^39OG3I*Vj0tk1NR*FrWZz6eEW83OjV&$;~WS+I0pe@aSNFP zptt|z%Swn(21i{^CG!RPAQlMujsHM-5B-UR#<}?VLLxbm4Vc3s_nLhab_yqXOJp7> z5Mrn2@3?Lpx_8rdEeR|f)N;}~`s!R}H1Wi6O6&E(kPuqT`(XdiLD^NQzF@ElT~(f( zdF<30xayn_kU}k$&vtCi)*HBJhju-^%9G?v%<-h*nJ5W)_}l;ag}<@_t!w?1)*}x~ z?i|h5Hy%(I9*%q5B=8r`-+^?HSw`Bqwe(%@E}>dlxFJmk=VLwP|NUJ4#-q>Aw*^e} zE9Ww8dopHc1}9j)ePekQXQXY{p`X&_V2WmW zsL|ouXj5MeGEmw z`DXv{@GnR10VNoxz^`nBbT6-8dTqdwqqqn!%*SHxs-*VRLi(dG3$9ApVJp-o`{ zv;o5C5$O7Dc_?5gGSaY6)mGkTD6p^{1Oyg=i(BRL;-}w|7tET*KtGU3VZvjnxp+>S zoZ|4;z5R`n%Ehvj9y%%%#9AO{tXmxaoXWuyefGtRenSBAv9>g-5&+7gHWq}UMjF^~ zUa#!`gv5TzlTQh+i_937poum2c?1N6$Qmr>{q^6HYY_UTyS53l4PH-kZ2ExAsrJA8}=)zNG2t0iw z{Galcd|t@_UWjgToQj`-A$#+&q)u$LlwJ!m&-8xF+q%5tj{Z^|**8-4%jFxwvs&OT zU7|}w>J^^<9#X<}XzLn{{{l!~VZf!O#6kd!g|Da91M+3h#?#kJQbWuCzb`BL{kZeI ztD215{`;gIB-_*zSGDi!L9B5xnS)e^`x_rpdVo|^5cdMHlgO*xNRE2=@s{Y2m4P$8 zV`aylklynd#$*@>PlH|>IKM2s!QkGiZmRQj0FP`D6h7@dxfkZO<^A#Cz~vtIb(xHl z*|hq9{!>%nqS1{(EeaZZ^0@3c0|^+;nU;W#Khc+an-nUYhNSQa;@DiMosOOVbrVY4 zUIZoud{pS;?M0yTEcTe3D%ux#4jd zgY9voMZah~CQR=XDmqhNjwoWqGn&xidz@Ws;0N%O#=S>_4Aw9Z*~|cGh(8_+c#6&c zggmv5mE&E2iZtOUc*{0rYX!v8B0sAvbl!;nR<7bsKuP`pPO0vEsZKq2u(d5sDo0j8 z_aaPeu0}WAUlnS5B_koj$IgK#qqmuTA^F>@FuyNPNRASlS62A$rb997up@%q zX%p!E^jL9%(}mkdxV8!6C}43lC6J|5YH7dJ2YO3=(x#iokzRwft-F5B&hSOgwusOC zPDRLdwRN?DM}Z>;`T z(O9GV|PjgX1_ngSI@{<`T=Q zLeZEr{=v1&39Xb*lDW{j;(S_D=7hRS-0RYh8G7YCPxCLC82dEh*7LW9b7-r-HEp4g52pB~Js?4*-g@r>x3 zi^nVsC9A7kX5_03SsI3_QMS5JiKX1;LS`vOTLu#AdPx{)3f$quy8Iv z;DXoQk?q{==9J?g$HAD+pFoyM#J5n6Lr*fuwY0i+d1ZY|9Q5_iD{*&E592ZTQdFee znL>u}!8}m}UxR{GO#qM0jlUof7e#M~aC5&X^1;NU;rgoLBIJiA#1k@_zdR}FGKigi zS9xiF!*3FP*u~M#trigVnU=Tj8vstjve$GEH zVC@b>rLq*n4b+e!r%r1O5#^~qZzw1E{0(0Sr6v<#gXAxy-n;G^c>DozH@d%?}cLZM8?G77v`GoK6%`0|cw(QS0%` zXs#f$${ZA^<9p_b^rgnUo*BwB20S3(P&$St*5B0k)6CCAjnFuJ?EK>r(zW?YCc8S< zksF+R+|@MTMS3vcS+qvZWgpG#$nIps>$U8JiaNya+fj)eJ_5%>jbL=#S?w1lK-^ag z8=C_vwuM~ZJU>DWqQJ(}`(}5)q9*4@&_8;>Tbi#K`cWfsUH~(k?UbM!lmAduGHW2? z+GVn`2E77zpgJW<=fGrtALB?}sU$T043d=cS}E`@vNjV#YQ@e(>Ddq=6D72Jxm&gL z7yB(dFS-aZcJVcftB|p~S$Uk+rlt@gxm9pW6=blHm*-Of{hpMo{KI=7+v6p{U1IAB zv|#0i7u@KS>d$b~OwVg_zZkU<8rK=Hl%UII!^KGJ6>iZ@V*uKF=C_ zv16_gH%oCBN@cfr6H=4Phbwu=ld!JY#Cv=OxQ-%^Ll;w{dkc=dX(SwH7i(~m+3T|2 za}#NW7ot4sT*>9Lzg-NZ?vu7KP}d9(dkRd`#cV8Nfz(b!S&I`qy4!&vs>ViFx8< zKfr{uKMqv{35vq*ma$5PJh6|Hz9oomZjr?Osf6wQEE6QcS?KAyhpnDdOAhv0r5PO0 zwMc09(wk(xe!Zy2;NtceI$ov-U=tlQm4#p{^ln^G^clVDc=J(BOwUB1it~awG z^)57Y9B}f*ecV+~O?T|?Av3!i{}g=$K0(;%_ujxE~C%$8QKez zb%5_8G1XkAY|D;`4sWrHJo0lmoPGSEM_9<3q0@_Ga(|K?sBbY z#IRdCtq3nXB)&rxi(FfMR#w8&mhbEDj!S7jSZ<(F%hz;AXqA8Hx)_`H!TPfVBHYGZ zVmD&c{ZiUieXf$zS6{_gYr1=D;I+ipVYr`KO*)7&aA zfU^Soe#Va^iW`yHHdA1xoIvbBY%$EhqY!NxA~V3M-G+|e0WdO2|P zWxbp7k+C9kwW8N)Ks=EZkf*Hb&q+wRV#DU6>ujIC&nSFRlH@*lVc;!FGHmJV*hN%% zxRR!2X?V%e8)?xvY_;#Lu5x9*GpUYE)5O0H!=8qPKZ>kI0Ol^LI=ws47FstyEk*g;a0k%@O~t2{ops+9NCcgd&7E9>B3d>We48;!0C z%%)czk2OlqM+Nw|$=H4+ippw5tsoW_zDXOd&Qzv)QoH~MeY$JM8m(Fj&T=AB0*zQO zm97+N-0ZBRQgOhu#G9$@|LCsw8@v!=xHpT_+J`sbVc35qjQ!a=eCG-1jVr zGBUOai5m)GZ}((fx9`U5u)QP=9hLFf(^>)ON~!W7_fr?5hwopFXRf)WvhB=1#1`bV zues}{=*R96ErRyabYOn5@ z0Vl_=&%_gr<}I{;f$Kvc`#uvQ!lLASlp8)Puzcz~6^y0&98hT;_mgHPx2@o~vRsfS zw2UhHOqk0(qvl`G-?~ck*F9qP14~nktxD|kpM7RE;^r-Xt$a%1R4KOO0_G$b)W8hfEj%ySk~R#!f=K3 zmd>5?w>a5Te7XK$JklE0RVDb0n%RFjm8|&p3z=vNpWOE0zNCg<`ddQZEmpS~E)fvA zf8C|VtbgCgE=g!@{zHdjagPf~_I@QiVWCBlq_~8y`Qk)1isL_7S^g>byJ_8MP;E~E zVX}YkOQLu5xX){;KME~7XU6-o(6EHFc?|pB)O$xnO6p8EtG5{0!Ev5y!gegObfwE2 zhQgf|yQs7)T!g!8dLsfc9a?zct>CYg1U1>>ItPI-$3{i%!m9AX!fU3yRoWl>J@543)vKT;?2zzwb;TqA!So=7J+i=u;>N^ht-ysK_EiwHzD+Fq=P zEIGQ-B>u6mX6x38K_yd(b}b(f>3na)2=$vsUl~jA7pQlBNRVrZ{mP}A_ZC*3^>`_X z20tbI=f2*fUe3YE0BU^Jtpz4el|Los&9AE&K{a5$vn#5m3+|<_{}vQu+wuU;Q1S}2 z0bs~hLBn6q0Y_R4xth!#4tz>eJSQU)1Q6hVvL{?9t>4XGn`jL5qu^MNb#P|c2|{dE ze~If=oPDhF{N7O2h!D^Z{+lX8kfcsn>S7))Ew_W_+LLZyf27^=wB96T9(n0oWqe22 ztlO6I9witFO5RRzebQs+3>=g(t!LjKK+ zKNKYt?%y#(fgC0)IX>YGZB?IaYO{etL@UT_y5j=0si8Gm#oNtYvS-6LtBqxDH-`&)2RMES?!QiI7}9IdG}(u@AVj zka-Uzs80en6wZ)m!T&ob=!ePdk0ckYJ?L%H)RE}~kDb3MQj1zwYGOLW45eHjG-QR* z{~|PHC6BpgKKghOEMrBsdcL?IH%}lMpIXg$_VzgKMbEqhjY)7KPp)tFT0hbS*CPuz zbpgvXphOD3e!Rgio-X@&wtQXFz#Z>q%>T`M{YKMB!}>n4(ZIOGLP(ceqWXN>|BQvb zGQOgcC*;WE{Zv&%v&(F*S@VPNpZepKGh)ExrD?^b$WSv`AHUPdo$T4=KK+5h_S zkp0H*_*VRu4cNNr{uLj5aSRck^!hu>*`>9|~@` zK8Ba9Cs^77OF*rfxYb%T79qolPYG40e+MVGk#d+-`GrEp%{=_*zSv?9I6%w(&EwjC zl9yGsmip~ZNy5c?;q&rX3 z>Mw7%9vooASFQiHB7FpheyN3>VUF+})%H^w$9dR$2tSz&&&5MlY$Mqum44vxkBIpM z&;%#yqLYjL&Lr?saLsoK@)az~W>9TN`ZdCM2Aapri3t>sct&?~g~X0Z3v(g>9V|u2 zp26Y_cXuWLi{#n4qk75_&DDuHwbl}7*}ta3zV{xD3ecpsdCetRIw5IW3%|ttqd>(-kp*KQAs>Wo|J=6gNxVc38l>!Hg?7&A$7(G@_ zO%NbZ-c+kw{HvGC7ZHM!!m1!6!QRMcM^G_OaR&FTe;H&*v%fN`qq@LmJPEDP8xNEV zp1Gd0l-j2Z#O;$2@`h#jN$057a-wS+zw~XG|DS0^44Usd%HM&P+u-pTaO~B)lVb1- zkZ8Dm>U9dKHx)~SMvYp0j5#d>#bHwwhw5PSI?RnJPl0f{O8z=^t`m6IpgzOCAXQ6a zJ556W8_Nf$KZfh7o$l}4W9s@OJ$dOVi_!i?BQ`wl#a9;lXY0n_A{5UUc!R*@xFYx> ze5UQAQ$RV!ILY&h{r=l?shYun2P_~Rc_$-de4@F<`9*9JSY z2I+U2FteSDXyaWEPSh{|Xrubiu$0=2pRWy&ryxg=uAN#F##ER5vc=D=|BL7u&YmKl z<FAqdKW(nKjC4^M zAt;TAqZ$n4_>AvmgLxT){|>tea`Y0~=_ zSIg)<)o_j<){;e(W(KB2uYWk-RfjPOi(B~b@T4_p9jm(ZF#qvtDM4lS(}(}+DvBs8 zsV|p`oog_WSh}WaD7mYYIlJzW>hEgntWs_9x#f2&;icRIteO}X+_D7B? zgc?0r*N1Te1vvcI`QU>z*-5;!R!cd!Atkd#5A3_a+v*DJ+_I;DuahM*&ZlvscF~}) z`bvh;>3vR#U;dV_(AvgrHPtzBR#K;(m9NxV-+`b}TKj8rIchf+qzy|LsF2C<*kjU^ zX9Y7cSTyb!jl>f)H6ANI|6Q0quk|JciJ&RJ(LrhBE!^AkN=0q)2Ou8I;8uRyu_MDV zuk&HsUjnr3ft2gSP^$6rBI(AVY0u*7rw;IT?^kwJ-m(-(`wQXpQu_p6ui`hcAzKPvn(=no)Hfs zlt;&P{P$vFkCVHrVtee5`5ZR}hc3u~);o4K!=@snVo3G0E1t#mj2`D()$LNo3M{`_hxL3tNLLvJd?~NYN z(Ki!3+A1`;Bd1>1>r9!&$vGKbw}Z?r-zAARY!NJQBo+)w)N1jovEzmF!Qin6Z7Rb0 zh*sD`J>Ba+<(;M?pL=U2p}$+!N(infeiQ71Yd+a5bIw+2A+n#trzmYZAo#oMO?wNRD);ye|2K`sR% zFDX$m^N!gnlR=>8>&tS~P%Dbsv?EqKz)#+L6ZX_-^f16yu|bCh1E^4m3%hN-7>SY1&}-Z=TxIqQV~r0TWTTLie;I~0HZ#keJK7MW~N8R$d1m#;t2*d(iKh2?HQv^7=8ZLoyJjYMNXSu%+k1~GHS?;<0rh1NO9*;17KWlpC=G0*hJ@rZz;!*J39JI>C9NS~y%@ z&*$2#7r7qpMr?R(n zERKjPfBnEv^((=I@#%f|s^UqmBVX6VbC-M`qzlD=6^3XRhIzM<#7x16G0O0NCV#+5 z%B$5SD~!0zRltU`n2)=f2RNJmslV6?0sgH zpv_zC_5K-p2IPdoe}(J+RX4?LR=K;DlHyT+UPWNta0%a_Fbz;8QM1Sp15(dZm&gN_;+P ztb&sjErs^+;`yn0*q=1$d-F-iyoE|$u&bArVOiC!)WiTK?kE!~vAaWIOC>KXxuYD6 zn`;k#Xj5M~+pXw0(TOW9bEoKGM%l zougZ4BbsR5wA1C+XZC8C-%DFp@+9`2mH!zw>L90n!5`JM^>H!eUOFFD)6TH@nf5+o z^Xrb!ai(U12R*-wEr+_>sPx0=QuB1%qMkPbhfF!6uaw4V3Uv=OJ5j}|FgC#P=E=Am zIT${g+&-vr=B`;_6Vv?RZQe4bE+-J{@HWRLR(G@DPhLFb7;!=N@Nd5f>X$pFWzY1J zG1PJtqosz;HL_HI8DoB;r#6wW`(;=DvoR^$sEv}!BRS!3IBk|its#t6{vwvr zG){Wz62|Q6^QyxZdSa(FCBtLDwmd>`&DIy;il59^wdMA?G6I zf}QX$NdW1O0J^t;CFGNBx8NuK;={HSC0>`mv}&s;e~r#H;7Zo~;9c%;evE$!>&uk8&$Gi)bS1cSkZ>a zH*a@G-O~hqd-HJHV799tj#P#bDQI>Bg|h=J0Nzj#5P!MhV+4|h)dh%|Ex5fk$Zy^X z#p1<1*)n=pKeM^lw0ejI0xfm(ST7L64DgT;f2KsP=%>W^Z-n6sG8ziTG-5MG$xCVA z<6$ZzUw6PKh@_}=L%e?61}7|kpsVT*kdyn1>X4C(t%7j8WicFflhmCDHPg0>5W~A9I6MlTf zN#OC_>#|a}NF8{;g9IJ%70BjY7c#)<_$PRH*~Z#|Hfk(CIKU-@pY48n#huk5@ZL&l z#Y!AZ#tKiV;K3zlydYAKe}X@dC8}P~(1DmrKGL!wjEM$vc?~}eO4+rLT&nvlX{XD> z4{^JG^HHDs5da6~yF7qyUWJP*0z$AEWm~FFi>G$5^P#{8ps{FhwgyD)E>^vwpRZlX zTI}VnzT#7{n6$XBD`Dbk-Vy$PB*a0_zCkCz_fshr1H+LpXeC(}00tTjD1XFo)6VwH zabn^*j8MB!IP-e1$LCYKE_3Q<5WA?r0np{fj5vJ)d5q+&AGEFm9saC72~CRF3xt8b zfGWw)3l4Xm06x$6p129707lw>oX7wDI7@;jRYuq9O6i*yqr4rC|EO4y-}gHaCD;Y? z?$$QvuK`oZ7Dsy<9UwyS*&8Z0Wryz-AMIRPQ&b_M3<<-XzY9dJ@4mtwN8$Rqj(NB) zvhZXKh8By(=)YjHuY`O%z~l6B|B|~QF}|>W^hnr^$bOk~G87bZMc>Y4LQy%)8bjy( zTNcZ^*tpv$Al{eo+2DMVs(6nupjE=-yPQV#SUiodD!<#GvOUVEJo9lqL=pB^WIEP1KYNC-psRcbUgB z+%VbjThNm%@@eZoL|g(<;z7V{L|+vppo6D({g{Ug5tmZwO|KR@hI4ifV0H&Jyh7Vqn%vtNLK@L^zA zl0yV>9~G131-0@i?gm|Cd(mOZY^Mw;jsN>6&jg<`(Yr=)^G%yt>;X3vO7KW90fI;o+&?#!f+w)sowNxB&{y&P3FR5v1FFS8 zW(}k%Sp>-uh<};TfSry2*`0b(9-!WW0;H3A#I4_Su4h7Sl#4(`#h=hIZvr@NJq<9C zN{|}&&x8A4wiLv@fv7WAxYAx~lsjR2p!^j6-gZLrw)X~*oK-^+KD`@|HFMa_Xo(6a zf--E{zP=c;6Sqt^)NI)S&u4^gl9S;ZX5SNxJ#1WWNafim-^IvNVW0-9^_GF6CI zQw}kMK#D|hpKuTGz%Vg%?ia;k7MLLWW~}!N5MvPB-DcR3A%4Q}|;SJf#;U^Sw<5>0lO%xv*E1jw}=5z83nT9AfjIuW-ETI*)LkO9_{ z=wCrB_KD=Tg044Qb)iZHS}N>LGq8Yob_%G}WeyHagq0ql8()k1Q;@nVP(aQYu*J^3 z8aEHwi)4;`({xR*!SCyZ=Ej}Nx^JioTr>c&w4l#?vcyOj4;c4Vf4Wz*wc8=$LxrfU zRHP1*;I(g1S}!pc(yLYMc0XV=(mF+!^!^?%(A`lrR zLw@}$L@I>Hu^m9Tbx)YRm=zMwB~`p+4{as)!sqv`@(TT`psOZ=Mo0QVYD_>g*3xxr z&gfLqqzgoT=)}hXOh2m=tZeb2-~PM(ZPX%FjyB+u*y=q%411GbGe1@RQvI7;46tzf zQc<*=70h;ZisTKQ6c>M+Rr@s<5ThU6;g_>ba%%!MVW}TDNsYo6E5MhB+?9a*-l8kY z9N5aF6g(BWCCd{_LnRO-i+Ds9qZUm>YH87NFG2T{O+l+0D-g(`E*J3d-Zno++!+Fb zvfYO&CF;zFdalPAfk3g3$}rTx-Swi*O`s#kn_@w-M8SKTLhv=~a)bi7U5;*qPVWFu zckP}sG;XQqfK|n!czYirJedNCOc&%Fm@DiJ;5z}fM{{ph0qd;jKU*8HZRAdXG!Y@q z+ME&gJO$WHQjhS;eJNfNcmN&d6wb> zlegM>uK2M$rIOOacRj*U4^rnQ0IckLW1hP0e9kf;I%VAP`No-`mHTbIr-{6XS@mmNQuL7`Fs}y_kTtu7z@bOwkfrQZ|oDC4mKHm|bsta81 zefB3xZw0Ki^d#fSz*~IL@zjc`Y^2PQquG!RPwsKPqh%uKfe{Dgt_hkxm)+0woTq&( z!W%nr9dmk@-~p@+D}Ov3wdtqLTeYTt7bU0J3lzN^iW|Ty05Oc^C_VV%E=NvA`VNRw zfD5&bEXDawN7Fx)`hE+5P{6F`YNQ)}K)68Z!YldX*Hy>mpO==j+SgtHJ4mK&VHNg? zwA%_pvC$o^P5pVRM#fClHwR3tv|4EEJBR9SMFm6Q9yT~IpX12ra7xxjkAnEjTL30? z?e_J)e3q69MWYtK2F?dg5bGN9iGETZUCfva6wB7r6(0ujK?j}xqrKzUtv~)ECh&V$ zkYmGinB)TLYbYz3uoACD62S8(1#pZaewkkc(Dj>Xc;)tm-HEc z-$7KDLi22_QI+vHZAZyXPAydz4Bdzu^n(}x=1eYCYOI2Fk0q5MDt+>?P-*VsE#P;` zvvBU`MP4zTVtvua%!51M8|uUc!lf?2jf@pis&i`qWsC$Q2XqM!N@ylktAhUjPd%X~ z3gT28NvbCcUESqIP^`weL%|s?kQr&^kdc<#Yb8XltvT~$j(Ej75_m1}md|(FsG1Ce z$c3IAHd1UC9f%8T$;+9DsUoHyV8Kz4k>mjA!o;IdAVoOI1~PByGst_?@-|zW^e6>c zmhjW>~^H^O0g|^FR%e!u`y5@%~d@P%;YSm6ohe(4(((3>m#y$MTra z1rjMqa)Bfaw|ObM(;HwU+fR6IhB~-~x(PpOlBn}p9tDP_Z<|Nr?709e4W-nW8Z1pK z+XH8!BpVkqwKOxLuJzJpDQ7qoGttv946;jvKl5~2gpNYv^l#JYSih%;hFgQQsysIpxT6|8i~jOY`1)@QOs06T_1=el zO70P!vQAZ{dCTvt^@wdxn@zRDcM0qpsY&vWk^pP*as2<+-jzl*b#37QjUX~9AVX-Z zA_y`|87!zMBC`kz1dxyi1;H?uDN2yRLa{->f`AHy!7#`y5EKZY2BO3jR7QzRK^l-S z$rw=RxzMin+PB`Hx88a`y8Ls`BKO>V&faJ5efHtr{q2qg*?0P`5StMYn*cOdT0piq ztNqAMkC69+7VhEkVDI|qn6c-;w{;De$5%4;Q0EV2>S-7Uif5!2)PZ$m8nO`fd$FxC zHH`1Dg+gk`c#8k+5vAdPP&Lo~a2hg#VQR#9DLwB}C}+n8=a9{ljop9nXaa2aT8k-r|DpZ zv=B3*j_>{%`XcsW69oSxR~ehj0+lL|neAi<#pbrB+ON@kAn=#_s(Go7z67TALI%8+Y_5%B>NxN6BQGCZY6JO30*I0ci74jX#hd+ zwU~675T`u5&aMb&-d7zlMx)?GjJMo99^j*L-K_~<<&0=2omsPT_IU4VTWnSdYG|KM z*bQ_BD>&#PfIumh!;90j;{_IICoKwqJIP%V4*2mg$PFMs8An^dP-ADjPp>5RhmwRF z@?YJRS4;kEdhQ7(*QY7jSmfyUUdQh7CcWpfi5h%D%VSVLM}Cj_`mGH}FOE3sWts(5 zsD*sn!4lGH$B_O=DdbJ#p!1E|YZGNrecZUeDuB8M;M?F}aQAA6xU7ztGC(KL6Zd~b z@*!*r-;Z6KJ7wa!pZYW+*IK^q1*d$OQ!h^-3hOgG{Y z&}f9~5HZ?Fo)j84YLsHj2HsVrv6jk(<^rMFnyMkS@O zNTKpfXz!4Jaq{u;OQcJ2=y1pEV*gHNWGM^=%Qb}agXUaLEFWl;Y@YCdCaq`$TwxvO z1EFSISsz@ZKT61f#^{Qm2xz`M_C+NBQ!Uw8B5t;ALdtg`ofnerWjk<%owF8%ng{04 z9U~oO=#OGWIMnpqhpxGIC7|X)>fiFA+yu94Tm?_S;E56m7EIkV@RR7iy>8Oh%3cXh4GTQU>AV=>?5wO>4Y%g|?ql~*2ODR3r0Ku@>ct!! z^rO*e(~FC>*+gP}X=!QOPb=%|>v5|F4_E7P)=j!Y;OUt7X9oC$5ivg+n@Z~=1iNj=Ao z8xdK3dj_XoH_TazOqd8p>xeOJ)z#JCuvU%+9xc8Kr?mn?Y(={;=i{z&v& zOCHU99B1kQ({@9Oa6t2Z|B*dQdcBl^^SZav2; zBnG)9?yo1|ZL+i()9nRD`y}KvBa~q~B$&4GsEb>DUML1Fbk2lcQVp8P%rlT`eGtDY z)GI|C&y@oG#MYmC7+8dBO%VVOPkVcNS@Y$Q8!TUY(0RYtB!j<75YGP+Ef}2x7Jcyt z;>~^4O1#GU`ug5Lu#kM^ zXmZ&Xkg@@TO@I1i=!z}etKH^1c!eiDZ;MpbeIWh@e4~%;S8KI3HC+`I6>sXiE^D3t zS6Y^+BE&45aNt$Z;NW0gBO@+T8PcLEp=~j3%IEy@#x8!z@sVv@GkF@164^ZGKVr%8fe7KG;Re?;)*t!+IJ zWNB6R_4WDOlD%iLdm@!a<^7%3mPn>MPi$HddQhrA8xeJNbq6LVCkG4#4XCPrW@lT( zWJ$nK{n*&p^4wfXh2HraPVR*>Suna?U@M0N!{y@=IsJP3>$Vrlr4(_q9gqn>8|}HR z-iwe0*T!{&x%&kN2m6sr@XVY&+M(>PP`xN39r^6iQOHVjC|4E=Be@?H)V_}di~gUr zh=)qPjVts0r&c;dfEQ6C3e(Bd#~$&SB!hjehyT#?1*~me^_J$hh3(%s>)9>92m{eky>L zYPILV8NzP8P0j-PR8X0|mmHHUff3jyhyAAcanqwmW`yAtltheHoArsY7m9}t9hwGC zc-(H8$f5)#>O07F37f>^8HQTUrMQ!4np!*TU}d*(Wt=0!x=Q-d%D#Snb=R+754(DG z;5dHu6%vUY=&N+=(s`hQ7O%XyLX8-c4l0|O=UJ0r4mb1_gzl~hWy2jH=iipUQb3GV z0W=^Br%)(iczlzRDxmKB)ukYj^(6J3CHbi+$`cZ<>~4bolG%}|2U4BZR^(%mr(180x# zch0YKo$EW-sXvDwGR{2De%4-lt^2;$+ItB3BqxrC^8yD00|QS|;-ex4#$6r^4D8SM zu)sSE`s?6>*BFu?-z&SN?!a8VCRSlLhv&|6F6!ju_x&R%q~HCJ`5o|JWNubfOT0F6 z)?$LsA~8pJ_o&sjRCBwz)MH9vUsFv-<>TF3kAA);nW1|4+V7j-&?$0RdJU1jLd8oA zUpe&>I5LB}YEL<{6~bN1wjGJ#g8Le`!1FOM+>*+xvH!lp7*@Ue^6#tm<9onF@bh{7 zk=@@H7(ejyl90=UT|NG9O`+sI2qKTP*2guY>Nsz{D ztir^$5LPqRfFU+`isVC|kTQ&!zS~_l6Z?5<#yRYJ^RMs>rc>f!@=o%_cV!fs5jghOVx~go$E{fau9IFSnW`5u)Ui(aq z)g5HYXlFm+uKJ1{_^hP(+u-aQYb|OOmAWgR485~<=48WsX%st^A%(CQc-HI3M^(o4 zrjuCDtj)#UXP~$NCkkwoH2hiEO^mnk{Z(}-;-5)QkiQCMkV@OsN!Oj$QT7j72htAUEIrrzRgJql1( zed49*@Fn_{IHEz{Z%ov}$Zj6VVWhntk&~k=%KFiw;9c=Hi-P&?PQ;ef%m4!F zgv?h~kpKY#s~0iZLM-jyQ`FtrVXgA~>SSiS-8G$zgU@3)G#E3uu*1mvoK+dDX?3{a zjoj3yp4v1#>AYsE`nv9Ysk$WfeLtFLfHO_gjez*ZW0uyS!t$C4&Y;Kan||gZ#8HPonT3Qp~eI|aa_K8j7)SquTv0y12qpm zOqtzN=Jjh&A5=UuF%1bMQc>x7HN7jNQcUkE)F++W@wMvu&HAmzVnzKymwU=&2+_HX zCn-f`4twQ@*%jmdGuimfiMH(_i%tAu`qV{hPnsn(x;GWTwjnYN3YIX6b$8mw?7V-F z4O0a@{Vq5zQi>n;U5fOVoOiju<_vvSRTirqEvv09-?G50`J|grW2vLVuLO<8B844% zPjX8ZqEl3C+8L$XPH}LRM!HIvQ_hRm?>L{&yzo|PIb}_58`Aiq=&Sh+kLUEMX64sH zqbPq0W+aJP0>3wPo;00^CjTFNWkQ>Yoyb2~tIy+Cp#u@S$`k(gZ(a;qN(rz><`D@rIhfLWP~nQVAADzWk*#;_}jzLtM*AU1s%HhXXD-yP~7yG59`kEl}2}}o*F|3Qb%vEJC;LLZ-cn3H>AlRKb73v z(dQVa{Y^~7r;_OLrJBFB7&WiaHr`jteZF64No#FXotU!nvx-wG6@S&gm6cxeg?s8i zdrs>2$DGm{7O$SPyk_Y~T;A1eAPgL0`Ta_RSy^|!s)^8#zF^45T(Rpd({_F5b2>g% zlePL>UGdOa{O4N(vqfc!i5a~L4$~TZ@$g?m<+X|mtvhQ^Ik8g>vCn%{Rruz9smAfV zUjRfD&=_+l{To557ykmd)a*<0A=8W~i)(~w<%JNm?9GOg4(;Nbf!H%E7a{o#hCB!h zVKmh)i~?etQoXv`v;1Pxr9$Y9gP!PpUuDoHR=0^gR%|z zZE*`HjMFErW%U&#U%cgY`u54`lglc^`5cjx%A{-geC)uPXKO0b%tBg|C5R;E2?^Bc2&0kS>c4L9H zj?Fr7aIn~ODda;^sgalBr9`qlE$598;UyoY!>Bl)Gu_rcqhYusqj#>OtRrMK7uWt$ zhHNuDtN$(3Q-XM>x#rdc)(dmW)brWdRUpSOFlOa1CC-^t_&YYt+}*NYuF_AN$=So}(LGHPkJ z^r?K6b>3=H&a~+98_G+$;^V#8-I4nfV2}g6@Q%Q!Ybb$<=b^S%nc#_JG_f!Qg?u08 z?9r}Y%{{d{{LNm*?bg?~OM+fg`?SY*OkM9;rhTIJ)r0+bq!-6wlQ3`)!bH-XNKDA* z6daNmB8$rs$0|m{rNBj_OK(}D{pQoIR|~|d!Tw`86SvHR=Aaaua2ViHdSVYs+6aSa4 z`5bm}9@=S`zBS0laX^a{A62xysLNKSXSqM(Q($T~SRqHQlA#w9?Io0KPQ)XO!+HAQ z$|w0ztg+hA{(v9A7z{HhFS6uhBEGrqIzsm2j%PQOq@)FomUcTZ&3aq=8(dRq=-FdZ zhTo?#281tO5h(YTd8xTfwB;TBIoob40WwX{>m5B4u8^7zb^H@PcAXA0apT|4)%sfu zOiq{g3ex24a~sUM%sB7W8xZCu-JM_(e+%8oz7X27Cr1PDA~ibrzmGA?rbs$Yzs(EV zZWb<|`)q}pA)%xx5+r*yCEJC9Y#akop z^6ik9T|hBtV)qQK#4{~lutAG{E0j+frbHy|)PymY9^Z~c@#lTH16>b6<<=~bPSw9v zG>91prlNCh*g4`(TV=q+HgYYC=G`J8bDwvEA*ea!c! zR`z3IExPo$Dk*;?T4Hx(tMUTaa`Gj5zs_Afqv-C-jf!Je>Xh(owNZCcbx2^z!!K`{ z+|wSr|2HItAJ>YCA6LySs5@YZiV9}OCKRfhV!e-e6r1`XBaOT=V<0Knxg3~rTP2M> z;Y?MPF{N6zZ_t8o{#)t{F1AarjW)fptwqB?E=|pJgEC(QgWGvr7to6Hj0O8u%r&?@ z7r6^`;;Px|GlD5;m8uE+WGYXqG)U4cOLG@`ovQ_bb1iKW=BP@wXkg|AC?4vs>(@a-A`<_2N-K;giasZobIxTaD8ArB*GSTK{<#8lxyx!!`yi*+8>pwwYA(oa#Kr3e_9pk zH93}Ql|Dk-pd;_}V_=2dD6w_2DNQ9i6$$aa|J5c}={7!Oxul7xla|jJpHE39mHlh3 z$(oqEO3)%vAVca^A3875|Lr|JWOk4+s}HF-B(n;|i$ zN;>nb&fZNw?_KTAQGM=(uH2Fe`mqZmrk@ENybfK$Y&m0xG7Ag4oxIu=l4y5lw2`B@ z#3YAjyGPvHv%-kcH9~Gn5@zW`=hC2q;H`M7ST4mn)^g^GdtrFKb%B-{luahlBk$tb z4ZE8#xx_;wR3SQ@HuT^TpJ_n|0Qh+^F=sh?F$4A9{bgeP?WpQ|a~Cdge?kq@_|h%$ zuM`nqyLtMbQGhyuo}t)NCzY&8!eo~-h@>@AHhd?k>G5)`VxR0vnvg;)TyqY-idH#@t~Cs z@un0mE2H9iZ_-{7i0NwZ2XM8txV*DZwAb~)+%Y1}GctXvM!~mNA>&DM9J$=5=SKN@uMt;lv;(oc2+z@^WJQ@T1CsFgWRzf$n*SX>^aAX5XgG|@jEo4;L7fkB z@zZ|lyV@2aE!~g)p`&YY#`{-Epv#>VdqriLuVW^^s0yI|RJ)oCDbwK1C#Ig$fs`>- zT%f2cgt(3$Zk_cLghyWz#IZ%%n>3$D#}czDOKmV9P@{mB&u#2mxu}CuY#6f2Io!h0 zGRm%~Nt2$J(et0gxVE90Ku%tfv};bh%LVS=QY!J#NcyLF(4B}Q#dUS##$$GE4VoGC zf>)AZvuJ)B)&M%D*XJbFb7Z7YJ((D8G1WRp#Vca6AWJ$|(Cwt%uAo3aG52CJJSkUI z@Z=e3oDRZfS9&{&@3GW4`+=GH0si_eoft00=)na>|VQksE!Gb8}8Pyd2C}ne&t<7c2nwdKT7AgvgTUJ)Rb7#rMCo%EG;W08YkUES0V4F zKuZGf!y-EKmUoi=Sd%`po8B3O>a|f9B)s1`nB-K}ojq_iS2*D8>X8x9;o^Ef+tkOa zYWI$w=iw#7<>F&;quu5;b-OYzxS)YgKi8;IFq)G6_6_G>Coep?bGAJSGD zN^uXry@f93cl&1(O;%PCCfo{H=wzjc=~wq0EXZ+RE&HSmv9O4paEWQ3uJEx>ip#j@b{_N5EFOsWr}`Kh%^r#N${-1fehj-0TPXWd zO0;n#`HAZK>%_ZxAVwbz5FfoVo|Ok2`EN`w>X^SsjWWbhQ;VKfqw&t& zxhAdcH=}@(?T#yN?)^J!%A~{UwCo&zk|jx~nfjlsQtR3~%aHXJyOPJ51$2BX13vdp zMFjpS92mYY=l#H`waNib~(aUA4w=#v8!1NP=_|>ZIXS|S{I#Dk& zT5XGhzKhWRx`|mel?|p?eRaFQ5yTae!wU6K;uVZnpwv1*7()V_73u zE;?tSuZY1_!`2_2&oG+U&{qj~rclux3@{x@vYG16HGaLl$m{0`jX_-=XD+wuwb8L3 zp2$5%>x^L(>sLzu%O$ahcJ_MK*uP!c&&stzlsOAL|4mB zaLZfG2ws~N=@rZD8x`3Wa~S=Q>3Ta_xNICK_buE!qY|yMF+NZ%n&lSRb;=0pwQgrn z&2MZLGk{jmOtaPc=@z26DEFVh$VA>{&E(iN+TS!Tvk%d{oLQhBA|)srNJ5)R3&)c` z9uB3M(b<0DwpLJly=pZR(a-1kw^coC_|WdU{#W$Cy1J9q%Gxm1d4Z)1c zzU!F;+Ja2+*NdOnm%0ue?{g3Hty1F%oQcq}lvIoVwGXBnRsItU@pknk!p2K1bbsP! z&Ih$c$fkyQ56^k5$|}%xV91?OHDhk?H6NX&_n5jjwumzKLKGIdyN|Ikb4xsSsmtE9 z*L6%U?_z;efZmDNoYE*T()RMZp?o~=b`Yp)3fq^3U0QzmT)J+K!XL+>C;5(lt5RBd z2PyB5&rOrDd3Bm@cV~%JC|QX)asLklHkA0R*XE|mup3<-VF=1Z;qs)~ExSxPnv4QV zedMGz#wx#lSx=sUKk#Pr)$7Lld!0w-tNM?5y>^CwHjiLe0!vt$w8p`4)AICC0wJ|; zQ%zhY40);6RgI9m(GNvG)I&oOAA9uYMt&O=lel)doqp{x&}< zDCdW|%MeY`8$EiyH!3O;pdYc&%l5Tf3TPkxg+E@Ps+1ND0?o3RA(m6A7!T@R+*gDM zru5SIGn?qa{urF&+;{J`Vi{w(MiH$ww3d0PrB&`Ta`1R#=#Z{KjLfA(k)GztWiewc z3?kas@8W~S(4W_!tLSB$Jies3#ky{ZMpvh*S5NIYNNrMS;PM$!S0Y3n2}wLf)2nVy zG8fi&i;cONV|9*vtEBbfrEosz&2g)&jrSYNHLKGozaJOdSzE=KclH>zcifX-L0*&P z72~YCuBM6Sef4~yy$taU890#4A}KG6(Lt1f`o>tTl`{TWK=Zhakdg_Mz$lVmI@IFl zQ~@BBnIYXo)D_cA{64SWx0DNAw(blDcGT_U<@LH>`) ziOJp}10h7cxM{;jtzhz>?`;Bx2SMf^yNcYr;q$$Psaf(`jW2H5$ELmFV76x_za8#F zhy2aIq~q(>wnIYD(|Y)M0JFaToUFdi2TRdBT3IuEBHf0Oiv{PfCk^XA^5F$@-gB+Wi>~Y3BsLrk z>m`^tS4$~XLFe^ONzPJXPu#A=p>6v5{v>!iuSo_Wu+V`|`6~ZIe{qc&Pg! z+jbdK(3#AqUQfWY;~5o%&)t=_;!n~N!{?^FVY8Dz^u+CudCIZXotqPK(rcrY*G|?t zb7_~IpH}-IZP%jI8qvbA5RE$U{oY9Lh7|;Bo_8;_HsF=2Mn8W8S*4}Q;aTLpZ;zSY zT6F3ysc4*h`{q<mZf z^t{JUM2&yrT%A)ZPIhsff-F&4%wkCW&H#*lhrKlk;KwtH;b4A9dnkD+b_F?NsHj|{ z#8aLl`deb8k`&HDQP8Bw1<ky+y$e|ukue%0zh(?Z!r;!dBdajU&e7+k*k#n9p#rWo(7u3^oqo0*{-YKWuk!EX?5^7F5cApwe3Uo1V(wueNn<)mYX-BXWSV@K08X#j5E z-A^o!rNT^aet(@snCqAGp^nb-sT+bjE0Ii+OmM zEJfvTD|?Wj@jG)-J$t%j^OLgypj;>)AfEC+6$0!2S%URiEmZTmK$pObetrYTOHJ^N z<0JvU=W~#dTPd_n>1>n*68BqR`wVp724`lCZhZpoJAz$u)4AKlid1B@tuiv1GxEu` zX55IZO)J4{83&XW+n5tzCmMEerJ=-RFB3u zj*7BUHQ(}fVIMLtUoRHGNFTvP)MIa+6cv9h1 z_on(v+kK5UE^ak9_@tmAd8BjvX(Kb62cE27br!qmcqc06#*byzHjxYjV`j7sLN8rM zaQ-v5|15cq#)v)J`i*kyu}#7sk-Jo&VQpvsfaXJNS?* zymPxwGA4K_OJ8{M(n5x?)LOXZO4xQ@dk*t%8S10U;D_XppL*h^0xS*nDbw=T{MY1o ze6uL8O9_O}WgCuwyGVax()8z@6auiwrh2sSr#Hke3&&H*oSVJ4Q4^fMaITPah@oqR zVbwO5p{cT^Kw@4|6R1j7ck;A+Ysq!)mR7;tj5&xX7Y2;c|G%CEu>3kuVJHG801o;1 zsr~^E;4OcW4dt~HhSd~rNp*m6Xhv4LAxZHPJ3f!()7?s;=VUg}(AgBIsAFAZU58V^ zsm}ww+{%W0uJgBXpE(XVC2Np(L|jg#+1Czqv|%!-Rcfh9AnT;fDYx)d)p`T(DFK=Y zz~|o5a~%bV>Lz|xJ@pkjX=H2#@<&+bh7H&0F7leN*yrXx*lX=OFV*8BVM|Je+jyG_ zwaN57oYLX5viBiOX=;*?O5E?@@4(@v>h;-cwG8JyMK0AoB4u#=BU*OKW2KuQ)AG4< zPjg$hUL>Zxh!`uP+htFF{!ZioL2A%p?nz*Gz3--O3TWG`<%V@`*SJ>69Q`wsaQCGi zlbzrm|M9HJgULzOG3I;tJXGj?`Q^`)%p)z)r3`5XSqg7u&sLGYg<)-S`hi|(9HnxC zd=`lrnBQKFy~jITv@_?c`cFU65$rm29O8>~UO9%4xfXGcJQ?HXy}}-?`twcNav(`# z$(0Xmq45gi3oSHY?5m!yegJ!_iZ}1|T}>k|1KGC?hNj-H1B(3_py68PY->7;xeKXv zD(uK6PZ()Bk1t(_w zavQHdV7^>74T2?7nRfN(^2!Z{bh&s@bK>yqlsWIAB5iyIN>!6+A-mG&j(SYrU=57T zE`9T^K~vnQZQio~M zlBaH$Vh9`W=o@wM?TegL?9Rh#V}Sgmg0g<5Ut9|-fDRNqJ^BVQ=J=$sr+u@;zQ>8z z6q+qk7Bm>#J2+)!7V)W{e>7!!f%7iATljokB;b8amQ6aI#RZAko@eJIbr1ElBypPE zOy}l?1|4o!iTS1M^S7yMt0qap<*}52VEP9oPyr)^j97s=$6s2 z-|UiPuH{?Da#xp^cKTC3+3h0m#L#1YAPOP@d-M!644-k$17t`6Fy6rTT zk=jUP)puK$=iwlD_qscOh>skkKQt8B7!`kChOEu1BZ$P%a%h0fCaerJ+oyQP#xdXM z*amUum@F$|ULSg5`ka#$Uyr;2T483UY}%z?ryIn;;v<;Q;-Yt!`?AqJ-k3ca%w}LR|vhX>C}frMux<@;y2R zoIP&k3*w1L=>c$tqkQ*;-)H1u&7&h2D$;98fQs7Ge@fLndgsdYNrPwP?KZ*k?I1_s ziH$msk6_7&9K3SdJJtNJOE@0Vup4RjIJ)dVJ0}b}XE<0dNqa#Oak|F>|LxlA3Ku^T zu9dwea#;1vEBqx~MVT1z5&yLI!b{p)}kw7lG~gEe7^8_G_us0-@( z1(ko>Ut3RsO%mSgT_tZ+jh6mQPIs`Umpc!8-#w^6+vBsUFiYqBJMNX6h!kbrnp2T z!*LE;TP1_$D;Dl4p>fVmJUXLNJkanzL-c!(zB^y`{4fw|{$+4s#V1?d;-IpXxtq%T zCK7}$bL_+HG70w(r;26QfoLjFlO@}Q4j}4#&X0Y2ZcbbfK8WuFC$@pj)CX6jq}B82 zwiZuzH|9%4cJl7T8`Z_=lG$^XnvK>EyJzH$dy|IM+|of`!nD3;fy!P!bg`YHKbLH^ z)hg?Cz0Rxa!9u#S?%n)6Cd(eITuw5``C9{ngG&AGChqFhu!PgO$C8`mt}az63H5qy zOpoANCP&Ffup@3z!9r2r!3hfztqT-dL(gW4WBs+D`2306iNy!}nj}!2tnh-m}^WAPUn>uUm}a%lL48B$AbIRj?q`T4^HIcJJ%WqYgsr= zC4S3$v3RgJEE2P0T3!#ADc|5pULLaFcm3%oCqXC)PSx0==q{GWZXRsApjB*v&XP|R zsc93i1|#Bh`m=}y&C10eQp{H^fpnAi;6DX%nh}}XbnHf{aeM+79}5lQ8zCLr>?~R? z@VbMt2-f2WN1dp-sGDbJY)?}VS=A@mhvGNy@sKb0-oFr_Y48KbXrj{bJO|ETZ4Ixu z3FTdN@QuXeq74YY*uJ6rrgIc^z$aLt>o3=_qf6vrT@RMzuY;*e+Gflg>;KP?sXxbl7jIsQ0SPYQ@j8 zNJ6`OH?tf2Zv=$;(j6pP<~e+bd{wZK>Ezai6u%atGfmlwKt zlT!eq_e2FTT!N%KF(6RY>)VF%5elv35&98mTIrxAmp5H5H<2}s+8KS-mKY(ej~W=D9R|9 zS_nAfohQ1snAPvUV_UT^wAK{xgDQEGsK*r*t7v6_9fh+?Z<Nw>-*ol&nt&fubjVd zxa7-}UxV{9qmwFGcgj7y+I-lZ8WeSa-d5{pMwxD4DF*eYvdYsq`#&LMc)HSOV(pYr z=|9~y;X1|7Mkr_FR>7k;(I!A=lxZT@Jbgb&F{t-ME`h$!h+roMbp)^47i3mZ1KU2J zZ{XUpEaZ3}xX=vy?#l=cQU|YNiJqlvB3HLh{MawoI`~&08)f-qNBBF6r=(+fF<*ku zc9Dn6Yz5k{oCLCO1yMn+l`wsL-}hi|RZyQq@2lDNycDe6yk78-0KE$QEa>V`!r5{abhXy%P ze`@*&jz;a(>Zzx0f4UV_M8Q&~#}12wk}P^Zn?L2|!P)05G(MhNtEG(5ike(mO)0s+ zBNOVUa7^YyfT*l`LOOLRcA1Mtb1o7ai5T9Sf+N&on-)Bg3X!u4K{Ot8;7M+!G2RSa z%S#cD{wW*iSvG>Umi<1TIN3%{kg&xLS;0`8S0kXV8zS$-+w3_%Tr-_}wMYXdOH}^Y z2H2U|`N*!pjDCeRr+{A?6N5VhWdwz2Tq6_v1{$TsovKrT$H(EA~e> zYj6Ocn?64;f9uyzsG1xRAEDL+LDi_~vw!HgdV``!e#_p`w!TBwd)_}~q^Yp{^Ci1Z zD+FwKB6bsCJR4>R-&3)$g`8x!rfTJlLPAZRK99@%KG(UhBk%L{Z_=*cUv~B^uRzX4 zlE-|9uWHea;g(~-M;5=|QGs)-fy)R6@y64hnb3v6{ zT^`GOh~9RlX|3OOc3D<5-&ZwXEL4ps$QuCqVE#06C)Br>*;ffL5Hz9OCVSZ^Kb@9+ zot~EU9{W9uVfYF=T9xXYecxHXiP1T2wPXsOy_VxqGnvI?12aHqA>{SC-X5VY(dWi` znJ@Ham>A}}T|m`VUFPWW{ZL%eTTydLF9Mtew7r(OR%+WnLH*{hN)fU=dd7~xE%50d zKh_DW3v9LpyNqyeM!-5d9Ym?6UMZS&k5gW=FMmi*hP!-;nDns*;rE#<8%vzs!ouO9 zO{NHDah{+aI2X(Ol*}ce@nnky^k-*A#~uWbNQZ$VvN56fymPs#f7`u2MbM)F38Eb) zXd#9KXG&ZE zP~g}wpC|g945*FoTG;vf+5Nj8Q5NyPc>etV?=$^%>VJQq>F-Av|N9R6|EHY2wq4#< zr=p@#Tvn#)>|9%1T&#TK{Q6-bs$$aR487$I*pNU!JbGxo1a*K!9U)Pnp`nV(%F3Nn zoJ1Oy#-*h#S@uc#;pB_|norvGT#3Zt0(FgbGj~DRw|~yv(C8DaprZqOeO2fSeLkjd zd++a+C%6&SL6>Bl>|9&E;{z+f#rIh)OsvNV1i-%>_}u@F#`gjBIp>-!zN?xy+k)Bd z0k_4LO#|l3f&X||^jd=OI04U#pqD}!@?Fnq7YltwWTzDz!)HkT-k-_d81Ry_+!89@ zh)EK&a*UYfMQ=ib4UPMpGos6BDi#hAv()sQn4*?8#WM;4{}J6zbzPX^mTciz(#l&y zi*^i*QmDUs%oxK8A66emh(unJDR72}%ih`f{&yD(qlvyg8JJMcyl5uinB&tv;zoep zrw2)Y_JlsnE~VvBjjWYY|KEd;pkb|5xJs|!|F4Pd((@nir#|P16=r@lMxV+7_}}86 zBF=G-$3jT|3|$^zU>t;AR`XCz3@#S(zWa}_f;2UC1&Dt&v8%ZHyYqzMCc29o*`>tS zk@oZb!+))!D6MV$7^mg;?-xWqLx*RzDc&sp9T4N-#edr$F1sb(fE@hymYT$b6+(q2 z-G7&8I9fACzT)G*E^|x&fAyu6|5O~KX$Si7-rXnn?sl{;Jg01f!y_sGos{)R&h1Fq z6fX0LVwJw$Uh~72J6O2GxstIQ`W<(P4QKV8{`w@dRz_4bV0Y)elmA4Cn&r#eDBy^ph@VPQ&AQc@ph|Ft-J zgz`3i8@zl>j$c+m!5Yr7Rx>82q^+%eSL{EYl-IqJO(BVm|8h7Gk0dT5qx{|L%s+n& zcHwQpE2ngHbXzb;efZn0x%%=*-nHj=FL^5Nh~xgXr33Aat~y(I8TW!4q869v|`W zF$Cv;Bb?^#yC;0S4t`>%2~uT_{m`h+|GD2Oe1jN*zIqJcmGe>Fq;%ptr{&3SBE5~0^43vk8h?CjEM>+}K}`(@ z9x>ZTrF@x@I69?&*P73>2c~LloJS**G`zxjczF1N>9bdPX%1O1P2?- zpYew&Z%1ZlQ&`VbiCRvTP59lx?r1GXy-_ zyM173y~w`4=oYqsrt*TA0RFTo(!zQfA0Mw-YY{Jm+^G(}OJc)iHJyn^!nM(`965HM zHZ}9tuV1r{p67cLfRYw6rMxvXl7+4>3`IpnIr)DRr>$RZmrosblaV>iYnH^sJT^8q z-pq*-vN#|*1@nbD4heefRCeDhfB0xf2x;}H;jPDs*A&5WC?_0W)zk@-ePey<(D-o>9^zqZOxOib{3T~r($9o2x<8_W>a z11k`d+tKj>X4i>#xys^O#8B4o#g_&6oZ`nE=1X2)-phkdg7}n_IdYUYVl{EL$+={0 zAUQ|BGtm6z8s%|3$W7u;a$2fh`C+*`YF*e0Qux-eYvUK8yw%b7lCmbL{g(4|pR?+W zqT*tyn3{in-e%IOlVLZ7?gZ;+lgw4+z9;A48HvbeY>Fqb)NkCkZgCr?$*xdXswS}9!CTfd@#9Zte9ip6_(Z);W=g{%!_ zz-^=zJED`5ivY^fl!rt{=1-e(+n>#ta=W1>)byN3C5Cm>ElP}zU?1a>{e3J(x(N&s3Jmf0O!LfH=mHuTGcQjmdRq3 z5yi4J>RdsQx!@_%!tB@mR zezr5iw_7u2v8_@wS!X@R;d|}Hq}QsAzUuYEPhw($V&TuTz(h7dFe-zXm>U<5=nNuY z5EgDbJ4GW#`us&U#>M29NGWmi#EHNoR_ zD-XDa)c5L;@9-BPr*U80Gp5q&NqTm6CFul41rw8e^i94uK6$yhX44h=-`R{q<#<=0 z0AR11se5sg3U`HjH*I8xQSl1vJ$S}A3;?H?l-~t#t~@a@aqaFb7Xc(#Ya$UsqMJF=^IFfQ3~B4?Nq0mE5|6Wj37o9{n^EXlhY! zEN%VV;~tS9eDkG_05m3{C*_SiqkDMoji8_onqtO_lsG-lcD}VaHa0c_hEd(!2BC{~ zaAjrX;2CP#Fluuth^)*T1tKcs1v}ux;Ps4}L}r~A(RPN5?S4}7@>75|;^O0<`bA?( zOG{fGkZm4tSz22+kkkE`5dlKM<6SWQ5BD=W|M=fFt56g1H za{c}NO}Z5o6|;$S-QGtDo~aL4m4ZdJM4s(lo{Y(#ZsbI5<;Kd5?$*Q001)}3bk)jr zOW{{*-0$~~50*M-0pcw9Ag%F8`IKE@&T7-vlZilNpgG-RDS+q;baidb;&f}m0|av% zpyoN-Hl6hhU!N2*MiSxRdK0nPo@h#vfj@8P=+5Hwd!K0tB35GYd=jYFQKrVm z=7^(JG+sL$_0n#qd+sTSiHTJkP6OQBgX{}|kYe1>wzscz*_$syb6!@^tI=ln8`#qCJ+u-C}_awZzBoHbYA72yfWD1q!o$Mvm9{=MOLzdMv%d&R}{ zEhnSW9vfLfUs@+)syn9v`JbM*-RKk*6~`BR5kZ?jeUx?UnkSSl$48t!>uFmE^4}ytlg|NKU~vTx}!l z637uJ@EL=UkWlt+_VLbqWA)GNOM-YCkjXh@s10%ba)@5FNd$AtiJ~A#GJPVJK`3;R zseV2iu<6}2#|Jzh&+~y8YI5OUUK0Rps|j%_y*^58lRG-UDKGexrN=sQq#i#mthp=ZX zx-V5B8D2*rt>-QKn*ic0*n%&2s)w9Vr&HX>mZC!dK*tz2ny64~ucSLVF`<_;hb1T@`%E8u;P$3s{zk>~qU0E6b{p=jYyyck8y zE~Zs)gSWjz^OAE(tX#K+V)Rv0V4|K+kDE+iARa7*qe4SR0oE6giv$+__#p!%9A4Sr z(9l$r&q)r}QWqe4=U(bWvy+Vx^jIL{*x1=m=N*S8gubCwhwFlS!7Gmq@~NOI5YjL( z5?)6HP{=wSn|a^)oQq>(Vw5#CivgHyo=)ijZu$NDchg?eHi&%|P6W|zi|09(;5z~U z2Y<;mf}}vV#bXo9x^G}$yq~4*$JNypmNV1$*u=yFfJEJR*NQ%15w|)Xu#6WfqlB~zaD#kjHTV;?mF3ueHEKz5GpoC$Y~KyqfnV?K&0^LTcm`V5k|Cbpx=2E zV$f$O`Su;$+a}&+VcXxm`-G6G)#t39yS00m7=V7do1C`~fMxxs!41ya2?G#!fL^SQ zYcf21d>^ExAJo>?HrOv?wIcWUSJv0>U;y<90+8$wY%gY~8FNM6GgDPiV zIYnyphDs(ws73Ak&*ZSHsjXc)*&JhIo)COL5}H+7TH1&EQeR)+Xx=T@ z%+j)RNcbik?t_f5CgHSr($U%ZH2t`n%=fjRU|PIdnRW=8kW7yBZEd3f2`>Zw>1y>x zVgyIH16EZB^~R`mcu2@k;0=Cfi5`eb^b++v|C}$A{N;BT(Q@sSt`c9TthjiP%=30F+m--85{EPkP$=}dpa%!I zzQW))4%f^=jX5EZ6>|*aOJHs&wQ(ccu>brOEo;2t()5@hT%4&Lh zc^!a>g1f)CrUnIJ1E(A!)-#sDt#@CaX=AJQR4d~VKogQPG2ykgw(8XB9W{flK~y}0+6OJIlwA^D2P%_+q+7nezUU&{3JGEX z+u!fb=kPrVNy!lHJK`oLH1bIttgH_+e6JhBO}m00Q6>d%0>z0D+>$Mq%0o^WI8R!p z0|^AUUwQN^gb;0CzniUwmX;wvl!KF#72~6sO2eRVzs~k{41iqdc)JyhCtz-Feh(K{ zc^ZH39H?{r0FTEYQ0``Zd!H;y&BP>Yo_JaIiRw?G6!|ciRq+qzY+E`81`!*ZvH?98 z7cPK0=#*LpRb4j_dVSEtv$HNxqVYfNLxT5bOtG=C(foy@rpn35SqTc{g*u?>=)DO* ziN~nxgIJY|AOW?RRR>OR#KZEo>!uGxKA>Y^HQx|To8OyuAyHUXwq_hyQBlzjy#1qs z>BWl|>XinVsz20!)&ULk2iz0mc~z=aZ)E%`Q6cRThHqdQ$RpqWiN4UYobJe zC5h8=@*j}3I4wBMEiH%eo9o1Qb~ZL6)f7k=kat2iSB@Lo+tt@3DjbAe|8s6CGYgA9K%%^pkhnKjXV{IO9)15|6lq!AM<=J6 zaQm-e$;rfMy|hrbvSO6CZ-}})Rd4a&9BTM!+#5rEaCBs_3Y4hH^G)0EhzNIM_nCS= zK0dc}lKlL9hX|6#9Gsko0Qe8L63*DRnL&@E`3Ozx=4P`U0T0|?MT2)7MB;M=SwX9$ zpaQzJWueOtMDYyMlFpac_rAQo*1_c?i0tYTTMOh@mynYSOiWDdV`F;g-3>$v#Mw(m z1~(nxiX7ZpTpT-rQR53(cZ@$zcgm`;)Ya8rzj<>{Qc@BljyuL3Bq0q=zBIS5c|>wS zx<|3J_wxr29x!Uv;euem!l0s|`SAMT0ZkW3{pS0FpdN}Jz2yd2;{ad?Yk7d44+0b9 zKASb@j>Ynpm)IMdnFZHcPW8#;uaaw^uznFr8FO#~#Eb%Ru>vXNycIY4oi6mbu#W(c zjUhLveP0P_X~Vgp4B?>;seHM#(Ba`v;UwJn;74jIEj4xELA++274gpQF2A6-h{&C{ zZ{P0B0(fljLGgVM5pnOfYr*sK@@ldQb9yrhGSO76P#%vlu>VHmp zDeZaE%ie5cWOVQ$I336y=I$6OFHwW%ja~>g&@Nxx*qF|7!NSBmyiCYueQ|$lYb%Mv z{4vny7{MYtpylq?#fO0g7y#T|iqE^dy8a}arbkTL zVnS6>U9F_a{b4qu`NxlN)5XQflAN5J8qemUBD!bH+QDFgcOE{dGBGjfYp8b=kp*!S z|9I?fW}J_xtSnw6nJ~1k+H^>j{`ZfNko%yO)UTS%qSyLEIi;zizyATh%TD{xuh^B& z+p6;|o{9CsLPF^}j`I!npamdiW@eUnPMY~B%M;e6Y{0`otS1*A)}s$ z03n0iqn{EHQG$Z4>4IzM__YZGgVW|X%etKiXAo4W=bch;ldVVcZ zv#=0=?i9r{Ce2*7mS@bPUE%4uxbfYfppO3jy{`{+XVf%(>!J16{^|6LobwB}}k_<#?h5Y+-}(6lg6cD|>2O!p&}1dGjTn)Sc5_vX=Du5bA0$B-$7 zMsq|_lu*b#l$11@$~>hcB(qEzA{iQ`qEu33NM#O5rj#N><}o2t#*F8B?ET&6pWk0+ zt+Uoy>$KNieZSfGyzl!w&wXF_bzS%U#tRh$1qJ1~E&>3#4xj4&qUU9J={0}cn>RY~ z6H}X-^X=^IQ=Ni1tgWq$vw_~@2m7~QX?_0soqFt{LjWFCKV{C=iN;?ICy`fW&XYr% zmpd>pkml5~6rnY1);OK5-XrgpKhrM~7%PR%{VX|oudy-jN^Y4#r;PxKFCBXh{Azro z`TU3<4sv%-PY053+2_ydhYqd8*5qSl(B62zX>CtWPoATmU9aJ{+S;`q!5W_IPPe4= zIQv4P1$7c>L*#O4Q}QoujjWq+N9{5?H&!+EEM;cK<5rOB&%Qo>35iwLu3ZE8Rx>x> zcqm3TaC+L!_`#N~TZ=-)@`Lf0xnZBh8%bJ4Yjb&aJ6dL@+d2t-N<1RG$Hr!Bit*bk z_wRE9R6Wkg;iUFc?vvFH6Fm5$0J*2*R{Vpr2t#(wS??+Utz(}47-ZJz55E}|CBV;5 zg-WrkqT-S=pE5|qh`g=yb8~KejuG6uFM;77t3HvCknk#P7bP!Jc(1S~=9PEE*(FagW1EhGJfyH%%YM%~FOXr^(s+h_KQ1wU?)OK# zkf20NxQKgXyQyVwquTS_*0t4iRDB_7PPw=C-)rJ|vRBem?ZSmu75&#s8XGw;^nU&T z2JQTCtHON+&vm)3!#~{fxOY3!f_$6?R&n!S!H4JdHt?`;S+Rxek@23B!6GJkPw}!p z(}-Bxm)}-h{V09m*_FM1a;`(BsO;s#?zTR9{yb#&g&*ypQ0e#<7Gq;#K1munzJESG zF|kEHkc9W(?HoJl!t3hlRP5UkzP8)g*w6)(@qG2fkq7|IB;FE&^#J0w=q|hF7}56D zQ<^XV(SwMZ4vvmRU*go$u?Est5nf*mfBXrTK2Q%j*b!_ZiKp2 zcHtal<>tOGD+`Wtevy_I*}Lf*2OyIb-AZNdryIoqx1C1z1U`QBNVr9IDLNQQoMz?* zW6x6TRgenSbt6rw+NHa9Ie|V(SJxdpc<|=g_TY$!UJhxbhnFscCu!;FMGjVFd(Y1( ziaTf|)N0?#^m8h?F?6UpK$X8rW8+n${MAO96*Q*f# z`G7|!CnpgOPqp1@^P1whz1^syQDB~#i;GLAG2Fgj{~`M|&@pbP1>&AQ4Z3uR+BoCE^WzDV(~8&+440;-cHmjeb7UqT zpruyH+{qH`7dD=Iv-i5#s*toZHJf!aUcGuB&Lem8z=Ov18rCU@AUgZsR(JYTCw(*G zPhQK%b7>=PJ?JJSeXzc|xkZU#=IvhdoiTY=!WnKvkMqr@;P1yN{*2);FU`_fXgi1}|0J>cx@>?5tR zNn^SEDu1rN@_X_x--4+`RC)CqO3bWtr|p?Dx*tRQ{KlEGqC=? zwsx_IrspQsPS;UTW}_LOV&wFOUV^mgiYe9Nn&o@;>{)wAoQt%`^>i6Ixv`RoYXbX@ zoH!8z?2vx$rovJTVz5FCTB(!!cxrv(!SDOVl@Lz4ZXr2YgNK$Rx>8b7>PL}4^Re<96PqrwO}VgT$fg}q@?6%XQ)`kld|sX2ump5`2jf%GHl<0wtV#M zO}98`9pf@pZ*N5;fGanI4!dxu-;9n9L5bOpqT1F#U;oZk))Z{cx)&$jS3om$1BhH3 zM1?Ie2MJW(q7@h)1WJ|M_8mJS^#~Vn*fZ!OYS@wP8;2#{E@Mor_$e7lE^cvQN-28H zSFmdvu6)2u*SB`R!}${*mE+@{c9*MOG+;-Tb>5d>ME}S=jP3u zfj87uRH%SiH{4hBx*LO>5<u6+0~3vh$R zfdfU*M)~!ob=YwJr@>8+KoSyPzlgnV-kRsGpMP<8>O5ex%=u1Q5}laSN=ixyJ#Z^O zb|)eb)GwNoCr_f*I7;bM%m%~&$wyFvfcjNmPyndEzJB@QTU~wZzLHODR0=z*r*__C z<5|a4Nv|2FJ?iS6Na~d04jI(QZLR6mUZ;XfcXRSc-e0RU8R(9%&&vGBYwNE}Fc~$awVhDIGNS zET_IzpJNq7E~KWuoxEE#`rZms#&ng>f zpm$sb8$T>R>M{OxUk57SuG!F#kPi1~1p+P@7auZ`k zklkK&_4Hw8#`i%hZiwGsN`op+B@cHvPzr%OXNwEtPCGwO%@ai#QeG(T`v;gH*DE|f zUlABwljG>Y?PS>i$zdh=E)}BxSRSMW{n@i;=Rj-Q8k{)6Au1}G)1tT+)Tu>N#yS0L z$4$$RVln%VRqhZKW!~UD9cO56q;ndhrn~#@Dg_f>vdlPuxmPo#rKL-8 zhWrsvH($~>G;Hq6#l2l)6gn30>XoGT+~~d+2ASas>;04qH77(^mUBo+g8$p>mX+S`5Y^Z%%qd{iYEwAE|M=v!S~C(b#gxN2m6s%`kS z@%r`aFU}5T?m)fyJs~+c3<@CSW0aV6NgP6j)b6O#)raND3EQmiG4?}ir?fQ7-CrW$ z#`Los;;KslGA$7JTYevKgMP;cV26O7v2FYILvicx1b~;vSB-svZK~_9ZVLO}@%34K&(Eh(YH&i)acN3#p%mFHgSL*)F=rQ?qff;IA1({S{Q#}1czg1w2z!xas+WS zBhJ)3-QpFSlCoVl)i_LPac(uV(&2G^8X6kg*1YKTDb*Y}W7Aj%xliGpeSIM&KJ#yC zzAUHg*tP2el0yKTR5V~_Z9O$LKhhkon&taaUtbC^bsi|x?y@1OA_ChBNe1|0`r$)a z8N-H)BUI2Ko$;ThUYApfODgJ3e0Z>T2Y)vN2QxtQJ6QT`rMVHc%nyG8Rrx!+x<;XM zTENi8uyUn39vrXN_|ZIAt58$AW#;*Y_`QEP+Kzh}yx{@6LuhgFo~s;^bf8L4+uQH6 zu}Lgy7;W9St#}_Z??EjsGb^iQdU|@(fBu*i1u!}|JL}BM!RBH%_Tv+Yi6~L7-MmQv zB?$zCIG48L28>&Y&_FR43y(7P2#FCBTb8^v(v266pLT?1@^b(kM~sbE!UsiQJOIH5 z_$qR&9@f;>et_FfsMl9?0GZG@S+;2MUHRpnDMODj-Pg+VWS#9bo{gsekfh zQBxBaL|Z)Mp`CgAII(*OcYR06M{&DR4itIXHS5~QYaM%gN& z10q5Qf)!E+jGPW8orf}+ppAay_fFxkWfeZCr-Sp zu3m-RS_%=TePCd@n%aBb`sb+fKmza~o-r~qW`Tr6`a0kHnFp#;A-><(*q9WWU_=wE z7bP1T8}&2oc;N9MQWQwpM-LxTfD3Gyq5bgq`T2oXRP*$dgUx7dYmuLZ;4zzvL@e@I zoR_BH*Bvtp;s8uDZx>h<5*ZsCjdV`6O;Q0tL0fB2JzC`0$;<7<(|FXtAW2)ctkvAgsGCob_yet~J17sCA<9Z*{P*u7&@Uamy+W%`{X$rTydfDv zi=_8)W*@UHU6`L5o&wO!&*4+!OsH6n1qhLKT8Yh-C%O-x8E${|BXaUfeBShs*+w>h2#fKIbmX?;% zCmf2o6cZD3pkEFTXZFQG-EDo9@CvqMPUbEA&kJBtG*9_bS4RgBp>JS7qa4N2Mj4SP zZF%dN`LSy)fe1UUeM`-sVe07UfB`uevSi@$^^p%AL?AKC?A~pLfaC_Zo8>Bwo40Rw zHoUYTCz6SY=}U8SWpO(=srJs!N7@E3+@9|&W)u_@<@{;v)L*x5Tov*#KK{ez!HUW_06;e@@Ql%puE)PI1*%SdFD!g$(7W|feEc#L z2yU>mSgkV9*45nzBM*$LrBEnF0F2ZGSD7JI5Y+2d^sKoH3iK5eRa}4#{o{?`7TkJc zTv7FxH?;!7q6z@G=7hm&uj&R5zBC)Pn^DW`K_RJNy)ykRWNyRrU zjeP3|ceU=2BCysAqufcV%wYTnb`WW&`J|*W40>S_H2z*!mr*~M+qbCzN*5ROBQuwo_gEpL9ZDedLU zcd$_O7*7$R49+Y46UUFQrlO)^m$GHwDk2j7a4UtJOH{UbUG%H{D+;M7LqkI(Okmk& zbGICLoRB~-CYFkFo*cGuk!n@DRge%z;8MJ%s(`P36+jj!R=gY#FfRL24eI-9tzDo7 z&`FWnem zv5n=rih#sc703wqTL17Vr_hkqLW*lROvyogBuz>>Sm2?b`r?t!&CidbSR^v~n!Bpx zHiPk1Y;XTtQKBcR2N5J?zce%izjz^fai%Z94Vd?PKI-rz@pRL}1&h2FepH&3tWeJ5 z<3%Y2Yh=W^q@*Mo3Mp#bIzxoq%p{C#7(eNAC7Hxr@^dV#BX}*qwN}DL6#bh%wzieoVR^&nbTQPGt)l*FT$S5Q&annAHUJ;MY8BU`}`32;hsH-p^zdGGQM#022M^U z3k!==k&wZQL6M}4Ort<0daw2XbQTE@Vb`H%vj_f{F0JVg`T6r_JER{Xb5PQb+TC$eDHn0F4);^hm+fPZth~X z^O@79Q6ERluTZB;aaLx;vJr<264|qYdmG;a(cS#K?;yGLrGJG>kugSn7N>kf^SW>8 z8LL1)&K&rI_~PD!GS)E1i4isCCOAeT@87=)1(^wkOpZ0n>mh7PG#MHhE!Ah93SbCU z^2!Gn7AgZ}6;@TTw6?bTcP`vC`{LoC;c(%Cnwy)OkF8cA|Pe=4l%H##3)26l}(zr z`6MM@Z7^t*<7J|u=W}^`BF&Tv7=5;91|ZXo6yAe_En@XcX_u_Kn?7ud?@*b1@AkyG zCh;8(o))3{v55(*2ccK49MRFK6{>fSgrcxf2L2)`+d?3EQgJ{vr3M_Z{!9%E+!AAR zP_n@d!hx^;Eh$;q8NUQ8=L;9!TSO>qzH$BXzuS!A(odeSurRlYT0K++v=jzL#&@J( z;#Uh2_VUKgnZ1#q!~cnBN>=;(>n<-tfQ6rGBlJQpX}jV$wae|lelaWG59`5J?eAST zd37P8?}#|U1nL}LfacE+h%@erV(x8Jma3|%?LU6hSubI*rF}k~S>4!pg+zb29w@%Z zFdZPRZ;2~Al^_nVtzG+}A|xcl=!#8Uef?O)b!HL&5Y*q@-Q8)w5g#7{Xin*)@Rpxy zzCbWCg-=nDcg2bo{zLg2WN9wb?%THy^(McP(grv`pl%*N(E{E=4H>(+rG-9Vi2mP= z4(n8qhF}paC|A*rLCtzr4AzyXme12>c6OgdtSv41WMr~xE@a8Bfl4Of%uEM>bs3Em zmu?-7m1p$y^b9P`&CMOFK&G~AXV*XuENp4v0nP#5fEjHayk;J2l&mZ*XdIqG-{1>}kC_w;3;(G^mL%Y`0T(uJcy1;4TqV!)-V-WIyL>(Egm36_F} zRg+KDBtNgTe(*4WMViNiO&(ZFiZ8;<<2P^CMkvk*|N8Z-;XD8+p#w=G$=C++{)oB= zbN;#{ihzIsI|s*vtK@%il3@!eA5aver(=WV11i|niX(HNG>W-}TOgHn7t#wY1tcAB zZ`A|h##sI-3t%6M(y$vTx*^Y9vWk62158BgNZ3&DoTN}lwnii&&WZ5w@GPH2MZ4C# z5CkEYaKsJR`(~2L-*%duY5(t;@X>9Ch@I!?;UNnbNUqN1%*@Qn3?R)SFf*X7_$4hN z-j818Tm>`82$IVCs;X3jdLDw9+QB~fB6EsK9w1gQ>pewqPmF>wVQFNblW_PiFtIK& zUGn!o-(E;%nB_o)+7X55I~)}3jf@Ni1_ou22l$4#`1snYWSteHa?EwvhDH~E;7%-n z08RoJ&mB8<_##VDQ&aD-s#pWtp_-Ofa>2c33sT7C9-{ugGXQEdUw)RAm)HgG%e$|F z(VpT9xoD%H;FAXiPh{aa2?s+&MWLpl5r@R@ZO0~lXaC{DrSM!+mWbmtQx&Dm;K-oa zZ~)UFBwu{X(w1kTv25oHR)O?JgT6WnB_$$Up{cyUp&64 zfNDst`pcJ}y>&|uVl+*eZe^#*Cp0!)h6^ft_Vw%6rZzSN1K_Z~`|x2IlmLGTqgDT% zt@kTGePd9iQjKH9&BH3X56l3z4e|UV<-Y?h0BU-^Wlty7v6CmS5VO*6=qrass{T!c z;=X(|^eS^oP@Q*xAk>B7W1qA0uB!Ks^YXaS_ajH{-*eIy_cy-pIOG3vIK!5*LfBj) z2tR-fBhkdg$$7-k@G6)F!T?ho1{-%lbu|5+ZndWC@c$NBoWi%k^U_ahY+kq|VV_+~ zWceoVfx2znO5S-J4AlSkohlmSvV=)Q1m*i)(vc)&_`c^Gw*Ges)DKzLUivBZcwdA% zqPc{G1cma?Aux#Q1-#t|%OX~l_)QHAxCnb>ZA}l9hJ^e~`*k|v0`LwYbU?A<89hu* zWx+#3oOzGp4D`H2FQ|4BvaNcM>`<~L)STV4d2=VwBpnG<9e~$?w{PpFHi80-K+50~ z5~4@xwDB4P0m-Z;Q$~j z+*chxGC6sBcjnu-JZLL{2YB!K^WvyX_*aFPo;p=BRQmPn(Z1Q|u>OFScf4@nC<1e1 z<4FWN60lLpu#211qL#dsk_v?p|CCi$k~M)$?QT(zu+*26^(@`QH4v5@tg~kc?3kjj zZg+DuH8qJCnLvL{fAxyc2`CkbZUBo@;F~wQJhy|?I8a;Lw4i5f9F8bV!+Q4cTN08f ze#*YEpEu_?lS&s+5)YBsQVE9zq#WO<2fgSYeI5le^`}ptVB8G|3tNG*uDz@4v6B%w zJ70~+3251a&tJXypebEATmW#NW!7vM1kQnS^zh(;Mx0?%cf-|0NF~Vgp7R24lap6q zpYAg>ykD756q8(67Emdu-GLQlHXpiQCRb8f$&3ec&|VM_OOs|F9^6uqdA3U(8HcdO zDDPV*b8=*1vTBDT`p)hPn-LsyUnFH@tV8ik+~D?}NO-6puid!e57!Hyyu9J_8Cf+* zNch#i+?(^g4C4IMgxBDlgxwnZ{abdIgGMVoCGf_1owlUJ*>gBFc(9}3hT}3aZfB;Z zrLm&qkO5f%$DXjOdE0SXYN`c@viME+GUw56N*J&0#(BZ;o>>6b#@O_ayV!1dgzN{0 zklKL*O!m2W+LbSHu4J5kvN}3CT2AgCzXUBC-bST8d-pn@xkJiYsHs6H?pi1D2OjBq zJWr6?`ykq2!{+8ip*Wj^@PlX$WrX=>`o`50_b-KQ9XR|f*Hv_s!t5C zg}Bbl%=pm{>JNxf2~eT=zPRUO)cLvT^Ux|jp7S|*k`p~VBVZJe6gABhyuL2tLcgHk z0a4TePjaPH20Y{*gQBWZsAE(4q0`t$vFC|E5gcS%dD@v-u4+O!Ow>q0EDxOs8# z_NIL#mbL7)KrpbMaur~BR3PIz#0|p^rLd-EHImwa7@)5J$R-H#6bh_9W)>C#Qw`{> zYlm0btp00t^(90R(2cl~cbg;N&MN!((I2_D8Sh!!y&I8j83iOy`2^<~d;3!Kdo>(T zqTneMe*exv*l!6-hW>#8_yocyCtXNb#!Z3!z5ZNCQgStg03>)dM0TD8UO~?o%?o*; zG1LJS3c76AkXaXcS5ihThXMV6eMhW(2XitCfL|OgPELH#Yhl=rNqN+Y-3x|O^7q)- zcPVhuxSn@kzOVvI|2lzsSXEDNJyO=M2Kf7AWMl{x4psZt9~x!sbpX|lA3x}TF`2of zn0?)f_@XZ!7&quXdhFOG$V;!%apI30iEOqQZY!u7HwJhcLBmj)o7VWGar{x8f}U`3 zTo8!I$hQX2zM@Lgp%Y-m(yR>- zSI}rVJv}YVom(2Qfe4Wx>q;_q%gPpg{=8Bxh}leCIPOR=g8iXkdRC>W2i`M`V5O~_ zNLoL4ZiRw^!es2&*w|5B-ICY>oLlsH_j|Vx!y~%$HlQH-kntS?!q=~CL@z#l+O%o_ z@EmBL>;hG>r`RiCq;!9fSP1jmdW1%(cGF;z!Pwt8`%~L$@hpC-P2u`*Ei7rk;r=bD zI92u+vF2#UqTn{ae7jj7<6)PtydiIA3i{mzbru-K*BV3ek%K73Muy4%5@8%Nl(q`gOP!Jl0?% zVs~n2XpoQ~mwcE5D@RX(g z--rkn>^U6Z&jZT`2M4Fo=7>|vsBF82;HKv0X8lDQ;5Bu1x`l;V`<+r!&_CJ9PDCEJ zN^zf`ac;HTiBcN;n)xs-E0^}62Z~`yda2Z`Tze`%ed_V3hY^Td#=(~(A67@gz{GaI zg}?|^BseUrheKseT)%fRGoj>z*x_Y@eDB*EQ;)J1IFDP-1!tC9X!B-Z<~>ihpW*LE zI01it(>g0DB}LuPkbA84dx4LVExc9vH8bgppohZU`*2>;WXW>>sN^`syakXIjlj)| z&OmqaU7D~?U_e5lWXgWe5~7X|8_(R_6i@`@ROs5i_|Vl6qhlR$7pmuH~D20|;Z zXl7k=Cac#aBd4ASQLG#s<@eg3V|U}!p@GVRcOzDEy_oS$gHj}oX#Qe2Xc3*FMkh&t z1;6snaCq-VHZZK;k}?b+#X(~A&0-Puh{9u}6iQxq2-|B2o}j_nJytF;uReb$6KY}! z2r0MKXRt$H?j$^?Eq?Uw)!d7R8JU@jAMFjb%zJ?)dWm-Y)&K=)-AmWAo-QX2?3k-2@%ron$Poo;Yar(=8dBZr`~hJZ6kMaQ^2Pe%)Aj z|6z0akju+gXH7N{G1F(j?PVg-A?n*8Tr%N+_IF0)S$AUv#7d&ok><>AQ^o$g@2UNK z6S5^?5{v$#hATf9E6;(c6=qGVR;_{n@L4VeX>ngTx0%&`hMTYTuEVRpPE@~8^?0{e z!i4jpuNr*@oqp@~q0}wgNwG)5P2O`1A2E-@h zIVmcFjp>qepe#%$O3%dgh@M{WncEIRUaQa+_c7KTYObVX+4AF*X?4LfQ=U3)XH6!X zK!O_=Tn|c8g1++N+g2Yv)Mq>NVaL|%jHgZE|FpxnpszF%R@ z#K_pU^Zw@#9|EV0p9sYR@l5O-8CBn{4wBkUwY)xV3u-p3z@pKfgXkGD=K4 zg!Fk3<3l>UANrK+&|9y5{P=OR27XE`?|#&A%L^i*9Tv)`BIE2pde4qE^ld2H4HiK+ zA1M(v@rmrz*|uNbU#+##ApBfaRm83A65Z|BS$9xk@;zYzh`p?R`0Ae}$jd=?$qXosmhrQH8n$u~Gf{u++v zf%376c00lnPTjb6jbC7o{_*4f=)Q&3CWXUd0QnZiLR^u5eg5L8JqJ4JNZHsH?NqCR| z&;mugE2@Fju->Sv9%g4p3ptg}vuzzTUJ=|Sn#IN|He@}RN+Yc7Mm1d&7h zPsffG)hKu53%PTw({@jtZ?TWxrIj`RCiVP<3l_0lMp|EdTf>rvii~=sAdDWk^R=z* z0f%aqdLk;yR=FYDH!-2PxpE|7E8CXY*xFjIK9fSVS4~ar%*!92e@2Mg!m)u3`LrqB zzD-g7cbNdVgGa@y#>FFq-#-@EZzWd@e=m8dkhQIuW9 z$g16(F1+6s3H8v~#yB6vPj;ZuZR4Xi4*C5-8Q_{U1al!lWcqmR)#8E|FhmCqGTQHk zj`C322M0efb7O0h8c8hWE?4X$jeyswX|G>f-e5Sx!dXtcj5T-iLd)zemDmzxS5lk< zKAZ<7LGo!{-u>*{`ntOGTDK69Y#6NMpb18yf$5NXk5)O)brBUighXk`4}~55mHzx_}LM2VM@4868tML}*1<)ceD!vgi2#^0ITEcLLBnhqhfyP2mx7KF;NznR>2*hWXeEW@fjfQ3ya~ zRaMq^xd54ohM6)08$zU9^s%0|lX?X_%+EY*S4hc@iMFTwbnWqbC_2A8XcLD4?5>gE zV9+b})So7}^a6~bI92z4cHm|9|I7sl*~ja?XN%U&Rtff*2f*;C_r-0#2}3X-nmySK zd^He2|8*)6X%YVZt1gU7QRnvMu_$4caZ)eI&oiDGUe>oZ7lT*IU-%|+#vLisoX47n zL`Fs$*AMjcd{{a!3@j{{@i9=q8pK&-<(IXm@@XEP%jTs;xr7$NYMQfAw1}{%Hy@^? ztVBJ^$`lBe&@?F;NlpGStMptq7_GE7Z+f&6v&=*c$zl0wPtVk>bN)<=Z$76%MUfZ% z+wu_sqo^ao0Y`+jx7sQO$$00OTdgsnxJ8NxR5w}dmyMaD% z1XRwQ+cq0#V{Tq8HdJEB!r7;zY?ob7&1!S{^p2xne*8Fv7O=-zS$DLaWIuZ5tKa?w zJXhhOm}t!AWi#wr!su1*vo+*z(N_pBZpw8bGr<|`znbZ||Trg{5PdX{UdVwq@&QK^3 z_XnZGtD(Qr zhbW;tDZ<;g|A?nUaJ!YgkMZC8T$Zx$w$r-Ef0ld-1+ZR)Fkt~-lWUdpTTt+ z8&1Y+M%`TXDJeB|_@$hro|50ajH6#)u3}-fY7asy>yxw{%a!N+bujeprc-nyvKPNv zP?_azFe&B_;B7sRGAlkM`Ik*bxFzl<(s)pImDt!I74 zoARGNdZZe6`dI)FOzhWix!ucVK$7_bD_7}nF4z9bfmGFyX}JSdfK)wx|%N#olnM{TiCq zDD_QYn87o0)>?W-*w~(SkhA-KyA4e_+kdbmxmA@DVobnw^dEGgdL+K{CMkF{qmR%q z8v2!h20=~xx+cUEss_B(flD^jowu&E=hU_p_&ji5u2BQ*f|i2x9Sjc#obDs|*{;n7 z9gEwc6h9Y;*URi+K=8t(L#cwuSAT9Yi|bsq&9!dD4loUF7Wz&1<#C{vy&g#hnVad_5)8P%;zU2UWszllN~RG zC#A6*qD1U~ytD^?UlwKk2iUYvocJDpK6sW_hyUl20A)zHW1}O` z4Zt&Bgc2^}F)rLR)Zc#v7TUnx=zI6ZCQaUYEb*pRR-1-pu4x2-U$$+_=K&Rh^iqmm z^qiJM5P^-QqF^WlisiBmd;#ke{(-ZD9+mzlxlEBMdu(yi(Puk_gLh-(Ce)IRQc}0q z=ORrJ_KI{Y*ltV)F$AMqS+YgN%`KwM#DYagJ<$ACn{xnWiRzCHNsr5b)j%q`Yomf6 z+7V^%QJkgNt_u}z9pvXzQB(8R;>~^(Wfb48)ALsGr}r!$>Xi@JncG)yJp#G|b3sOF zFIZRJ;jc-Ub+p|Q3b}Fh-E%fJMbIYQVl92MHo#TV1(xF!|2iab`NJF0LAi=3<&e7hcHt_L{xVJeXZS z;E_c0OMJ|+4?gr;WNO%#n zG!Rh&yHlbRUHJT4w;tF$5U>-3d@;s$IP_GkrF4#jga2u0YI+aaAGIeTUWYk>NbbnH zJ7zYe!f=mNZ3d=|Qn+S;>ZRM0*CJ_e-zpGsF?jDBaXx8{V(&Y|`q3Zpa=X$ki)5VT z&_PW!AwY35sRg6`PC4#?j>n;*!3dD1pXVm-JwKsGXh7ss1Oq>Gv2gS7z>*P$!wyF8 z)dhsxG|Tc;(XR`9-HxHLyu!Q$Q+NV^^^{FaHo(&ce{p`Ziw2h@esFCD2Wx7^1qFR1 zs_sL=v%ifuSQZSP<>uywhu0rD!_wNCP?QLe&r(yP7;ms+V#?~Ep6YrFO%B-0NXbr^ zR!kV$gDs!GxZnveEFQH8J9q5*u+Y%u;4L;~=7YkAZ!L{+6!e_KXy;zwKl7ho;()Yn zeC@r1aY6^(uF#_Bue>MCLINUE7x9Hb`BsM66rT>5BLDIT-16H$sOhw%<`yA4!=3pa zoI8pbc1bpYij1lGZEXFS)tOSIWWm00U-M?{Y1tsz^e-_4+J-P#-y770uo{xn1W&FTzErCCjdee zQA{CCe1WYtK7LaW%Z6|mCdkf)`yehZPE_51L+=!nymba`df$%+F>_Gki6O3$0ue9~ zL_E$Op&!7yqhsu5cuNL`<6K!QLJZ4DZ+N(Ikmcc!`PJg#=4M(P%x1)yOnTr?ec~ij zEPw)F9>(HJ}RSW(l+2fl<5@+cRjST5p-#R z_@%+mlE4Zg)C`6S(ql0_J+f!p+OJU-nkS&pj67JJqbCA(dASOTg?|L>9i+EEE6WsQ z>cPc05kX@S2xCOz-n)01&Dpcq{IpPmK)ZZAtvcuPtL5z>ofGW79nM>Ky}QKfZBD&T zm{CJz`OERmBP&I-1c!@^hu_hza1x~DT)u@xP%<$32KyfI{vE^J?l~>V=6b`%v$OfV z*x+3l5z$4m`pAgG{g{}rj~_q2OiSAVqnNezY;D72-m<>V3qk1^>&|* z`Po>k&`UIR$D(IM@#6Fj?3Gi}!@M{(=xi=QuXAZ#-EGV^pA)~)=QPtRbcAYgxjj0R z=9Ro097Z%v4p31j-a=~Xeg@Hp5?<+$YtCFy#oXr+dsZ1=188D*wLY|c|Nf^-Z2&Xu zyn_m<=Ds+|@&K9MQ}8)kgQ=*6MiQ25vc3|$0W*(1zz%v-EUt=WO2gJQG;N6=Gg&R; zdluSe37XjpP7cbHM1`#pGtSF;d>kL&Tq(A-aMz9U?vu@MH7&Sd%p+W#|NCz%R<_^8 z$eb|z`t#_3<&}5a0gze(9E2{qyn)B~1s7{9Wn&hc>zCfQJiXTYD85GdO-qKD^Br!- zpMU@I_Zj@%2Y=7P-+1shCjQL}f79V#NbnaH{e^}&1%DyI-)Ha_68wb(e<8vDYmnex z^ur+pnWc9G{LQ+5GtS?v`dANukRHvphhv%Zk6T#x2XAFb$98_$>gU(cr45TaZl+fO2)Y@DR8gX!AP&8 zLtdjw-YNUmIJLtH-}8x8hEF4@HW3plQ=cXz6pZ%997<3`&rc3!^s9ZOEOcQ|$1Yjf zlW_dPp015fG#wq7%XMJ$dy|`shA9IWZ|g^nwf830^nD}mH%CME8K+X%Zd>xba)0#p za6KT*7@pW-SI=dicND`Bk}*xW77oO)t5?6F zCo?J025mQJ+)Zp7u7@9R0Q1i$FpK|HPK({((2&#|4@GG`W{a!Dz!l!dp))aDWe=Bh zD&DtOhg+;3=SKW0^p$h}ZTYFPl7YQY8FM01Fv|WFdB?jfdYgDK0}5}19DQp|JK^yb zz0%3JGrXoC5vEfQysBVgcHZmc$~kUl*%-eNuEjxk?1#F2^_1IvscLQBz!00bSxD$! zEcM8JOuDPXFo?HfpXF-%ocht;tkmD$rJJOKR~@;$#UwTIRk*WvDJhw-@X9|!_n-%Q z@Xs2u%o*ahKNY%|a412*p-^*`j44Iy(4o3--)?3;q0pQ`OC6?b>G({)-+=zFPPq*+ zvvDVrb>|nR3Q{p(qZS<%n97s{%cPC9b?@43bkmtp^Nan?oZaUlRdJmXii*Y8i`~Jf|Gsm?K9?YvwZL!N7z*D{OrfG1dsck_QF9VLwRHLFO-6^D^ zd5G0PlZvw9YNnBc*d}fBL#`9(SFFcC3zH^i3<>G4FIaFkD)4@bH$n?IQYcEng;Xm% zT|Nhu9`#j`LMwV#S68Zno%{vdt_NNfm4wAaZ=FI4HRYn19}Q=9pOX!yHjUjbER=H_ zF^z$t9&H3^V&}V}VSKO0%r_fP&s_L1x#gKCbBC$vf4y?aHNtp=@kTwq5==Xk}NPa_(W`q8=X z4A(2(qj=V1C1r;x?Mk=(gD$z`bzL=mI~A6--{RomA%}0px0ch%x=9#^q>FPtfwvbY z_3fq<`m)KiZ^AsYTC{#D&%Q$J7(Z}!0B2*pIar5YP4FB0?85TiJQOSL`T8e_IvEkZ4Jw=dNuhr+Yt zcwPJ3?I!t#KJx=6Nlk-N3iR#!zPGd_Bc$c{EPB@*Ct>JKUfwU?qm*_zM(#8ggy^N; z55qd{XHGbRS0NF;bajDqnN7*~KO_=baN&F)nkx29csOG$TMh;Wlkkr1p`?MQN6*6h z4WY<_3+*5Mcr_-?pT?6EQwIj_v?@evFT4c=57R0lnZky9?MIt#*q(4SmfcSXsr#;$2Gi z^~)#{jND(+tRs@q@v#dVS#I#xuWy*&i+JQ^vauBBdjR8Z-ryx27+#V(??F+{Cn<4J z@j(|^Uv%Nzjg3t~uh&x{D)|IFYfOwG*@i?NMB6up)_A!%hA|!u4GpCky>gPm=Z~OB z7Mna`l58;gX{I*SyLMdA*ZwD-4O$}`@t!QZOapX5)Y@g5l-Ccr(Z4(o#CyBIRe$d`TrotNoWy$%?LAyR) z)NcLe<;#xB742`>yJ=eK-MOB~=<6)jk2AEp&wCdj2p@;}o`n11`4wj}o1DYx)9leX zm57_e5IpSJT69~Tv$wDR{Q1!Q@2G+oh>44ThCSaJlZTBKF&m7dvTMoFL7PV^4jH0G zQ^GLy^zIo1vxe~id#sNE-Wj~NMv|}5FY)&lYHBChn7h%@e?EU1{WZGIcQXkN=+nS( zh8N+OmxA&BN%#y5^m>l<(9@|!zcQ9d8@mRRgX+=2X=7pW7_A0pU0pLfhAGq8m~n27 zg-Ge+XhZXc9$s^I#se?F{RgOE`0U;L_b(3Vj$pt3pFj!%5_)GaG9DM-KQ;R=NE!M@ z;jHO%Lcq&Qmkco0{%337eel5EiGEI-ft&RiG9CKQ>I=LuRnCR%*cGY3mZ!u2;nQdL z))0hAF~0r(OMad1Y*P~Mo^$^m7483ne$cu|+d=ljPwXZ_-z^DLG;%(I`p?|tt(uKU`13|3Q-#l<1T!NS7Am6wy!z{0x8 zkA;Qpf9E#%gyq#bctDLMFZDvpJ#`1};jJ|e@BF=27aMr9>-wt&;%Mnx>gMWmEx3?U zyYc!l14X;>qVZ}2s*LJLuW_5=37z5zxIu-^3j)Jy1ozd|c-xxTUn$?A>Fx8ls5OtF zfiT2InXfTqptj>DxgkQRIl8HJUzdTs$Lk0t9WXw)MAzu*Z~VOt3i1DYcT9N=`|6{8 zk?VL@H;Z03$**o&P}BaH{}zs*UtJqopI zjjO*=pXslnizD)@V=DjTjJ-=P!CM+EkbV`gvrNLN$|pRCBOKN8HVa9QyjcfVWv`J zrlR8Lpr#~_Zn|gp2%a-=ZZ3$5=c*(v{nDgkqJu_NHN;vH>G5h{ZAm-D{3@A_hGcURpUfBB zXL@XQhAgG08q7>ZenJ-Xm4-Uq=H~LrbW@;LIW8gIp0&YXhbkFkJAEdYMebPBmp*@W zR=$m=&m3icYK5$vx7zD5?@ryH=S@TN&cqR3$CI+?J*uOTeNHc3i4KiDM_ypDl$tWb z%*@)tMZf9f`S2BXQq$XY5j;z*E{iti96XOy{bE$OjfF~rj{Nb^fUzO`zJ{;dHu#dL zxC^67ig*xp^hi#KPp4n|+3eMN`~OlmVTL)*WJXSX?u-bp{C>%VeEf{t{cUK`=&OTu zg%g);-=$M}o>>wO4a=6U+gtka9e4SUcB7AosXT?IDRRWOGNE92H;33#Z-LmHF&!>D z=iF2k4TFwM)b~H4Lc9vQ^$JYZxTBU&wBrH4kQYIGE!j{5TdQ!hM3;(7x z^IduEb1YfIuB47S1JEIC*@Z93@w$d(wNg1Pe(FoO*))ZPC#4g0-xLGPEmXm zc(hmQq38VJv#6xSDTU^sT5CO&nYTP{f;~Y2)g1;CJh>5}rpBzt0&|Hqd{*UyD*BqA zrNpeatzuiiT(M#|Yk*=ur|{GkaRHWZ_F)H6%C%cx-WrGgH)W0CJWXuVHR4^PR?A(rTp-4GBQtN*q=s&_LfGsm~?JaHsAZz%DZ`W zZM$ZLPh%4XW8w8OYqbZ;=ho+h%+)5fMVt-iBAvkJ-Oluemmn* zmwfWHYtsN?in>&UBmV2QzbE?(8{)yw_xMil#cuL`EmB2?THKvbILWBfRK&S!POKD9 z;_>2;6gLxx@BUOAyImh7|IM+wbn@FDo{$0!=|Z%2y(;qz6PcWoX%tHj;pCejwfz>c zDhvCH?@q;Q~`H_!guR^VA_k?gc zV`yo6VWK}H!tH;k$oIUReaiFftn9apqq%E=tc4a!so|sfq9Q^ySs`AzZ6aML_t~?; z?N`z3ITl^!tMYYe7GfeC&DLm7>siu5O{%^5{`6lW2DGs3W)lX8gKPd*Eh-{&Nqe6_ z&k}0p=^L4!J5M`Sa}kZsLW&+DTeB++S|s+`Wf9BSn~%ZAUE$+*=Q22fltcHXJM`#t zuT6otWzeb>Plw401a9_jlDFl1cAr4^49YEcJ~-WWNRa9KBeL5j)VjnTyju7C?v+Wu0;^qJ7g_%CW2wh~og^hdp?X>EG&D6Na7W2>DAdS(7 zlh_~W`)BJ*pFLxi_xU7^|KJD_mnK%XRWBX_YqzC0ds4Ha-smP(LT`OeZZD_d`ANy1 zxF%|Q-WZyZG1^TbKbmRfexfFC|7|QUEiRteuQ6z1nyb!uE>|`-F8HzW@+b1V?N^nz zw&MDW6&cyQbp&nMUb~AD4(*W#H^LMJy5ppelgim z5ogW1bA+o+*7WqFzG_D_$loNw)ko`neQtMuy+dqIa&;$_nutqiZ}Emf9=)HMz7qn&BndqUN|dWQ~fE?%@{<` zfUym`TN-ee8P{Ona!ScLuT@voWsBFPW7~IXIzr;BJS?qc?$a>c|S`IPP0V^u=>x(;&Br4d!Zr%lgwdf3v{p$ZB-0TSB~CE;_3!WB*<$(FAMG)=fH+ZYOgYlf?^Wt%1QR#@7#e|?a^DDt?#ZaDXUGjbBHWIkE*P^aFx=oKFj()pN3IENJhEld zicV^JUVZ)(AZPhmzIHr5I>>X$AA-{s846_0!Ks!SBnHpWTFiR7F37kK+Hs&wEoweP zYScfB7TPbw@$hGleGdd}V6x?_9oKEIx0Y^854AJpnZY=!xCVD;I<3Vjg#j(dLqhw3 z?KwC?e2TM^R2whql_szKvniuz0#(07FRk&L5@k_cCqEd)HKV{(sG(0zqw>vYrcS>4 zjnz0b1}(zO>Xh#?Mr5z0V7nSICO=rJ<*R=c4#kOHvCvv=zdGNq-ipNyj?ohO+)Fn#Jx^#|! zE}oW80mU=u-^R~H;n{-P!FwQ200PO3O$R zB0f`W6Hbvow!0LtvS1%;}OkXT4KvY)tx;x?wUYxAQ4?Bm$RnkW=J#1)UuQ zk4FoEdQJse95N#zsbELHyI=@4ZV>W}?%NmedQvlL$oDoQCfF&bfpP@FI?~j78btKl z`MQ1dKtyAV{h^Frl{I6j%Um=IVXl4cu%Irp=zW}AsB;EuvP}qP{C!MJfNN6Q=^3EA z;n;P>;=FlCMH{hvAIS9xL7N%Aftc3M7Q7(*kX=xg8YtEow|;ShFB`B|kR@u{RoSsa z2kei1>0=L-lJOd!+(qPA$Qk3s;t36$2mQLa>@fIG?IgKd>Z}ZsNmk#3%R^*NyoE1p zEHl3^II$Pl_et@`*D8m|w?71}Q92Nki6eO2{+@MshR-vdqNfmDEhZKxS%}EWK8D@P@;6ZuLJW&{=A<$rbg9%$A*ruMG!PRu7>8s+%h<+v6L9YD`b1wKWiQAA$2bp7U8v{>s=C}9-Nu6a92kwdhjsg4pJu)&VzBbhsa74W)J(ODt!_?^ ze88BDU+P8)9j%3B-Kg?%X?VR?@s6MAJ=LWO(@R~0Kf$odFgl@aWt7JU!twX@H&7Ti zh)MT9l-((!#ddGhal{%&~Kgq~7 zd51fuq%S(Z%a=PpB2ar}h(UL4UtPhyc8T9!ZG7rFQ$OquJCG-(xde|(vZIGBm1y4L zQ<%liILoir*CSrmRc-a|=WPm=*z-^p_3qNGBIBydU2JLIQEm97Ka3)I_kL`ZW7;(| zN4Xcyggs6oyEU>`@MSv;^wtYU;&F(km{lgDR%atV^O2>4EeF|+T{^8Osi z8iJ%SZD-p$`i9hqdc3r7WG-|ctio4m4oQ`Fp%D-4+w*;Dx*p&M&FIi_48S#)OBMVR zEce(Thl*9E%XlK7-d~!i5nql^RG6LYwLj}9^@(!@#Y7{*e{r7=r;(<^N3%?SCfYxC16pGg6ShV=t<4 zy#N1_()*vq`9I_a|8GZEw)0;Tu}S8P3c*O8xQj7^J1Bptt zEd5}ayF+CtY`ivB?4D_d0K8V(x$1P?WsLE6j-$F#7juADxVI#dvj?LzM!)1m`s#ku z$&_tkgn=N%HoEs%pr!#tD7lxNm=2Gl|7mENWT=1GO{Y`)DndwgK=qP2x5j?iB(r;G zrew&rIr{uK_tbb{*HK`h(GYM?q}8VVY8#PaQRlyqr0D+ch1i1?F~+a5nBLC9NXf_B z@A1i`0-b#%>rXy^9rC^=vdpiRMxLx$ePgNj(J7iecf<#GvTm*8lX>%53wnrnPcdPR z5WFo8=a63YPg?4zSnoR7GMo)5` zNBpMLR;x93JMG13JZ(<5o2sEopm2&%x+K7zbGqctKNpX97THn(!)#cz1R1<*A>f|lKfNcwchPT*_ozR?SX9+*IzPR$?{{MDPd2mCkeGNz7lg9& zDX#9u<-h@+fXQWAU)tVtt;8>p;vs#TlRc@vrH@LYuCtzsU9AzGdMGQG&BCS2p`+Q< zrn9|wgk$!tZ+FEGMWd4G*Nd>1P5zAEqhwhhxkNT~>Rv`ymlRpy8{TQfuq;?X1=6?4 z?Q4I#44PSPxC`)!uv=L2*yTq(CQI-@@Mg0)Z`+Lp2%Llz+>+jn*?o-R!$9V^lTRG9clapr~-VZ}?3GX+Uf~X*pe5oZGsqAs;PN zRG?g@1hd!37cJp^(Ay+2ja1CZ+68F8P@9YimaQ~MgNt%#XwY&ye~nt#tTk5XedmW? zPsy6Ul0y=Af5{f?~5uMLPa^aNVqPwQ6eRFs<0NDYwW zvI$LQmXc(p7i63z3M9Ok5!Ff3`){EPvf{?l5MB?olGE zhW6Ow(@=Z0_7rC-<}Zu^78F4B$EBU+NU+aQ>XK!eh80$@@2{`&m>f&8FVLe0vUvtv z%W8GkQpp-;eOE5cFFpMFZ4qe*qWAIUiGB=1$nr{;OZs?3@w6PZ_FB851%na$=)q@q z%ECN5+efF1?3Lf=qulI%3;!f{E$T~tXz?k7o`e>?=7V#-lAZ$hu-EhskXmw^o_6T= zJxtx1DK|^Ei4fFYi(`R%eZT$)Ox)lz(L+bzp%MJ@1A`ZA&;ek#G)q}GZ@3*9j{Iyc zaiJh``B91_D^&MbxTR@fdI}Z#^Oct@q1(RJ^hdW}%t5ITMks**$y!)s{3H3?pE!+2 zhSS}u?V@~oZ0LpN-T`;*0d4%QR43yzRE5q_n-!tw>ZC^Z{8YX#l4`pAf|h&hy1=9e z4a~~$3?*=!p3%56aWCXSo)oO69zX8jgRI5v$kK&IOkkz5Cg9xU^(ov&@lEZi=S*hD3FLWqJ-2E zylUeL^mWlW8^r7{9qWC^=iiCT&k7>@&{@AE^JR_!K^PNAA}H$lYUon9d`NPk&{a@e z@=oJ#p+J-RgQ%Hru^Dk`hiW&FU8WL#FnWYFKTny@nw3)^_EGlwBhQt~EmwTloBEv* zeb;9Dj$)j~KVrywE7wfMvRGpdWYjEX@-h0~)3aXZ3+E0U)Ob*GHwN`2ALqoyY~eXL z*f3c;vA+nB8Eb;2Dk9W2pbPGl)pzr|*-{x?mMysQP3XB_ntx!owpnjrMNfQ~$G%a> zWyY4UDJIeLmSvYE#uy#HlPV8NHq!i{3#Z7`C9AGO3d(t_h-NwvuUTg(k-h`k*t>(m z9MbuhoIDYM7r*_|eK^+7l^AMle+}r^*`!W>Et;IUlhYH{q=v~_+=gzd0f*y$=DI!v zNCTnm@B&vcI(b7~mctPWPS{J3SGGJpD#;j5ix}owe787QpICW?H}$=rB7P-z`<3$m zOn-~dC{I}kGNTOGgF1)arpu~z`pk9TvX(~fLT*4)`CArG-zKkU#g(tLC1Q48iB_J< zmK)%S9J51+k%lKbHY#0MRhlXVdq$-F4iV~W-hKt998DsqlDDv5kS(@cZI&&eYPtt6 zr&WnLXcJRNL(3o%a~$BAL#FooXT=RZyER;p24mNYjnF6M3spuxo?Z(|zMso}Lq_3- zj11xoMb&U4Vx^gN6#aD2jr5DafvhuIgK^KM7F0E+2`yHcac-C?b|KEZV7ekG+$l=Iwb!SIy(|Kueyk2tfA~{9?`2|!29k+?Je+X0_cXEWtFaM- zj5<&A?P+h6IpNGdSIX4A)O9J zc3Q2Kxk?$P`4>*81avP&pUmCijsVQ(s?m|*pzUr<^02HkVM%=2Ny<8n%OMFE3^XYa zd}Dq}#j-xRS5ND>)y4K@*Jn`CSDSY3Gr#EC>*Ucgq`k|JAXfxtJA0A1pKbBmiOWBH zYLHTc-nu1y0Wr@fP4q(asGq3a1(w5YO~QKg^J)FdeR7KX+QShA(wzO;_+#^t)w`=k z8^)$G$P(ElUCXIWuJwgy$y2sdNzv=lVzskg@ek4ZaeEfj+5;#*Q?%B1z;uhb^B)PA zxY-}hFVvZqCZ?D%x>HTn7a`7pAXwg6)5_|c7%gnQ2sEh`88!}B;AbhtZv4+#fNRN` zo^mf)^%{_Adv0J^;rP)e-xxneY zz3RjP!JJi_^A2*}Crz6YyY=#Rv+~kHw&a!cf$0m}Xry1`p2rLi$X~ya>@|u;>(ZZf z&fMV-3ejJuP-Mk8=36}POI_SXHv zV`5=PDDI||Kk{5O#1V0cwQ?tLLj3VaNB29ePZXB-Y^#6Y&CO6ihpsr}=W@vOAU1qT zJTpfWz^2n7VR>GJ0PLF3+ORMC9_fqBL`0PFANie7%~ANe@NqF-b1%lQ7M{Zh$m9Dy zZm-Iz%Q`2`ORmnHWuYhMq+Z^N|20_{*;j*5TihYDAXZIGLpevZ6U7}rb}xmR^xg_WYNC^gLd(@q1#Ld>HL_d(XTUNOy$-?qQzj#AB539p`CH<5L_oG0Q@&gGo)@oK<-w?QaUYx5M4E_G)RoJQ}&^`##AFnX}{ z2X8T3e9X7M;i*@unS)W$TAsd&dLi4yJ3B1IJo6?nw-8AQN+ty^k6>@fWQ#6`9Nbg+8rQ? z)eLEb*{Q!+j#Od1=1f(#830|*zDJN-lov(=^pJW@wPp26-OR*24S+slt4poNL^1F< zc%sDCk^GsZazx-L2xZIw_fZ3+=(9dlCGo=g3k3I`1tgAZ>zLTn?3dBL%dPy2aoE$< z5RVb{d>uQhDyKvqWWmysFo$9uWQFLPRBF~)O$%aXq@6LDE;fSjrx@eD;6aKDKDE+zoaK}&G33G41Mf5 zVsRf;PY+7XIB!%Lz1BMOtB2epWM_SEoZlSc5dQ4gn!M1AeJ^pO)RyjgM9xdD?~V9x zjahf$^w4g*89Z%3bWRQXeC?asQ%nw+I!+_%YW>iczQWpb<}*?)~*g!@!3O_J#%dHjc0bLS!Ez{+}|+i)kcS&URC zC|zClUIksU>>_FQZHE{~3!e!wxUi+*mj6Z!6 zOSW5mG|FeO;8E3)h%+(n>oj}Br8~a|NAS7K5qg6${4EQ9-X_;zrRiMXV>-;Y)wlUh z5_+nO$o+2KoTP!eT~iVwc-mUEXX3K(^WZdPP)gVl$%7_ZC)Q zkR`Xki+80v*na98KO7XHge^+);l3sA5N}jm7JIxw754?NcS{)mB#QP^ zujDp~??H8re_{vjPjcxqDCsueOnAD&qY=;WE# z-ELYQzXMOZM`3P(tlTX!x#hu6jLB3R%rP?$w;LI+euq5r9Eo;0AJq_4e8$TNsssxi zZ#HxWv2f%pen#~9K1rb@dvZW_?h)J^Y%umJ=2DQEC;D!kI~$%;>dsRkb4Lz^B>>p> zyqK4d@!5WHYvJ;H-)9#KPm0Z^Lj;^2=F_+{S0f^8JH>O?!m5eE<;P&7(3qes;Jnur zAscmu7M6`PNU;u|;Q4Bmfqr&RcGj6~IqTnHDX5I!A@3LZ+-y^G^1!B1SE}E4P%+P+ z|Gu`~I{PT~pt{P+Fx<>-U>0Y7p_>s^*&jZF zdieQ@w!n%XH3e@gZi>c;Ibggeyy?+DOwDx%P;V!~&h5`nG3>xG)-_okPRR&R641F& z|LS^sI*{qae@$RgxFiZ%k^k{gNxaB?^Re94k1o4Z=BE@756E5CBF!hB#idZ#a{r&o*o^(A&WUk*4lNIa zzE~M_L7ufHG_{yYYonq#JN@Lxdw?$Vn6MgqYl%D z&~!{yGDHs85^B!;;y%ETWcV4OQ@xHAZCC^*&(#4iT5w#_27id1g!WlaPWYBRjBdz0cKmi>NfSM zR3aGs2db0ybJgSOR2GELFE=o{zqw4y5{*vRtJ`5Q8Y3ySvTxq0h_Cep;|OyYTAtzK z6*9TZdEf~18?LqYE;m1=S01ovj&~V70Ou)Oo2}hs1^7f6*S8iFtx2F63rG$DF`o{Y zyJdsM=<3{Y>KI_gXZJ}!f`elfx~iN_rXtNCzjS@fExYTGgaV0k>do8SGhG1B2|UdB zlWvLG#ePn!q#oRATOZ%K}n9eIN6?ZYe zUcP5nz_ijI^OsLh0kp|3IOzjURMyGQ)W|ZkyXIF`+0a6}<2Of4ZDyOC5RK((Zlio7 z^Try#1H5W%STTIZ&Tdl!Z+p>WA>P_soOdC$v&s7QFUAo!Rx)}t8VucbClPo3q?2Lf z);idHXVz&x8$L=ht7wZ!)&y|y&z0E^^%`bJ)Lu-| z7M?LVF^;HgLZcM8>>rO;H=@x=@ZV8X7^-NW?0N)0h-q9mWEkqnu)KRfwIhM=li%Sx z>hd`?XwB0IQ{;XvEBHZx4Y;M4oR@)G8d~eUpfH)oKD{T@j)!?(AO#M&I#uoo7Y$LB z#T^lL`1RNStfUgz^XMbzDGTt#q*s4%{B`*yv642ZgS*&{)iSXGfmc&-6k1&pbH2he zANU&B$~}_V{j0+V22XX=uldisH7*^Bec1NJZS&c*X+*rhb|)9@VB#jXl7h0B$+CLq2sx5& z$EnH#>Wq_dItY{$G{wSwPe6{Pc6WW*l)1_?0F?W~sxu7|zjJ;98x-JcmaE0g@i~W$ zBbK-wKp+4~TMX19qEa}`npxJ%Ah~YFWCdoJj+i;6Z((hQ$nVar%}?1R9v zd5uXY=R-O((z+nfNW2%LEo22G@$CgUKyHe~#9j7!41`2-V80QZNdw!X0&hQ#UFs#L z%ie#B={7vgMiEWUnD4B*eM>0sIsd6sRG0 z)t)}OsGMM^Z@zl#YamBQms9G#F7rZ(m5;>#_G!V-?^ST2E$}+~RCiS_ zBCZE3+j&d|*#iFU__2iXE?`!g1(c3j8F|k8Z$N{G4Xxol^<*a3u&+*%fya^uJyb>5 zUG8*!arH2qUbuE^aLJU3pDM8RJBlb6vJ{K`Z>)*E)aD@?qpDfAM$IW+*Akg1{u3&*s@fGFt=8R|A01 zS<+w1VkEBo4{Tesv;5k>$ImQ%S1>8>irvQ|Rc!E(l4?;u2^c23dZUHCC~`SUi|2i| zGxopd_2t~Ki787t-+$O-{I^LfEk7RR2*KVRy!ZF7J{lU@`l6WQPPlRP7na<|)3paY z|DN*4YNlEI`*G7ciDNr#{@K-E;%0@4qR|ibg8x2KE@V5osd;r`1AGfWAQ~Z@s>HZ<)ry+335VY;PCxC~sZNKGv7Rx!+`-nmqr1>1L#FG>c*O0z zwapJx20ySqnTyKN{yBobhW!wJwc~;1{e$mXr(aFrb64Agw1nl=53Drj5W`+i%d5V( z+Q8G^ZNs(Di(=Npx~tv_?k?OU&#-q$W%R3K7ym7^7tP{y2PoIRIQXu?cB8S9+gif7*W7>S(*m}UyMRRqy9y|3j> zrwU*A940184dc_&N*fx4k$VfKZ9({xUD34Tjb11z2&S~ha`bmd2<}hPO4wj)KinAd zXE?%@i*ZXdJb&q{7R#qg|9CUvu%}B)d1HqSUGLO;M{pkd>^)!ghpI_asP1RO|>7K_+L9S!! zvOE%lnEtSS|LK1eZ|){x(yzf#XD##Ld)OM)<4mX5K`HCx(H3KD{crNcxbiHS9^czK znst~AqVj!Q;kPqYA$amDcKo}Qs)eOxQAvps%x!mM($ue1K9<26g@DK8xNc8u%8H#v zn|N;0Bey5n2_mnCyMImggPyh#_t!i6*2+%fZocYrR*(qt9~IesHpELZ5{<|SLxLq4 z6O(jG@BJ4PerLba*E4*Mrc?NxvM4=%5j0+$ZpY-L2|>21XYEIe%bSW04-XkO`7oVR z$2jPy%UiOS-?f&1Wv=#H%~wsRD3DmSM|J zDT+B&s@(NCuy)h`f*jjF z`u3`=HT&=WoN_OprWW~%3R+Hw{>A1Av|`c+u5O83*LF2TjdKQ#u(WHasok&eIUJUq z+&s01*KdA&s4~Qu;r&G3;M>ap92}gnOv#|6$=!u!Q*O(?p}u5p=*u71?dBWwDFolC zO_mw+cpp24lW@zleZr09tnfQdH1(|$y*zV~AK4hrMxGrEvVa9$i4>cNW74d8x2aL8 zS0RD1XpBa!NAorr#ZKgpPtgdNDzWi9b)&)4*@X)o_U1EZcQklQCy~uK20?=Hy(*)o zfA|G+6~CYu>xq@i@6uC{Dk~`bD))Q(Na*VyuD4ShyE9OhhDONVeA2bfFcR*=mK*qQ zeufYdphH7Ks%*xYeg1SadY=96(bYpbhA(^=0{Sv%b#&&|zE;j&P0_nND9;zY-HSz!v3A?K5|(#5W~3-6#W zD3V9HGGI*acBVLAUrElPS3|(dH|O|a-gCQjUpGV4M|kl2#MWkh#st3KaT_W7g$aXd zddYSfOa=ISL@|{Y3NhY@nm1heX&Q6=T1~Cp7hbz3Tc5na+RQZhc$M0*8`Y`_K@j&G zGF&J0)7RYl4}aXp&0>U@hH zRTabaQ<0Y+PU19+IsLnMN=-~$29zx`p+b(rkUElfQgZSpv}D2#~ffe0=2xsMd{k_;^w@GpDVZuMs$hel+= z0RPH8xa*{G3Xg39u$(P;6O{M0mL!NtSxv`^h&#bw9Gdh61O%3ReiIFn^Vz3T0?$ff zzu4T|BpB5aJ=>Suo&L_abpoy>N68o!vGYUHb-LOA$nelnZlt14#vwvMUB%|WcY9FY zHRB*@ZtXm^dl~3wJUddfsG*@@zbPaHr}1|OS^Zjy?Q^#sJ-Ekun&;&?YNbeD9lrcC zl*eVQZ~v%0_@OOpk-h*ldn8rB<%z^?b|xmK)008Jvaql)1N3wIx!V2pkr9plFMRA< zb>sQ@=H}*a4mXB*2IM>bn)jb$=EbNSO(DV4w?;*5+e-!7++_X3%+$scZ9Yw!LZ=AX z72AglN<%sFvCo~BrE>FS*^D)TH}NfaYx2S0#YTu-xSs>N8w2An8@O6bl;{)8j<*Hs zMTi_tecrX`P53F?teD8QHCy9gWQR{7sMY9+#Bor~5Ea>~)67@F^%F(Sxx~lEYpZ0$6}3i2no}fq?PnMntF7e*}4_Gt7ChlPpC^*uZx@%l-^3SekYNxZn&01rv#Fj z>p?%?_Mcw%No*?buYMN?83y(5tiul&lv9Ar4Ax@>>h(a6u6>-HQg+`x&p%U&corDe z*gGLt7svH<%1tQNHOJWQ-`RM7mu<)_QiMSs1c4A=WU=Y^)3G{xxFD~WHQ^umH_0IW{DsP(y50j|Kp8_tgI*f8Dgep;M;-x zR^Z*G!RhH~QqI>>;chV}e@B1T_W>)5qhn*g4S#Z6*R)jE#6ucra@?*4o;Q#tB%6vl zUWwdZ3ZhDYM&Er9pO9b!k|^#-;_~t*W6?KYL{edQNB3FVl%6W<(bkMXp*`WjT)o); z^nR0EJk=Aqm1|qxs1wVmI#F6PPwKQYZIv+&0`8L|uv9!#jURrz`~an|Tk1bq&!C!5 z2O3jQRBW3CiyV1JBuiOUe(kS$RUUhW;6&XiHLRHcK9!G2j^OvwxvJQCm5ShI&i>I4 zO&t}X-RBtlM%J(Y2vj9&m1j)L!DNdVvNz8_JnW=^q|$AE9~8ZtF$Se*CI9Txjqrm(F;i=6>vTIh^j|j>NXmLoWWCfHNGj&*eY{7pCprZbdzV%T=lqmBz1H-q_n$`(l^%$Gj z*JH)d;aWVI>{%gay_4!;?MPsufg zxdldM_+6avY`rCaHl0BLgc9#v?Db!1E2V)SxvDKZI^i4p{7bacr#Gi`Oxp=oSWC{cPe`igT&5W#AvCjXQKC-O;Ph+wAT<+qA{j zLbIPc8YJjZxj7@{ zB#svV%c`_r03+cmvu4ovBSs6B+kb5k)I^|WFl@59SdwwA@g^K2NegoxecCguhlw9n z=^ir8$3NMhdmZiUUw9m>Ss7KCAJ%TVQG9Im6LHjvXXcV|VyfL{EMRLZf&7x{}91|Gs~78J@MS{-{yUzlp1?8VVq+g3%vDug z#U4+v$m7|vkp{B^0|OHxsJUz*M6D!<3QnlPCJb}}zVoRj2$w9+_xyCc@IUdV|BHi+ zqtf&Ym+4{t+lu<|nb2^MOWptkiK%IzZ-$?MP^214#5(e4wHNAfV40hjR|JCl)^K*v zr+Xw>ui8FYw|^#Z_2lI1*Z@d+61W*q*xUYOZdt{IXTy2QU$l&jN>tJWt%3YYo17jV z9^uFB(Ezb#gK6lNH~a~qgLo?V&>j2@UGqx%$zq?R50i|_c5|CHY(8v7*;m<1*kr*1 zF0J;O+Oq18kO9qYLte7=k6x(LzN969RowCllQnaGE}(9f#l*-^$ApTTJ5!nA46d7$ z$_{2A3X{psdM){Zlv74ZO-rq4>N8cVk8+yRfpXB9J!}-C3W8v?-UVHjpNlQ-6 z-zOjhSC@JuLoyR{Bj+5Jf2)ZnTI8&!j%Cq&yaV z#8t8%-!}i4Kglq1k84YP@ZN{dS66}LW5;7ZOR(47w}0-L6?xCZa``;rq$kiZ zd)V3Z#$#t!r6*Tc7T&9tOl%$2un!fSM2y6|{bM*hvAr*!?0r=EJ0$|-lY9J!i)tn! zDG9@JthzLHS`ElVSc)Q?vcFhX+L+NT;$L}*UxJ>9L$&qX3h@NS#T#*scTGgrI>%p3 z(;=sljU)YxbhGp_CG14*#}~IM{!`NY;;*n{>Rf>mG{HQ=eMe07u)BhsvDwq(nq%Eq zNnHUp6yL*(1Ue`X#DAq3Zd2l-<$p$3IUic>cmqpoNM!C?T$k&^zfWBmyKj=uuQj?9 zM$i9`+V?kmA8TG;r28<Vq!LTB-hCP zZDk;Dc@rD!agTpvBzoB(jS>@P@_O9u5G8HZF66c&ZfTh};p5}&{n-9~w48wfDIPgs{*we;7`%OaV0E%U_%Sl4 zo7lsb%%C?VrF$30EBK{oK_Q`)V8(QDa1kGt9Q^$G^VQ|WxrA3=66a&VcTabAcWGj~ z)%5j)vGFOXxw#(_5fR}_mtgoK2~#>T$Z*6K}}sHypb>4)G6GXtN1`qC{;^J#qGBPqr{7z49*@U#ry)zvktkV*2>z0HpK`_Yf2rKG5Nd5O4^?}4C?Kp=n>sk8s||KJIo znK9Uztx>(h_xA1EZ-C9Ht*w2tV{2m*;_r{;?&W2MKH8O2R=$Nr&hLm-tWz4ZQ}ek@^7WA}d|+fq_e;xOyD z*R|@5CGO-@!J%p#qQ&e)LYb^Ip^TX+xNO9TNODbzo0=#Adnf7ZD~h#P(Mj0`Aox2` z-@W<9TKC^iuv!)ts0PI@y^GO_2?@&`;be01@-NiY2>=#<1x$#TnD}se68{{H3JMIA zE?)l}8QF<|!>(Zg94jFub<_V7;k}sH*y!ZsU_ea#Xl=coo}T`g-;w$hwa5OEGaQt^ z``wHg8}HH_nobyYc6P9^7**3j%?SweSFc_HETU7~$@@tR)SOSBJ^N_H76dZt^&2-h z-S=PW85*u^jTcWf`3PaXZ2kC;J0NAG*MZppbm7NZb-CSqp}68X25<5q102YM8Gxjk zpC6qpe!vH2_z#vlz@m$5YoCgB%a?oNS!%sdY?Q+8{y#&B%|HRuFDh$k$xvp}7y`2Q zBVyvVk&y>@czF8<2aqG<0-1v*p<$%*@P=yE8m^^GdR0oU1-_Z@US@S=lGS9xujPfBPY+o`R4sUe7Mom+v|kf z(grx<#;seo3JMDYzJKRFJ3l8NC1pO_9nLE%Qs7qwRspYOb?*GEz7m~>QsJHJ4!JpRiUmXBmu1`W|R@-JV0z3(_z?|K&)uGSk>IPl4c zjg2>2+SfB#$!uryU+Vd3ZC;2(fD;_;mye}r?(ZEv2HxeDjG zSPYZdIMp91l+*>_@z$w>=h+5loZO2D^ga&N>&+38b(&O zGAb*xO@vVP%qo%x#A6C*E2!GOPUC;4RPpwehp7VGmgxT`p|)vUqUw#0o`uV(Y>VVU9nkoOg6o&$Yz?!tv3z*%Lp9cH6T&O~W8 z3qk=i9$WJ)DlQHzE4vaKG5_mVH3-)LH#caB!Tk(dH{`?dY5<nipjk*Wxdhp8^f1=J_xR8{S!&p>Q6dV$=&W|yG z8_yJlxnNZ2Q$qv8+}vDRcD5RhtK<8>0s9K?-CGaZ%7p%tcEW*hJX2abY{!|2o-L^1 z!otGL_KdA9Eub`%2C(HijU&~1Y)8h&>71RN^$iV)2LZY;AS%izbVNf#V-qhEr}UAT z13x~FTZO)Ut@@+)g`U;>ua`YMJ*!X)zJC3BL`P?f&t@K;@UgM63y1ehkG+}g?&_jW zaDF`K-NG?OwPC|epDlPwcAqN*hlYn)xVS_LdAPaHSXl|v#-Z9XZ{2$HzKBtEdwbER z-@WBmwwM%OVhO0nhjnywQ@69rp7vDq{PkpXrJdE=cM`iS%~oRI@#)OGyyG4}hKF0f z#cmZ55m8tiP0pTl{`2d+?sEy7Her-+br+aHPh3Z5LX&(bf>)7t=gytk{Wyx`XJ=+! ze|dX%aC}_k>ZV7rv7stKjDvU|Bu;xF^+?`ukQXE?YOcBn9=gZ;Cv}&PAsg*%za0b9vl%t)imw%+;LF3K;-0hA)yfaJE@uvujl27>ss_?Wr_aiE8Bua zfwx=v_U=vz&{>8{X%j_Kva;%U%pc(kz)wro{{8r?;YKMs1W?^#MRD zvR;d@qTeT^{U{hsGPUm}cG?YlPQMIBOMEb0pIEXZjS2NcMf#{~ViF3)jdn0FJ$=`O z57F09Lue^9QH)qOZF2hZhDG;z8>_d^-?uxS|3-M$7z?X<_~S|WCof-e11hm~<6r=| z^sjTqHnjj<$02|DNuC`*A7|^SnBl3Z$fp`n)&2eE(jWTT+u7;1>|tYwGc>0yma46* zBRCH+3OM!ryU{2ggY7aHTmO5d*ItiF+NSs$Xl z^hn8%${?JxjKbq9U1ZALHn70$G@}rb`?g zF?Z0(L*J_zBYkv+jDKed1~$o90TA-|?)#keJB5S)cq?ls7x&GV|w!AmH9)72ufItTi_ekA2@G5u+Sx{s0_}c(YwYuK?UYP6mSeK#hyV z4-36~^z`&T#4DE7c5?#1dVINk*uQu&`2NQer%&&>D#bv$E2L#JYch@Hxt@y3&8xzA z6EE)`ueg|uoSZsvJ-Z82brL??NOVn4I}SQsz4}tUZ@pPs=XP;vY5&+*lhCD%&P%`( zEF0Vp)-*VuI<=Kl+1SVgoy*~;DRJ-`OTT^lHhWI5$9AK%X1&c-CN_3<8X4J`6KigY za&jk!)nAq6s%+V@V@I_mA78@es0dkUX|(=={%)2YDLGO&UN{uJTndt1IC0|BL}q4Y zI<2jGhkJ7#E~j8fp!D@!+uS&Uo&%(IQTNV&m*o}55L%ol{nR!hzdCuxDAZ1#jP8){ zMnm#5-nwb&hzPehut-T$vKxbS+E4`niv%NhrEsYxIPQ&Cle(t+G z%%|M*=FO2A=h^u|Xp@E7wOEO)${E0CVSGxjYQ2lf-43cSgaAueaO&IG*c8m#w>i9P zcd+Mjop&8oR=kAcNDXDRZYsHXpz4NNvPsO?hw%xT!VR&qva(6V%8ATHDEw;4ErEI)4|yr}yZ^ zalgm>#Z#%YEeSt5a}%^JqP+&&=E5FZ%W40lvh3mElI z)8IElp&oRyZTz%(Y~L?2t$MU|RDOYv8&PeCM-&Iig}O}7!2ajEPo37)HFl+w4smrDgs zad&`y}v?H=Sxf){kQ|K8OBpf~~EaT7wK&*m} zjVDhfCnrapdCJ4X!%FP>Czn4BMYf&A>3ryZ@Nd359!C*pL|^b_WJFL&i4VP0Qa2T( ztLirics1b;HCNubS`FhIK_ME1BZ0(O{Rqtq`krKTqA0uAY_T1Uh59)qA~GvWPghIo z8XC0rW=4bZbCn<^)0i`J_ zHrcwC$dJ|`WWNd^cr|hMZu}hEbzS5X&prWFs zIDF#7oxH3R<-~*7gnohTt}!{ z0KZ2oUMW_W&`39PaBrROZ;1Hk3|g9rU!!1=N%R^1B-dCfR;w* z^Sy|)G-2H%9WEitt@B1kbc~Ffd2udtk#60&BXG&q+TeD)8;{+NyKe_ZM}rUZdalj`Ll^>D&2T?OxBXe~zUZ981{%W5FR_8GGNS(an}p z`1trFIk1W0aZ()f@+#FHx%BcoC1;AtsI$GN(ebs-WEmNQy=&hc$ZfAg3~%VBzPetE zKBDxCx)8L4h0g9{WK?VqFysDiuC7H^JGela=pIs?oi}nnZq6yaYuC}}917{MX)EiZ zTlm-w=@}WUE1!);Owp8w?b1u3o*3`U4OLe-I_OmvyZ9^n*wbeX6t2!Qv;W^G7DKTQ zgXzI4LCN>@h{NbqUs(`dI?cqbTg>6!;GzW-B0@u3y(~`~80;`kR9W#z2l8M}8N!;P zRa-PZVQ!wA-)pI-6}li}W|6eZ+qWnC)fe0I=XanF%xZNijp(-im}6EpJyFs>)Z}yiNGir#pc80^FS6Gwpji zA(fun$b&`X%16cBmKoshPn{``9rfdLxk=&j8E15!jJyiMYzZzdF0WBlWafzV5E!$C zjcs7&duw+5Jb<@yz8<=bqnmT2_U)^O8zEp0Oo#M?4+ieQ(b@Z0!SEz;-Rw}li{nuB z@Zplg`fl975JWNd?!%G1wS8soCW=A_4)8)4liy?dyeVfypKsOYd&^V9!<6Xzb!IsC z#dSP6{rK6FC+iPKa9ht_MY~BbB*pf9Axra9C8({#`gPL!={u&L>Gf)QjfMq`jtd>dio(7o885iJ_*FcOWJm1U5L6?R9N^LEsDPz zh{FhO`6QOdXgP`?fKFYI$V0tGuzC~C;!IZ<*Y3j4$rM^-F;i2v{+)oe_pSr&O zy^h~+&q?Y|1VZAl4hv4t%6bg|Jl(LbzmQz`vK$Q6PR*^vVKv|H8wt>6752{hWey&k zO1i#)kWh-5$V?cw{0ZUWhj;E=Pw-i!0ZwV|%FSog6m)lYZ~m1@8UWltZ$di}x@GTK z)B{ezi}#N0K$#)VKDZmUflK}Q^QYZpne3QGvg~RO%oGDdLoH)YiWB4*NpbPYg`dL# zb3cdcot77z!dcXCG9Ed0tQsA4fE{6463*$~+G%TPDX5^WsmZp1zoG9#iR)U9tX0#t zX6j5np9KoA4J_d)X&D*S1aG1hD|^#W)h6PAk~=}ZDn17w^Wx>@g|UUE*r7inBV+fy zd-t|UO0piT8Knn=0m~w@-~0Sz?~5dh7A-8*$LJXszKNp+9Qhb`qoib?sF;|pp<#+{ zf+dKvJCEX9-hBMX2){=as8tGSe|0X|OMc*Hz;hi3$y%!Wte~Kk{76Yulpa*quqJ_xKrz1pgN=@a*xoBOtpy{oO=KwLdu@d`;gjOzL2ue7){9_sbQMK89^n?nM7V`E~@&i(k* zpe;hp#B|unNy2As#ht`Z^Jfz)D|m96jT<-W8yN`#_e-zrl$K`0^00I6FUrr$t0cgl z9&H#bfaVu>{NAYLRp84P2FCifT>gZZ*EEjQ~pr&D!Y|h{V(yqSqLhJjIm$$b! z%cf0~k1f`}y_n!l1^yRL)&jeYbKiHnzKYDZUoWE@;Oh5T5<}NR{00Ej=;-Lmw{K~{ zS|nBUbgy>&N6Zjv0B49lN*OoY9K<1?R}LG}Cr%bz5Z%3BZfO`+Qc4sV+r z;R0I^_LyLxES}V$d5y^y96(?Gso-KLZBNGC_g}%vZhrLWk>jr~M+e>Sz+(E7^WE3W z3eW+F_9FIymVIanMUdCe=8l=dajSQgl_Zo+knYtecK#D!FdH^kaVvO;gM&sXemXTi z`}60aBS(UdA68G-r={>a_H=A|wXX_m0;fkU;BvsL_O>>wu$R#w;&F@l0C9$msg3`X zV@2pGYwz)o8x?-j<9=_)#DoAvU`IU8%AzOe{-UCQ)YP3lQByjxK zKxZ*;CS`AtnVFlb0}p-s)-6B4MKl3S$DXpn)-c*rvKLhK;M7!qx`qw(5lgHbbPX!F zsHBvX?uirY0+cCmT~JE=_@$szI!~@VRit9zT(6|0w0-AJK~x%WQfk)LyUs~&#X&sq z^=kmc;VQKI`g;@Q(EwmG)C)!`T<6+nKLEooL4@GU$I1M&8}8h>svAVPy3y-Lr<7ZaoCnaVC+69q=4&TItoA6SJ%`KGSiHBNNDIL zn*@3eaZ=-frAzzf3EguhTuuFEnn^lSQIw5^fxy@wyuN_?j*gDLu1#1^W1{qO!AGVp zU%q_&`0>ZC6)-vmr`&t~;)UyllHgH(y;G-l8MkNbfYL=k;_gySCPE4MZUOzy3r5Xr zaGh9S^JI6_fLg2tR~k?ZLa?MwbDMy5Ms99>)eSe^qdEV10XF8_^~i$c&TRLF+f0m2 z82z??LV~%G%WZtrQVxiIEtz0s9zT9e0!wwW!bcI?pC0OK_fBAarPYPx(UfzrQ<@cb zZ(uoU4zUel)o~-EAV~Vdzzaz`oGDPfHiG|TeK1Dl2dbsm_Rj_4M*o~VcQ1G*EYG7nlAXlbjf1L$U-y~9RjnN|4v48i+5jkWE1wBMZ(Sg&>k-7|i84ex!= z4;~gpQPd%5aJ~cRt5C+QT>G7d>nw1Zn0DU>qUW!J4oYr7%X90&gFu+JP?h} zMhV87`160Ky5jc!`E%qK$A8-H?JpAl?{e<{{NjIJhw66E|9KSu^C*bYD)9gJJ6y{- zk-P5Qn7**lyW=KIC%0ytIWK%eLXh|GKNb*pJI+o~uaqP5b9TZ@Aq`?7*BifjGx}+} zG;VF7XZB-62S)sHy{DOYJgsm_$V};6ho$FLv&^LruKOzISjq*)|B<%^yo42JHc7jk z>$L3~Ib*Mwao?%UhSV`FlyOk8)%(R_(?zuRlu;H$Z9{{I#QuaqG20E{=*ZGBd6 zYwrYkr7-?;$!3*_L`J!@v@U%2ol??x!~UxxPrfILN_r)p42ZPf%@WsHY`ycEq2x<; z;rewH%qQ~w1m`%3szF)cD=zdpp%8w?i zu){p`d7f$92R2K7G0b!nFX0WkY;eTuaW%^`~JOuYS!J7#(GRI?=(pvcDo=^z#HXy^7?~+e@ad`7q~5}B3sqa zzbRN)E60T$ViRG8S9((!gok(Ao;CEeNw&2iEG~MeUc-)5K zw7h(^tE;QBxtV2kbrtMJtn@hy}yo&|Mi0+IbK5mpVt*@D-M69DS-Z}wzfj9D?1o~!JtzvOs%at zpxgNF@&Pu*aCQ;H%1@tO+`ZEI45(KSq=!}HRw*j)#hGR=(@U2`fBpL9Kljq}_qM3_ zCcR2&O8TtDTEi5=p254-o>Vz2$xay&q;F>@Mo7=y z4-yh0;mfvMUijJ9CSsk21{JxGP&9re-=9zPlnjG@T$ry|3kM_g60hhUqTvD zz5*VKyn!2vbv2SJ0)-H>KG{?f483j{0EB^o!M{bd`zR|#(2ab0%B*wGPj}?ss;Qx; zekSX8^BS!+du35eL|o%Rsz5HLd;(v5y1fyPfnLryQGfSOI4_6LnB7$tL@Sf@jb2uKu}vsi&9$z^%`T#!Nt5oEbD6boq@<;$9GzQev;b z-lD3y-RutXf@h4P`BUQ3Yx~BE`NnN2mfiFC>*To(Dn?)%4Ng2EbAPnG(qwUtltm}| znj}KS%_K70yfH8^FfG$o_%atedjMRlqchn)4uu4>{Tzg7FsQQi@Q~QJt?i8WSSMnb zRoPu+n-4cJVP}y*1mFh9=<3(6pJ*)h!Plpi50ww(Ch<2t>REr+x}xazf{|a@U)=edrbQ1Ja7UO%w7*}} zv9Py~fd1p}?_Wrc3;4Th3h%b@ltyi3ma1b`nQ)<#4`cA-5oEBq*!yc$l9a$C@%o@` z-$!c)(V9U=LCp!l^r(pLQBX!8F(~k~391urCRU$U7aMuoIy>Es=Do52l%70&N;3h3 zIt-Uo{Oe0{zH7K-ej92uU;QPC46kl$aQhRzk`6hj+0)u0^YPxGbwGrj|QSqUg zH>8sjd+UEKkh7Np<==?6#J8T{byHefE|`|X^&%o7q9xDMBI&Y`bnxTia+NIs_f#{xjC2!M--+G`H)vFw-2@?cQJkpR<-7N>w5NjASB8xRnXHG}ApJ>|XmY#R9Mf#+*FkU!MHqq&mb|0{C68$mL_|4{>22UPf0k6NFbJxL zHT_uzP4lLqp%#J3G~FMYNa&!LAq62zN(+;4Rfa+48EflLIkvhNt%O(aw#4i1L3<41 zl%*SjbvEYi<>xOT6XG=9A=W$xc?qkNSQRHr?0E=-4^hrRbJ$Jl=_DN&eyqPc-+4qk z%dBiO!5k&*d*x1epFs}{L3iGXzOyJE#9P?{bSIem zwL0Rvx)El%*3v1ETZD7(5+aN><%u;upd$_qWT0%MT$8bg8V!DU19+NLdm^W{xGBGg$Z%6oCx{7SKfHuc>YaKmWg-;a8z$Ht4 zs8*^`;RcZ_)!4q(@%gAn}!lOD-CQ-QXqhp}z8 zB`T+b!~W&sSf&TEIAD)OmoFiu08fe}>ibXRa%g+pC%W6uR{lizJUHdtpM`}1go2eT zd{$JKkiew{6st#g>lzr9@wQI5{RoLrxd*mZ?9=Ax%WNDR!9?LvTKlaO&>l)0|0qoa zd?hRXHNoHhVjrtvYtWUDY{HShH%Ev2K{Idg+&E)N`aYRGPr~e` zpVfv-^CHuu>6oF_IkC`d!_KRux3Oo1c1H0;sBfyUZcV^`vH?_#X*obDBB;}K*jwg4 z&QN|SsRFY`BG~tGWv)le=lv8aIV$@}{m!#J#dc&Z25||AD%7G+XTzCs*l#)QaY)#Z zMmmgD*POGYoN#XeMFkg6z!62b8;RBJJo52oieKS|+=q(fAD4lIrehC3$T&d>jgyaMR9 zjI}i)JRaH&f#p(udbm0 zowEV7dhIzf6~+PhzgS%Kukn1+lqbWl{Ax7N1`#)SXL}7cr=fT6OvczaN6Cs=iruos_kvZnE_mv+P(rSri5L$G>jINAg*DN zO%C4u?|$Coc+QAolTUW-{f%}azdZ9#1~^r8488Mi82*)E;4v9VzIr>OXEa=W-qs-c zrwLEe?-(Y|d%Fk1Rd=MsXRFvqCCf}2Qc8VnFFq++bb{uCqIuB03lRc0U5HvLTTPEQo&25DO!&>mZg`o+bV!R8cF+8Y`ThCI6u+#j z;lf1=i^NuE;<>OK6&hG*4KVJtAKBt*q+vk4-ypPUQ_;fjTC!+lZp{-Z*U>Fzp>Y%3 z47yL(Z(cdwd5OQ(J$Ls{rIPz;4m(0$oJy&F`J8;|eMbGxefK@~AH5lAFZ@&Gf+GHD z5M6EdM)|U-w&Abu?JCk!zNPE$25>oS70Ii}2}~$9+5g-{l=LJub-3lJMqEb;9DE`6 zY{SFDvtFz4ap|IG>haoN0`oLcK_AIEtwUVzbf|{!B+R}zlJ`j&hC?x251nDd)-5Z4&s%bCv?(!Zn*&A=bXE9PoK~m#d-F0oZVDvV z(y|Y^K2mOp89%=pGr#*Ka}C}FS_|uV20JGuOpVDF3QWe+I?Z?Uo%m6XWK*DZe`KKs zR7b2_|2dr2CVhl@2hS|xB~(p$>#c_`KU)-vdQTu&z*-W+`#P}bV+zMqVpI050)BhR z=aMg8yogx5)XA3~63{>#AyRYicheO7K(zFxrrhu{5G}QpCd-L*{UgvayWvqBg)6&k zvCUK~Br+-RxyuFScJV=5ebawF(T4|5r@O{%zv?;8jQ)Y;c6y>@a+d=}f7uLfw zn*On3ZQ!Nw2#1nVaA0<|mVlJuaO+dmYVBNofV-F{s9Z zh4T|VLFiMo$IV--!|vZF>o>ORwpy=`JN5gZ&|O3{mH1Gysd`s_emt`-)HU zzA3mWwHPK@@8e_!SY8sX04?h zaKm`*hiQzh?}be*D4%J}38B?vCoT?3zD<^fF+~o{Qco+VU=^*`>MYl4Lmu}{8NMTl3>lJpX$%apE#m~ zI0ySysi=$YR%tTQmqZN?2qznc#;+=#y4m*YBLm;%Oal+WeD_Y~rXWnx2IF7jU>GeYZfz3%#|~B!RfC(LtdX zel^w1U6Q@b^A|V;Jwqg3aR}6VT%>$+o*^^)(pLN6mB_6E9}*`7g%v*dHS*pb?v)dy ze`YUt;Ei$MJQc?f{*$dyTK&gK!I=`9KfOkinbTjhb7**dK4cu$Jmejv&{+eU^jQ!v z1imyM4%FE~5I4Lda6<0cqn$b&V^Ulo4_gjP5v1f5Q^RWlw0Dge_A<|#h2@={T*Et* z1~;Lj)+`b#JDzuc9!tKot;T3i_OlOeyTV5cK-aY=pR_-8`aEknZ=1@)R%le_T_SnS8RHu zDajAiRmr#l$ckub>pM*ckV~l3GIl2XQ;4Xg)P6no``52&%$5p$;BSVu395Wyd>Nbu zM3x^m$G#tp2D{nu8VGIJA{Ga!mGrSIqQ-^P;JcNVP@oAc*b#dHJQ!$L8&UQ$kDq5b zI74jt2`4+Kfh0Qs2wp}Wa@)`w_5kH;NQ4byW{Wax186m$=w5kp8y?CuZ*T>MOP@hR z8n)SgFPb_E9*uyv-E;VGC0+9%4VDRtY1eBhI6m2_wRCjqk*#R4X}I_0%eku<^rGBT zQ=_84^RMucCUfVM+Ec}KV(0Uu*S~W;>2W^VtS7Zl^=n3+qQ=dIJBzZp(PuA;*3=zW zQI*~mQ~F`!LgzO2Ro2|s%?f?$7qhgFpLM;?nv-%cIGbL_>rH;s@5GNe5VP~najS`~|yu{Kph+4o@0(DFL7DZJtm7GbN*YPvLl**TSHd9}X&v?DxsK>~* zMw3xh@j`IZW@Yxno3_pcZaw?)51IRYr#I~}dzo9Ysnvro$*-f{{QNFB5o^=Lh42qd zUdmP|dR&sHmW*CuV+X;3kdeW8CkKFGK*x7+6Ft4LkGUdH06ed9f8)Xdl47Ew(`Y=u zOM6jTQEvp@cnfq7nsiIpnX)I9&<87kKqJSQaDiJP2t9&=`RiV&z*&yCO~ji6Ga&5AEgDO0*~J zbvw*V&RSaDAZXIPFQ?bxuP8}x-oC8@U zq*q7i?jWX?*#3MZ#x7k{P*4LVsrRgKvMqnxBw=qxZKMJPZR-lvOzI_urg(s6aXnCy zo4eQTN7ps@DaQ&cva`hwEDTV-{QYtNM9xMPVm+3(swm<+@h~dk_6f#I+D1t!Z&w27 zD^KpEyvp8Nyryc@MxiD%LC18C^kAl4%;=fagTb2zsJfg>Ciba^cx}t&%zM`M%E968 zg9k#!oURCxJG#41O?yJN34^)ws1-bWC7j3JoRh?uA7;dJl;Jytln{y+4MMD@riKz_ zIa=Ie9g%sXqYIUtugBjJbRyt1(el5puOCMF5EmEsgKttjjN=;8F^RAgPn4dvL&+sl zV1xny2N)5UCKAJKZTerneX9nGi*|>w+ri$-!p$9q3RJ>*KpKW{Fax5RkK|a86FZDP zibzP`y?XI|W=BkCIhj5^7-?4-6b-`6gIMOg^Bmj3nqi5e{O;>Mf zYB~*qb7*mPoT!tCDH2g_boi#}zMU9{7k(}~^*52EK|7D9r_Nw83XCMQqjo>tgQqN3+`JoS&}T(p%k z!YxnsUR7FL?xQ5$;1;JpM(ln!UQEQsuOk(kn%xdA1Q=VGY1PTcSU@PKR((n$A{vF4 z!yzMJUI1orY$x`83k`k`N^YxZx02S^iX0JL-Bj-ihn9P9vM%*I120##-<#bRoaTyD z5X@8?@2o0aap&!5d$`K5%tig|#*cNh*ZrQQ5A4}(Txf4)mJ!!c+|iMML0nzkZWl_+ z<375S#F1MK%gXk)8E1ERn;&{+fCo`+Z+8MdKD$1H6?{Q8UR!0eOaiw@F_^aVnXf*u6B=*5M| zAS;X_B98X_29gq>K9b?OLyrG7LeqJuMc9@We~5E=usXo3*^YQv0x}A8uMU6w#(Ig* zE-++K-E_B|s;RZ$$9vL4XA*sCbQm|wo@r~QTK?3}=B%hWaDo4j86~rO359J7S6(uM zUQL9%Y?bO3n!x?iEApRfK8UNfNnyGg2{O|HCiIXIN9@H zDr_CH0+aUjjJij2sd9`iyZrNiv9MH<4hMC)mQlRZ4p#i}uG4q-slOix(aJE22*$h- zw~=#(Kg7=bHx%XX@7f;au06n?7^b5C&jo@>2fN#OMkCf;(z<1yx&MuY;D&0i*vF5H zS2xL^YhGN`F5liIV;Exb=;%L+d~mReKKXh@`1&o$AM(0Peox*f zEnJBHHb6!4-+v_U{1divV|nr>Gfn0#=j#Tj{<+s?Ux^#ZH{$l#S8}~QX1Xv{n9oW| zV34SFew9M*G)rjr8_5-Jn(h~5yR@^atm?#vA2pT#{-3vZQ^}Fv<|k1-F_aOge!Kq0 z#4OYC?GN@1opYk3I;kPv-mqRM%&;=7||5 z$dvj@OG^`&@!v@llb_2&>*~}&s%?Z;uL6N(aCn$fL?kn3@-NNIa+^9djFpA-81{TP zWK|(NcYFmw_g4-U64E67Wm%GzHcH6_8^cn3@SiLiY|Vo072lN7c5j-7`UKg#k#C}(rlwi~Z;||9F|XaL0z30{T}p0YV@P6C)7- zC0W6CkvC7!nljt}HKARn;XI zqE#3yHzch?!O*%mF8!h0$cTIdGbs-&xTyK7-h<^rDB65@$RwOV`B1ko+ckKyBrlH` zn}M*u+9)CfGH%r7hRf%vE^YsS3@Fff0?Z+ zRcofvUd&3-8JC0uzS<5bJ$v>7xFY(FeFB!9_~BqNMyPC=Lp$arNhOz7F9I(&5n@3r zO!5Py2F}Ld5qfa47BBF3Fv<=?r%*1gK_qGbV-`S6yB+OkfaN;)**>TeEdk~HV{)HA zer%x1h6u$w^t@Hle(l_3;3wCUOis=FP@j7_1Gp z>s;WB34IV`W!r_QLzA0!%1)!sF>upk=KI+RgT3@aQ}WTbKjMsrqz0-)x-j z(3QHUr#!}S5iJz*VS>Q^Q~mUS*`CB69LJkbu5~A6$3H5%0DqaX-!MunGRH{*wi)m- z_#x_{B6RoWWYpVpM45)m5_Jw$jov>fXnc10@(XSZF~D#{q7t_ko0yu0L9j)GK@C`z zS9iBN0s|j{poU^jgtm(>><9!23s&kZSPYv;cUiQ*(1vsq4GuaBX<%~^RwB$oXSIV2&5Ez2Wb7V1f=#gX*JN1u-$4XrzW9C4#jfNctJ_CnQEN z8><#AS$oJjq<0123`*6GtA<2j%y8Vb5a}|)xJbm#m-Y`Uo*!Mw4p&Yj&I`xsfkQ?0 zF?3R?Po4~5`A1`V4S1Z?PB#o=aRkZ!=zzEJ1YyV$kda~Esr{%DzjI)CIN2Fx&9Feib|d&4Fi%2Om0_o0FrCvk9V5m}>K$SFY562Lte} z&SD@YuH3wN2)`3+HSPDG_wU~2Vcrf*S`=2C5Jj9$p~aBRCEHi*agV zz7_X8}Wh3xE zPR+;1g^!z>imsnTfeYw-Z0nYaik@X&aav9Y8VoV($H3tJXu)l8k>CI=-rm_U5yOaZ zA`3AOs2hCa^sisnLH}fAWDu&4LNV;ANKD&&aI@-&AGUFD*n72;vJ!RJzwy}dRb_O++xc*0jC8kf-A!QP-YazEvp$ZY`8nj1_9h&f_|y9bD+4zDlK*c@zSdW#jC z438Ws<~jqKU{cIFkqn9mG=}3@DoG8vsH*h`+!T>JMDomk7128w1U6%xs9w16O;IU| zUwY#{xHWMCtV66FU^w_h?$^um1ckhOe6ll_4+Cv?9Mj2xp#@`toS*=cw61MZQmSy9 zcwbD$kfmERY^98rTqLrJbZfLM->jt5;_q=C*YE?l5`{Jm@p+6zG!`K7EB zfKnpJ)mz6**5viD6R}D#9?0U|ygc>bynkPV$031i?v?Jngx9jj zHmZq{j*gfTs7g@@#){amgblBWt&*7g1Z3D=-1&KU3_8};&V3cHzLBmcBqVgNiEC)Q zmlf;h4O|fI?Cc~S63cZi9NxrB#Rm@{X~ICyx@l8Ba;LhE=`s~7bFs|51bc>oU82iV zmnO}@j3aZ*^!U5)PiS58&h#wJ-q+RC)9bM_Snb_kf8fU_B=Z0MbN)1&n0a`z=S(3y zMDKUs1J-LtZwWSU(V%Dyaj)2AFeh$$DhDlTn8?@19Z%QZ&~sZmUV#Rw%*WOh2WH#! zVDIxw^Th#KhhECHV|r9H^1z}nF*ylS>4?c{!>y_Gh|m3EGE4zBvH;-3%ABArE-zQa zcZ~4!@7GS(&tPC_evRnn`v+o}czDYy;gpF9p`SpOc;#qrZ@&kmrK`P^oE!%+)dDP@ zYSkt5G#@aFSYPEk9v4t`^9wC4APW9-O)|cd#uxTsU0MKH;4o*Ow3Sz799s^?7#y`(o(vFuy~<;KlT__v~^K& zAYeZg6R&8Yfs`Tn7|O7t0V@gLry=^z-^v;YA5i{G(7Z-02;Q4>dKy4IgkQEPUcxf4 zW5%_eOo^t`kV~rnHl|@^&sn~Fh^yV=SMe`S@rx=cDRF!WlUM*JmstAg4fvvyv~C(B z_!}S!QAo3Uv>Ez!0v778eM7P#dk-B6JFYWYqD2%K@Hr+5g~COh-7`)tb@5{xS-P$X zZ>+aJ2B(awy82nD3ekkA?UEGiN?xX}a@w}AS?A1NAqp1x2Bla-w1f(qs4iG3anE1p zn%Ayf`Lvg$s&X3j(>U&c>F)byF{EC(Oup-BMnRpU&#MvA>rx6zTY`EM>Iny zm9`UiZN!+7%4TAUG>kIHjxr#|0a$@p#h^jPv3&hps_(m}-S+BJvY~2q$RFs0?0By> z(RS<<%uaE&U-U!27KyrbvY?X=Sb`j;(2uqjX)nA*DtFbuRnaCN05Yd)ulc2c*FMAkt;`xs?=|) z3eYk>Nl6(KHO$I<^DHhdZnQkti@icjKVbyWrTT+-3}E|EpL>5Tp^M-K-eWPW2>a{8b?+cQrYmsaH!mj@Pau`nwtI0S`{lV=ijioisX9 z?GJ^~vh{e+n$LzjE#~VEO!6A~ieUJ6sS=mqfeLWrv5GLm2t{N+hczW zc~V-8yRTw`22fb@gMyO?Z-;(fT4b9t$bNh4;lock`cn_2Dx{gBN)tGKDYmySm7P*i zp(NTUaQJv&Fh(0J=%Ex!AvRI*)g=;NqI4>D@d==lk02Klz zAP6#!f`WpJPpnnd4pUIri1l%=wGQ~&MkTM>Xk`cbkVst^ZG`UQ-EA&kN~4vTWt$c6}Xn2 zoju(fII8k~${gITPHU|;!ZBbMUMo+*T2EO^Llm`h~ykhY<*?{wda z^AoQRJyO{Y8n}Q5X45;N@!>bg#t0QON~{my?>KbwBnK#pvW7J>nA+=qcd|$ih7h@1 z=&T0q%9-bDmv)8j8mDJk`~`CJ=pNVS0MxV;5n#?N7FAxD?r97B-d9%AoyF(pCEJEk zHa*MBr5DKJZh=>IT-#T*;XK4X3UI@Ph?+7qw9eMnwpq3@K`D};KN=dFKhghL;ez=Z zvv7%_Dm!*;AYj!qNlX?247eQ~9Sog|7QeltQT)~;+S+xnHL9vb zNl8iq5?@0lu!P89OlPo(MRx=e`%19!amAxnyp}x=&L*Szfw}}R%9isW{WMJ$g76sZ zk;%SnQ1qc|H29Ml`Oa8-b*t7kjk3ogF%=mR z8-Jztfg|s2#t_8!vMV^Bs9>4-E~mTyTicJhv9YWN5guA~X8iV4mNgc%9JkZ|_L!f_CM0j}nl8p@l zW{`Kb7uHl)w>{Vj@!oL>Lt!+FVvRTQz|*&uZ!3vD-AzZqkl{;aqq1B~sKz!)Jwokc($e{a6cn>%bSgsTd$gdc{d zBI~r8OlC$#SkAWba)NdfnJXE)S(amci;I&}Rprl2qE3Z=g)e5kxiao-o?S7~)4Kti zKb>9suCiHR>j3z>4HsHvGQ-Abyxt#hYjd)*RW~)d*kp}KhLo`HB>pe<-a8)ax9=Z6 zsWi2h5$#Y$A){!aBxG}2#yYyJ zTh}p0U@b^L&OP06lAgyTBQ*JJFK{YS?w{wX`TUtBJUraEk{MH+&It1H@VrL*k!3aw z*cI7X030F@Pz_)YCb_F4cvSvy}15VBE!}5Ym{R^0pbm7R9w> z0sQ;>%F6ouPk_P3q4w`V*bUQ&+%*-aHJ}qTay!^(484p`yam^Qgl5H|#$lun6U_-w ziw*iqtu;t3F*R>%VX@XM(BJ>QJ72u9prfBuEo4!+rPIqZ2i!SW`I=OneEZ*^__37!W}gl@bl^2T)fT7?eAI zP`=Wv->3xR_Y~geqjG-*Y4n|)DOD&Y#^EF(2#t8oz9(m-CbuKyEG~dNBW`GDF2h1b zReU(w2&MmB>v7<|gcE^H^LznM```R4SFXV82LWsC9|QO24&mZ=^?x}}0?r^2kCVWG z1mJ=Q-v$s8kXV-KHuxv850XO{@rvY;)0H0kwCeZs!Qr`)kr8GG2Z!(?AY?H5uILIv ztQKK{;0kL{;F=VZg)8AOaje3qaG!A}&}tOtWdyQo{|*pOu$xI}#22_jqW&|4hXYMr z6v2HQu=jRWjtKq@8#a(MSwjS)EyGu-T**UlMjT?`R_^=(;~K7>nX~Ir;^1{T64`Z9 zC=`)hzdvmTXi#yF3P=f9z0~K8KwIH2D<$5r;8$mSl_F)9my^*8u%w+vuv)8Sm2hq_ zf{-7?)bHIHk@7}MHLiRJq70(*BI^ymPvQ~tZT7py46lM75DdB38x4TI`_4Y00obRf zsycsrarEYTsOD~=l)(rA1W(1Qzv#KOltZB63wISbB>{}xBdW^dDm8{M6Qm&v9J%?( zsFFJ71AVe}j3se5kSH(M0&(DCirrl_ii8^=r{#uaK-i0v^V(hmWh7o&oHQPIBv63r z;gKL2E_i2H@$TY@0pziANE2HgIGuH*(_~5KL?}BXI5WD&OpL=9 zL*@mbq$1JX==luaE5Y0g4GZ(1ouew`IqRDrZA{z}5gADsCdyg^ABvF6JSwt%4Id#L zkkZqOYzkk4ofS{?8>pbV0kVsTh+uaFN1^ufYg{ z%7FI%4uW0-AmTJ`ekcF|vNY7ikBzK={}P@Nu%3mbCAlpmLnp%-qJ^B9 zLknK0dJ$#3e{pSammsMt|NH=u9TCn)fDkl#P7=>N?#1l`1-wjN`Xs4=k(0F+RpEwF zehmE5+(o`2kXPuS8}mkhF{}kS2QP1!#qAX8$CM!0jbTgJ%lh?l6585_;LL_wv*dEG zv^lPC{)ihxid#J6Qdy^kt|O+8yiCuBr!k|W^u_fRX4UOhGk2aE+u}98%}sx>M=G@ zD(?udfUQlv#4YsMvoxfCD_z#35jzG7BW4`^a4I+6Q0s(=51+`qd6*m4SY(BhZyfvX zfp#EHsp-oM5CM*Lq+Qh_IB}h1j3K%B{IoR57^BF)@o3F=)BwNq#%GV*TCmg;$sj>S zww{)jCgkzKg9oX2xLO2Y>(ql$?qnZTR`!0`>^2geiq1POP81;|yiB6^<}1->klZS0 z7zx2mQtQDoVSgv=FAii3060dHxWGrz#1C#2Hr{yq_HEqE+t}*JS%ne}-aHQkpaQL1 zw{hd{;Hgh7H~=@IUxB1u3OW#UN;~||egRI8YMB^cvHl|%@3f}40_NBI{j(SL@p9ZW zrSsBDi4L&e*EShxq$6ZZWG$6qT(bX#UNfo??e*5$cti(gq%S@ z|1zv|SkI3GjKkF+i6L$}A2)Zah#5OsQRpfmbKL+_9LWg7>IS|Iio^{Mnc2Ek`CCZ! zKQ+G^#4JPy>o_^R@eqWAT*uQvZZ#3Yv9i+VwE*@2}~yw{G1sej_z{ z7iAWLt^lM$u}NnWH*F#u1sDyIC>0pEg@m&8_C{MdxF1cyXCp#ez#?mLwM6(95<)<- zNf}n53yBUK|&+cQNw7KqmFD|19 z?$48RPaqJ!f)^ZVy>Q|LL-EYlm9FRo67U5-Ra;Za?LDlr&8$8)oS(#Ygbb0&E zh-?#-K`08{v8jB;DMby$6wBQ6QB)rPY=^BIQSiN>zqz=}{88ZHgf$~lS>VODbojRL zT4CssX-nFP2{$1go`lm?Velu7_<{$)F#({9s9HrqRTx(2P{?ox7!vLbv@#&*vMw(6 z2M*9C8}CC4Qr2BtCG0Z=R>~t)AB@dvoL%@{$iNm7JaN6|c)e;q+GE`YJ%|!yu)enn z8mxk9mw|#r(K1jK-Cw>iU>QL#5GNnYwsGSfsH<#GnBTt_CrG~w037Z@%1aWYN!kR? zOR${ynuYn;pq{|f!q?BeZXJstiU@?Z5+Z}dE1)ey=1Svj)+)jeLjVxgcCJTWN@{S1 zSy74!-o{%bg#wCI)H&r?2&4(baS8_&8s_2}Z%PIdJboJktCb#6jHw4S+>coFn z$USKI{+C$q|Kf&ZD)~pO%Q3lyM|#;mPxQLwMEj?wq~3K;V}pN7a6LtO*CnGBM+ayR z?A*>>GT%EeIQp-joHT?!^wZVF+g=*GdVFf?v5%fjS&`{~N#hR7td{MG@_%gx%P5Q3 z#dWz&-WF;uSz)Z*B|o~kG*z!kpyheczXgZ7w}eGATQq81xnl>jm_#Vuw!8wrqZmC_ zu!+ZCqwgY8Qc({W9;rL}hQEDnwL*3Ogm$rV?Y-aMH?};k+WxO?Lg|{G>nXP!AO9JZ z!u1ahukMUDrv&IKcXM*v%SiuwXWFjmcIs{+!%T_X3e#$u%jU8x<{KPY_TJ^LwEUM; z(ngd?bUsnF^WNR>{-V03xjXi%w4Y168O3cH_3(dwW;c^)m=kNu6zdiKSD(_AbF~HD z|7*i*P_lP)J@vxq63(;rGs3S|-O66|KfiW|L-(p`7yfO(Hq%jylec{BMBl9V=XNTc z?oVfUl&!F+?SlTK*Hfn^fhFhY^5J{;&Lo{)t#ot0)_ui#Ki!}0>nSd44!^6Q)brhR zUf+hW7fA3V!cpxQLoqY?JUa^-3}S|0`n=iZ5zuA`P*?$iN~7Y#&h7>(1*J_X@|Dr1 zyaRkja)cnvx3RIKzu%daMjCcuf-IJ-Ee?(MVkmMct7c5oxX)<@xW(1O2l)l2*-|vH zLXtpIZO9w|;J=KNRqUc`(H0*?r@(ao4kwlDSP_4eyjdcYdCcE_6r8SJ`y^}N>;X{? z@8A^K-8%-;F&p$Q>W*yI_L^_##AaYCdkF0g#WJsOkpn6a{FzQTebqupeoDw~rB-Fg2#r<;SQ{ro>Z6h!v5EC+R^?mI~9k_>StvgV(K~VBKG zPT`H(u(^Nqwo?NEr&ROtZB9MrzE#f0^+PF+dtTJF{{7T$bQ5$R+cPmY;#~Rm?KqTt z_4ON2;^XEohWLOP;8cZ zBDV%(IgGy|W5f_Ty%l*hFk&&oHZwCjdj)fKhzba0c}UcY;Mt0bmquLxBvA?t30Eev_ir!Xu-8yG7EVc$+T}2Hz^o(x zE|do-^lsSO??h@BCLO&3aZh-t{b&S77Gb0G2l*>4RLPWRy3YGV00P-6pGT!W6D1#MyjM>VQ(NLLS= zwJ!r~T8Od8i1;C~T)~!bV<&49?1t|Uw5OGHK&(0Iq$fmkjc9%Y9@Xe|*7Ln5mf85w_I zbn;~|$o7-aACm40MzKe&<3b0GB)G?b7D4d6=1#nM2-Yo`W=JN&VdEev(!wFIm<2lD%jG06t0i;^b*MpH=dN=V`fXUCCeQim~=f7N%VmVy9)lqW2+EZ>);}9a}W~P+8KgJqTPV#PD$O=6K+$ zZ03aw;QMx{L;*??rYBhd9UW?%#Y>>FdZSN;0ybKdS?eGnwx~zB*tPHhdQWvy%iWy|ju3RjWRXqmLzN0?UERiRZW= zDdd3G%f-mj^ZFDfhw!`$m`PvMsg1is5}VFLxPyQ~>i3@%^@=7lVC z9O+U0S#+PxpmV;oYmaj%Q+APUpGa7DCgU;h!*})g`z)A?LCkI!xJFCFECp+58VuICQ}_CmV^%8Q1l;PE_!%CD1arl1auYH@dKs2 zGYRQqI$W!yg@Lq}?D>cmB-0^Sr^ZR<3*x~5LN>Lm0SpYSulB}vBBg$QmCg=ZY+K2thCa z(31>z0LV)r0VpJs1Y2J1tT;n=a!%*^myR4ax*5lIGJ33HbK$*eRyPD%l<@z5iSwZWma2~Xqrrz2zi zS;+{hfD7`xA$r{&61oDViVzSItU##X!N$)hx0X1~k$T z5LnquRw&tuv&vyIet^ftBq<&H$|ESbwEQ-aP%n}j#(MD$7Rorbhvg$=CaJQ`DA7!LPj|OkpPS6G-A`*5%C!!lJ?Q!9vT4FI=d2X)uCTt{{01%m9S~N#ob9 zg?SP8HJmBee`96}i+SO=dyO+Dv;Sx=nOCFbVP7tspB*ByHjAz!V})*H{;-~b5*8-l z#+{4zLz+g6{8>(&FPWCsY<#MXyFk9CEE*=1eZd#=7U=ffKjbkaOlQv!Im#nOtKya( z+gd4wabLFF6RH%ZN+@^3q|&q5m^Z>==u%}X?cWWHMfy5f|xVXuiWjIY)l+T zAZ!f+Usj9|)E(Dm3WXE#0XR*nh3i7l04Uc`NBtsH4hw(3ACrE^^$WwqVEQAzdRSf? zG?zy69yV>+&dT%?$!f+DDS)KkB9ZZ0c&MLWRP*owlBkQ-jmqCOCQRGPVv(W!i>%GK zI_U9`?x$>M4$=V(hB4+byt{v!jd-Ft9EQ`?J>-`xUD|^cu&EV7X~YNBw@w=%+;0y| zEkb5(_^LA(DBX}K+SBNDR6b|qwuqnd?(0)`bA|Ws`2P29me-9R))I#wKE7hl8Tm-A zqghq)^^vm}dqq-eG9x1+iB&XoNFGvjNJt^mT1@GNECG(F+M7NFfRIDE{}7ZNMNjd< zyu+7b+;W1jQkz$TA+8rX*HrMR#-$#>fU5IwqgZ`tLGBbZQKEiwJ9 z6Ug~EG>Kq%JRk);vr!-qfhwe|Cx--yGtM-s7l`EdgVk_5MONyBDz-$-0?ej1M?^!= z_4e)CWh0=42GrJ0t#O%IM6V;m4TI}vQ6D45%rvo5E?Su!fsh7Ma|i(oSa;lOKyoEY ztShK{Pi8CP5yVl@HYrJu$?m!8cdf#F&;Ie)ndckY4b_t=o1d$67d#wQI+GPE4#qgH z=+Z03q9)Y6L~S3LNT8BShq~YQV4>Y<% zO(g6%w;pM1a3nNXY|rAb!-?-8wOrMd8oSGXmi0JN(ZcidsT=RH0DWv4IHv}O z=Kaj?*(o1c)eseT zf`nwRUr(Qhy>K!UDwoY!ZntkwP^-}hZqzjVolhhgrW?Yzw@2_d8rhmdIeJ+BN0IUG zPXEeYrq6WOGRu}omWZ9^6oVIP-EX%U@KZ|5oBiJh3SXh+ZruCv?cuGbHnY&=t#~AA zgjPlJ*1u?NZGBKTuKnE6Hp`u9vicgNcX35HLTXL-((trjR~*VJgIom)y4RSOOm@vp z$m2wC?nZ3$9$3+r^FRzbLS=-+vSak1z*Ejtri-nIj(Dbg5uZjthg^eMrC)ABum`8G zNs#m}WEyy`h|ZSAtYy#-V@7lbYec}qy>2}{LVMiUcuhZ=mF|-e4SBbf40_sp++@ko ztm}4mTg2zs}V?Yr;J&KIU?t8ly;no-0Dye3hS;HqmMdqE&hk{XSjuxG3@gOtVQ<`cP7 zMf_BbW2cxJ#D{LICyT85lF%vD2VzmwNOAo&iJ8XVsH;!s1^P+{o!e_{XA|Sf$2&wL zk2^@c=}cay2U@JHXb;nEN2sLEL%B`~9*jfFrLMYIP56hZl2UE2;LW&C^E>^|66cNE zL~L);AtDz7TQg>)4Nh@nbPauZ3q~%tm}z6YZdZ`MW%@<>CmG*6rwmuf0AF75MwQwW zTSNRNciZqxZc{FK^%xbJ6l5&itOk0kz#x+_uO!X%leuG{s3Itk-z*P0#}srfCV*BS zr0V&WXX6UYUuTQzl&;+F3$ng;n4+UbG#>P;kXeV*FnUvt{fFfOj+WnA2# zb)KvJ!B3z1zJA?l+?8)rxxI}RWOE&WhMOtBRyZ?F95~ncPdgxMkB?>_45%hj+Nf)<8qdANixPbrbq{!et1v>krg2JO8cKktt zydDObN!P>0m+(+7i+W1pY;hy0XOKUj=`M&T^<$m zJKii9Oj$}f`t9=Vi2(yq!P-^0qPr#L?krVjLL7ef{8%VzN{);Y75T90gNnoDhrUYN zBxh5>KRjqXVmn-8QiNgz=YwHK)7%-@F`?%^S%7`MWPUcWbEvtY0qU+|U8nO^!3?hG zMl)}+@d|FIuC7Gx$1+$2?oI(cnGhe>;PEF}Yoyfg_Sd-Z3a{VVE+S8YVd5uTy1Za2 zdDT%c>;21wmc0?pyHZ~bo)u(0H;;~x6}v7gur_o@$XQp5rOW$nJYD8e-=1%``OQPg z1&5+FH=kZQW4_#DXlpviFA{fYxG+1E3S{Ehr%4Q&egK?m`3TY_P}-)Qnl&^8m%Awo z33@I=!kOVPm!SM&y5Rgj)QlpNZbz9$D(|_5?3|o( z^b~h&A^Qga6>Zf<2EeJS2h?yN5UX>p4r4)?U1r{J-kE|4XFSzqZY48w{j9!Gj2-`y0b^P4A1^A3Sw!SS5z?N>5H<$r5L$_-Z+zUlwM#_pcPcDyn!;K{^OF^`?wR&!xhvdhB!jlQ63cWmJnB1K>F8&MPv>6m!%7bPm; zeFFG&?W$>xjnQjUzVB7&ORsma{91~dzg0CRmQ#)L;46w0*E$hbeb@yyN1 zMvbiEGMrvtNk7mEjUW;HOY+O|!&tC+)8-D0PnTTyYn7ZaP0$1sB<#p?`%x#yPwXVd zl_a?cU%{qUC`dcg2{DACLjk8skkKJC3SFAqj%21He>1AIu?86*d0UC z)+V# zTSPL$f56?{gRby26#4?+B7qr@QP_|XNbUQG`CR7;3?6FbT7*A-M-f`0)#Gx5{4*&|D)@j)!(aeT^goF6?%qFGcU#7>MG?|}W_ zYuvGM9%kZqV2aZbhjdvNE*TQt$P{|>9r#z5g+E>6=%QtF$3o1DPhdrH-2AqVbd_*& zfqy6RNIX7LTKk|WD+dPEkZpn*8;#~#GI9->+YA(92*h4UI@pI>4>H17LL@A}XOPr& zhnQ%!*wDRh)(@nk(=3RRka1;U@2Cgjhzaq=#Q|4ciY9txm{COwIT<0;N>0%;GP;l7*P*p|?l_0MDYT(7bTrPVGyZa8q=3sQaUy-TgmYQnL zc99-W`oxw!;>u#yr>|;xgPuOUginRIDgN$}kz}iz$N?Zh-=q!Ly}l>uHL_uE69O2^ z#RF}^r`|=3j3fvoix)lk=D#x0BG!-?2ZP#Kx1n$Q zH1Y`F0PqD8(bnl?ln8M83XCfD&C}%JB#AbI!!A&N0AGun9uE>ST2KB6}iK7_vu1LtJy>Q1XIq3BtKOY^f!4*pq_v@jlg9% zr-||J9}hB?F9UYsq8xMRxy7vdE+N^60Hh?R2#?!#Oi_j}h#0TY$Uef=>H&EZI5;q) zX$9>RSy0$uV2GPq$gul9uH;c&N z!K~&B^=NFe03?nehZE%tlmLa|cB4r+_f61`1mgFqc$=>D^`#s z^QtSG#`?iTtB$sTLw;+^%?P z*TpoavWKjD?=B%f8z#G0ly%&Yb006u*M_gNy9&2iD~3gK9Mg$k<4a@vmiCA5F!?cx z&gI=KG*_2>ON%7qdS7{oulAW2ZPC&dZ^|L4^LlTus>VbKM=a;YA_z zzbF;&!rY@Q2%q ze&b1I{hsuQc9e%tp{}Id=DcEHHtqX@r*+-1D`%D5V)8qsn|h$>nU4&P&@)lbnt!et zU4K{ENbOfa-}VnVzHTwIM+Sq6AN|bw;+OPUUwHOckg>GB+Wyo+8D6m(K84k+-8&>U z4@QOjU1mmJjZ(AzSUxH;@+Wt`MwrvGuZWG(-HPIrfMlWK zHfMoSR8&=|$;*4?+l{5b?Ke5vp$&nBrBz1l(f5YuQ7{r!PGq5B?asX1%c&YBw zkMMS~%4ni6r6L+C-rP?16Q1BT5|QIanKI_yY-5gC|Vv$ifYU7r^|T&~xFH&9cqToPjNr zGV=stu?8q2cgv!JAkz8PJbYxGV$SMKtTo6PxCsSL9S+FkCVxLaE{G*Dqog&@Di)oC zFs9ht_3+3!B}W?rXcE(17A5N|bmi?b#Oc3(_38xBoQmpd4a_VBQreatO|fvoeCRsx zi-vwLfX`yWXlv3uC=`E8MVF-_q?0IG*)mxvu2Uym7d`e14o*N}A%)qJF}*Oc{G6In z*U}0C4(rtmwfrn#bL;YLc7_-upiz)_*bX#P&p0l`rj3>p)Z}pE#``yKB0q3`piutQ zr|X^WIhf~6p-kasr#KKJ0CYmcmnJ({6Yhr6F9FP-4Tb{5X;7&NC_zzkRrHULvJYyx zM1(Mm)Y)odE|bt?CyM7YN3xkH7Q#3m~Qet?3P9NVLh`5s9GyX zSU0kgHOUz|AL1DaWjXtfR@Xu9DA-pQEO3LZ!Gzmbecg!`$6y@XGuCeE^^@ zaVg(MN6FfkmXS$7;VUB$qX68p6TAo0LOEoU=X%jrRkpQh`(%R2rXg(7M+j$N$My1U z^4U3jGaI&Si3Q>b0O$iQ5DxHq9ID?22I4pDQ!qrK;1fl#-T-a0gR~x$Rg0`BM!ttZq~$AS7W z&wC>!G*tBZNpzIt@dfzPJ2aGtW(CfR_lOqy&|{egKab7Vx62XMv;W8uZ3uZ+EL(OS zgpKfxAD8m-^RsVggXa==n$3hXHx|gGn7DXFdHHD+cj~b3+9R9d+pqfi`pLkOztTPp zStc41nAPDEg{~HZv3SJ9K8qekL!yBSn1sopI^5cZ#ik0-3MFO?d~Uta$6{IH+ffDv z4wc;Hgsx|azw;qLL#T!V`VO3s&wl>;)fj$iY0p+z>oaG5N%`O}HsRX@CfkoQl{}C5 zc$<*Jf{(|H&>9$6yd)Q>_KFbVvVC_#s1ux~y^y{mAQBJv{-Z|=KUlR`UVQE{fAcqR zG@z|uxbHv-2P}$!lfVD`*$-<57Ltf$q-l6u+!;9RRZpJ04ctjpQVd2~&yUv^CH`vk&H{sn&FyJGAa=N2yH25o zw6wEpM(r%*IP+uk+yeGZ{5#Ra!!V!LXv?pY8-`|@Yv<0B_!1Qp`J8EAAaSJTn1!OV zI#%6 zv=MM1jd+S_O=T$mX$WgW>#YQjv5{`a-Epu6S(jejHgMREhuxT5kIkT8V?G3^q!P!# z4^|<=#}J0%3`jL-(@<89K#gYvcI(0Y`v;Tv^YI}9BY>0tA=N_?(3d{_B+h#Jx2?_F4Ebk>Dz5sk>j0hF;Zy?84gE|_jIu8|B`(se^QZ+u8# zhb)MeMr`L^;g*waF32FEwPwl!^UeXp6HL44P#g=uJqr`kb{$uW#Zw6gjC`rH69bV2 zqxp%_CvF3>#M5Am3s#p61ALN*Gszh1HTZ~~S>&sbCcr6Co-v;*E8-W6CM+xt6yVV+hGV;#KOcpMsVb-No^hYr+6df@TG%;3vM z_hB1Bltv8a0!U$;X$a$f3f>3{?P^kpz~$SxX-G6ONJ=g6d=4H3hr28}(2-2ib?L|& zcF{0UkgXFv%}6iC#u12H3nB-v9F73}c-&pE=YG49RmdeI)R38sB~sr|M2hU65g0aI zz41rh@4k@aK`2Szh|1tJ1s;)+AZXox9)L7UFE%hIOx7uzmpe4tZ*Om(fKl+^k`q!= z)R9q$^nJEM!8W3lE!(Chn{PefL)Z~LQ6(5ei1RalJ5UqMe((W+#B=StyI!+R#zIt7 z)YeK^{z+yA@;orlX6u&qcxQ2|zK0O6vaNcg3(pe78osJ*uCiy&2;ANT-gL0DsG!l| zAc`6=tm4*&k*U8M9d)Bx3qB(e^f^}d zLwyPRiSziPzM;Fs%IVRme*gYFb_HM*Y$NGuSi}(0ej5C>10H%*PS_&@clS7sPfn^K zYrN4mJ7y0>9l%Hb;9%4`_^U=qEoY9#(0ZsmXurNc;Vs#>yX^%!fpN5;t;J3SN*u?W3-`(gUp@OR2%j4oZeG{~W`10b^r*&m?RA_AD-m`J zGaX0RF9tCMjTIPS<6+$3Nq_;Y_1pf;&Ke_$V+Av_uyZ$F9w|l&xJo7b9_oQC;90!X z%(xHXJ7IG?D=*&&Jj$kCUL=UG6h}SL>4hG>sqBN)rdVvH2?*#QGebeYHAbFZ6X}f0 zC3_Wi+%pN=oNZwKWO6ea8P9k8RV7mP&IbFR4Zyms-_>+Oa1oK%Y0o4`C}LtsbNBE@ zR2!|>h?F=m#R%?R)BH2lFe~ExeAv15qSK_m{nRkGi_3ycTMNh70Jemnsa|rlK*DzJ zLtr&(6l@<Hr1^1ILh=K9#_1d!`Omr7$?Uo{S8fT8M_K0Uw1A7>x~Y1T$`M zq-prJnS8`Y$|TRkQD`7Ya0Fb4hXXJ{!Vn|Z${e859~tZ_DS_WhKdT5zf7Y>^a9mX( zj055ZflpZp2|T3cBBB;mbTwqxLXj=ArWl1u&(7k6gbHg@)R|_Rq6}$s**GdshaB@x zc{_cFmmKYLJ3nxxXv2$kh~wh@pi|IrMIlVOj7t%IJRC`$CuR*M&Lk`?=a_$y#)dNNt321oK^>TG}bcDdv^)N=`nTJm@TlNpU zAd?v{=IHg&Sn)}< zDv{g(S!yN!)v}D0q#o|=L$O#L;_aXKNg|ihk{@8q| zs5sQYQUZ~v{Fd{|G;cRZkd#C^tbNl>v8u3(A8t%cNofMoXX0m``-KT@Ol87S*z`SUxB|y$t-MIbRpAU(RBNM{Ruox?OsRT-S7q>K9fv|I zBYqBuW&^4h`Mj+t@yvv;Mnr=Q(VGy6KazUDjZJyv=8a}uyLfOYWiMynxJI>F#f%D* z{)>z#KpPVLNf@af%q)kbaA^hUraCyr48cAxefqRWo)b>yj+@^@z51FEgxib<)a#|bxBvcL z)Ujn9^6|De&Zzv}08@G-)ULYYw!-=l{KWLAUPOc#?(~t!qbLF}dPd=?z^fam1}`V- zEDqGelodEv*^${W4e_!v8^7xK3d+rGWjZ!FIF zQ@|{G(>O3s!ug$t_Q~Q(jkd~~APbSj8_{R1p;MqCwZPRLs$eb>;jPXhiv?@XbYg*w zlbCskJf{NVTm9LFL*HxtXP&3^<}IhBnXgiMWmEZ6;i8JzHoic8*DL74tM)zy6kiXw zu$R_ZQsbk75~7wsb5ON+Amf={vE=?jiM>|oTMGds7~)4UK$vgesre|qJg|t zilZ{9?`U(!N(cQ<&in*)K{7Hj8P!G#R@FI$qHu7k0AMkC--rs-%LyU%MnAvid_v!! z1qK@XR6HhCqGmJ^>T=zkSkN&EG~y}Ry1FZQiZ(a74rG-NUAbASjV%YsSVH2eZ}B!I zb0g+nmUBBKV-;T<=I~}0d-=HsU*C3|Fxb%IFscA2k?DlX#gXaE-fJB=4nww$V$R=X z*4siie}0o0I&61Y``B_bt6RBcnoJL{`J)i4?N3X>O*euei#eqLHPS&LY2}RXR2)je z81Jx)3kjQbmz?jL$ZG$ujm;@?=~9a&aBqLGzLpw&OcUFv$x%cdnf~fZ_`sIx zhi;@aT8@x(6quAfC)*R8AV?=X@>6&2%I ziQX|Q-fNP7XK+DSPJ8TZhUb})U-{N!ogEwFv@l!*xN)1|mTA-`tS*!Mv%DMrWD5-p zEc~rr=*P%_B4>~xB0+AEV%bMgWJ||PYp4`$8r0k?P8*!blA614D)7kLH$NjJ1O-({ zRL7GSQIZhG)|;4o_$gR}8VP#>-3|}@Bi4*gw8OTI2FrF)RO@At)7~6vs3+-w z2%sF4mxfcnT7K#vd$$IR;*fe)Pr0a0#Jq{+p5lF`H_aF+!)y$wtq!=vHOZea+#k?3 z1YLf{8x;&hTvAsPI%E>mdsk7;etC;qHWL?LPGupl*3@F-s=HD87u;u06ihW;NR
      Of_91A@QC1orB3|Va_wiN8a(Z~sF}Bt z@8`%(yVmu(`l%8D9f=O;!z1{<2Lzw(`^@2dU@U#gQFqW_8x+#bh<)0$VM8Rk9z7=% z{`ixrU%9#JnOKIjm}1IaZH|K3A`^i2p9iNJIO}Sj6O;o`7@D#H)Efj+sFfq9CY}y} zb>&DZiGs4Oo+l`}HytiqBb(=2v?p5%E`0uj-N&%N<`8oz)07KM4<*o=)J!L0c30V&wQ;IXWMQDTeY-m^!V z#6A%|QDrrAqOV zOs5B99FlQ-)JM>$kG#wck2H%{PBqz#nvfyt8Q2Sh2IPfm`}jvHen}rb)W< zTUW1GafqY*?c2<_a?EZ|ACNH1^D;T%P{;?6uI!?UAUjAjBb3ZCd6}6F#1Z0&2a=_FDhSUDysz?ki&b$o)&Ued}M4aRolF%k?V!HO+~}X zSBH!Y@FvjAyXdph%KxXzblL>~DF8zbFoN9NZ+iH1{nr9nJbGj~C~=?-Q48I1%6+Rh z`kJ=kyEozWHafhh@_U;nz%xBA1WVt2(w}?~jWZCQlfE{C`)(&5GdbmyUF>EmCPCiu z5xZDj#P_Vs=1+|^Fe>XkJ&V7DEU9+b3c7Bu>7;@J2hZ3;Mby?Fo8KTvC$Omv!nL9X zeXXwzX4A;qB@8X~NBitmZqv~hqO7VKMYN&7ni>Gmwh8U`;q?v$I?e6<3gD5p&?*Ap zHA^vGh|lJ=NgYB=S(~YM@T|%N)j9jm@83Z`E#du7l%~z3PdXY^{O7b^ENY>P@d8h4 z)e7;D;^j?kgNq5DfL=wWxhF-pz_=#tg!&}ePprE>p{YR29MV3D*23#*EI>xvpueEn zp+>|dX0Nn4=Jm{mdDOuK(cNR@z`WxXo+;D>V-`i=+a#Vnt`8)R}u-FT+kB zldhA{_*b_gg+#s$d2J}PFTY+KSqRPQUjDD78N+T9dGz|%w$xn1b&+N2vd}yio!;1&Lfp?BfxiHlXvnhk3rc> zAbRLMqadTWP{z>`fO?yIpNdt{?*n5q1$lW|%=PIXjVuuh3YN0u!w9luheGW-Yaya$ zD{QevZPsgH%x5lbGIWuq0Zj5g)oT?*-vk#sxaupq3TnP}JihGY(USrG{sZU^XCa4> z*PR~A?Rmr$dvmxwFT<>4&Nh;L)23)J&Du-O0|U+k#!w$xj1s7=h4E$N84R68~I-HYr@|3YtVbjYuFz9DN<9|>HCX?eJ|HGj-JeMj5J^?%01aup0 zYOD`B^5(UsR+92B{zMP{2~G52(ZVRcV~U~Z;)5;C&iDYP!a$w}M8}5(5=hu= zXaN)dvICP#ul&MogA7zO;q1wf&neSt3{kECgbu`-!?%6Tj)rGFWMsW0h!Q|hXF#nX zzO)Xnlx5Z-zGU%Y1WmuU-tl#Cur(p*Bo!tvm6e+h)R5JSP6%2R`ZXdy2km$?N<1Dw zfY#T)_VvZUiLwwZ`{^_KYur3Vs6n0pj3n4T5MV{9Im*`jh1;awq#kDhej@c1r8BGB zxP*@YHHcrBK*1xYJQ6yOiD=*l5`ZcZln{@y5f{=aJV#+wWb*BGzk7FpP&Vt;06VK7 zT>PMuBsA^8&jk@WlNc|{?~&}?0SS#?NQlXVIx9yU<$q32GJ&g_vXlxC%swlxaExQeY~dXIi}25QqIBg2^)4o*$+K1M5UHy0?e1XkOY= z)nQx!10GbGbsY$01mMa9#Z=jvnS9SUaqN%e^aljQqB8o#9l0On zm7#%%u_sg*7_3PM$3NfjHug1@{P}(tp-m4;pbH{?%f?F`5VZintnM2zTnTVg0)sQi zPt;;+WII#&0&JJ$8e>>AQ>1|tumJA@g%CxU$|4;o zqTBQ(;Ifw1=SvX^kmq#RH0uHsD;myjzE-J6ik%~)xfrhP+zRW-^-e^kYlg;>+uj?X zErdN;UB1d`4;V3Hy!TIpCNfv!glYaV$Pt1W!_|)TXM-hQzuejZ(vy6eGGEBm=}M)?L%c! z3v$&Ok{djq@c^%p&_l=$0Ih(ZBWh}D)aL}yE@uK|w;pWZ#`DAt1o9uU(+9f`Op0xN z*C(5UvCI-65*N1}eu~}B4@@=scfxrgbP~YK6AurM>zDTkOYAX4M=;T#qBwy4kMMw4 zgs_`-er%VkULL+(C-JNIeUK#u(k;!1U_}1OM9d8To zL?WjB5U{KFq~S*(Xu_9DDd08+amJ966e#9FHWjdw0FhJAD6*ndLdz!qRNw?ukm@MI zFxZQ11UUZ)xIG9y8gc?5i|$erzL|ZEd!IiSw@Co476bk5AP#dtiOLwhO%@dD0Ul9N zO(1=SN_8-iXpj}fDroSK&|F~tKwshEK2E+BP$EcOA+KuSu{$4wuD>5!$RjpJyebd$ z2KX7TPi76Rvm@`Cx;A7>iZD>7%EJrcepE?cbezp;{`Yqo6jRT!<&;wYldg+g<)MXE1cOoW@nZwZ zDjNiM`v(Sw3}Wo}5GehFRa^*AZZI*BS%P19gDdMkyW;~F-U6vi7^)e8gN(HjWD4lm z?YKu+*;s^a6VHt5V~il=)yRv65`ugp{9Y+TX&)Y%EZB;GF3I6&_G%(v3)pudI3N;R z#3{!edhjtV_N?uuSiHlWy8T#U=w0wzDp+FR9vT2Ulhp$CD0ZBYj&qdbN64MIB=;{R zk!!~;l?_BPfcY%{`Kwa8GKVtE!SIi)>C*Hv3;GXH3eY6d|Lgxt9^;L>N&fuzrRcZe zzxV3@>BT_AU^P^+Ug5L+$xiK+@;@zX4KvLQjJ$M0cUP~LZ~nlS>eOD|al%Z&YhmoA zG55T(m+|i3wtkE{tX*bK@6?o??{4g_yAk@jf_2Z9X35nSPaKbAJN}_B9i8goy`@id z)gwLDs2Rx_WEszAeEe`CzaTa;fY~lUuBh~Fs-mjVhaessOTYPpueE+LR)wnhct(4y zRyQne|qlby$tqkNjcLwcX<5O7Sc>Lw=8uMsMDG|8jL&ueYK%ZC;xm^ z?y8m64W~t(u5mE(pXmQ`*2$)rs2AF zcZaN+a9v=0qy31rf4rGi)takQD#*p;>b8Ujn7Xv$Qbey^=T)|^f zNb~W#Xf%3DsYIg7K&W_*IY{1|js8+CO0GRuq?3CF7w+=9QFT#)-disRvEb*6KEBO!aX>A0s}RU-GNHhpg9=<#Uq5;`#Byg*)Ys--?@5snq@Nd) zkg6K)L8u(z28j#O=r`nyT?)K(O)g%JuO4~-^1UGbvQ*^An^5Q%4lISBYO7R$Dw>a5 z0pTJt6CxTWXPKg6AZ9Os+>A$IW{lWDRupm1LPI2B5&KDGWRZV|GpYyC1*@SHX-d7A zik@Y^q~rxO5VNTZv-}bW_h2@Qjfs(gG@nc>w?@u2gh&`bB98)=5aby95Dhq!NS1gz z%f+E9XvHXTXy>A#6N`?DLT^ys(hTIm2(kH=)}~H{S?H({P6#QM9|8H06fxOfdkRqz zM5!EeE@&qS!Z&YLhMEh`^$4VbbAw3+E;I-Tgw#~de{Ybw3++~NYairkggYjK+QG^y z85qP6)dbiiU`<5q$O_Xs{mjHOAUKI4U?3z4F*aUH)?(_?WM7E6G5R~^Y;Keg z_+t-yOC}&J2~4*@cW9E$i-LI;rpzo@M2K{%sTbu2H@9q;%R zO)avw@ys^)T}WCIW+stA3{a}WN1cT0T}UexYX+_gN4HmA?j-OR?RF{#m2^eS;@V4L zjAAdN#OP|Otou)ft!C8KQ!U!Nbm#y5e%Xa7-U#_i5Qu* zlz*szBY{DvBEckx%ogmIj6rD(#7G07g6Rj)A&^gv9;_kH>Kf6n;yuY{CWE?xOCNR^ z9z<$Qe|kBGilbv;x+#j{{GpVBjjXIZ=v0V2m25fy1{HU?{(`5>1Y8?nLsPdlfQs>W z)UNn};mm~E8UmdP1T>O6Qen+wJ9fMp z)SMr+D>2Em^TaVckC+3Zdwn%IxlPofv|(i*Ni4y`!CIBPj)f&2E4qOTVam$T#-t_K zq3cumji1O_Vb*|-z7`oVVd#HZD~qA9+nmLTHI@6Ee(nw?re-J1qFh~((=)xe?VR1tqp z>`YJ}A8w0zfjxz&tne8c&H46>I0s@7wfBpaW09 z$rl9XQman&2VI3nG%{5!U0?&yEMq?^`aFftOljWFh%F58g9==ONJ=1T34njeoyEP| z{=&r2*w7%vmWzQsS0jrA4$wLaKi^;nEo<0$Zx)UvGoIMk*bqkcfVPo_cwd0Qoe?9m zGc)8BsM)4LQLT59h^P(#R{Znc^BVxlAjBa{y3PDU5@oLPDn4j!Vac^7ikSz99*bz>lUVrsEBKg8F&3|B@!agI zhXLnKwXFvgpo-Is$gWHy-{=n(d~s*nxNRHlFEn>GnuNE`&jqKH(0JEL1rs4I@n~l& zCCE2Wn$?AI{XFibzC(F!eHPP%kY8bh`LVMj<}Ul=ZDV|4+*Sk2L$ll}iyPW$Ka{M#hdE2QlAXne zH8eRY3kyfSw`nRRZPl_fS>+ANbGA8GTict`o&`mdp`XbCL^5TG=Z$mz$5K5EA5+eR z`&`fP)4g@Og!C&m5{CEPeI;@&4FGL*Vo+9@ptzLjyiam5AUz``P})3B%?a$>+PrI4 zuU5xx1J-s;OnhFzco>or^`aG~;qz(t0=^9!-Ur&Rl9wlyFljT~q6Ap9%ogkDD%B;r zl?0T1G-yLR@RHis-5rLv8X`({P;g{V+!b#eit}{PLmzi2qG%;==`Y zmp`N|wFm;^Dg+8Z`e46}F6VIgxbZKk(=T~Zmew#${?fo;Fs(-7-XV8863=NI zoHJySFm28b>TU10+>87g_`wavH9t_JIRw9EXvBtvW@>##di&TMU!#3 z!`X@uF36JWhm5_kYko?kK0l|^zS2N~Mt?7CRma&H#-wY`f32L&xCNb{ZtY>=Sgg;O z!quoTj0CPpoq{wL4jO7twWZ8vj6U?*cBF|5!QWbw6^0e4BjxogxefPxsH&>!AK5O8 zb|BM;{}Jp3Ar;tSm67%rlB11U9Q_W9%jC5XqxXK?D%Q{_vl6wn%Hvh!LWIe6uuD3& zsE(pDPz#+c5~o`3D+U1qM;OgSXM zG`TGiBYoe$55b&$r~>+MbBo~5u-LPBBk+%uZCN+|R1M%QxZ^Al2!UfROu8+QmGh8q zXlOFPW>y!R05?6eHIC&O&P65S(kLI%yasab+jp9z0LfPp|D{^0^UIGQwS@9IpynhQ z)X5xQYgs{ni1>Foj1?L9+9Hs~7@i#&v7<-ZjkkV)^1z@%pCn6Z%1^gGCJkW&+c(t1 z;C({WBq}Knb|aC(#XNfpf{GuJO~IgTyDSc&L;eu8Hg4|ag0!&?VMnPYe|!03q{5YH z-ER*)8Ahi~-T3Y0Q4XI;q5S{3S`uS6JGL-yUjM@v)+v#ep|JTRo)?Zk@8isC=(a`6 zh!NEM18@wXPl95rOnqTHq4$pcO;egjdoWqXW-c^)3|kQ??n3O74p1}S8~3dPx=x%a zGGb7NUKB1_ZAd*o?MD4$a+D+gho;KMHHhl2gE`%P7UJ8zF zk;CyvEN~Ak;R;YYNuC*s!N&+jO%kjCim$0VA15-n$03LwXHj~bJEaJ$ISWqo#Ffsn zKT#AZy3DFL{T(kadkHjJnan?ccC!~wD{zMIkST%w0ks0{$HJD48#VU`(>w{906)q> z_tzxhj~p<#b%~JiK#alidly0i^i)>g!vSLgg(S0?9n$zo>r5tU#vd*(hvg}fn68Kj z0CXqZcL|sbMXGNwa)Qr?hKG~zXy(XIso(f|e;Q7jp#dd?KLI~1Zn9ndm&|$hh zy?YFGe6sT+AQ4!iyopgy14!N+1gHC`lTr1u;VW)Q)G=5WBx+3u|+ zHQ+r|4&6Oj2fn?vq3I@eTLrSfK=RjG8K9FCFf7!uEgF9S3+UsNK{yKJ=K9Y}f8FoJ ztF2ADoP*?dS3=>C21>7C7~kt4sMQy&^Xf);y9B|47W(;#*3?57P~?G|PJodgffeV_ zwk48|(kvWSraqJ?mbLDOlRT;mfv34)ay{$1-Q?t-S|Woga@hXq1x0_593U7DAhyBF7wgzO3Av_(N!q?lDC?uke`)@oa`)w+5K zgIAxUtD|=m=^@Dl?Q|IQC%^|tJ5J_5=A-TpdbUXblNXXA=Y~x4u`!~X6(qb3w6L1k zy#eSnfM+EGi-7diqh!(bVBU`2g7{rYt_x1a&1g`7%n>9BW)6ZRkr|V)lSaoYSdI;S zQYXXZkzJbrt*#lIh=lY+;X&#b!Z;GuIPv2`9V{U(E?n>t$*KKlV(W0LW#Zisc!~Ix zKYX~4a0JrC6EYSxT-bpNOK+XP)$`V}Lx6s|`G|bxpMyz1!ThKtP|=i7GX|?^L~Fh(Vu($?`EG&#gojAMMF9nVx(xXjHPep|@e@kTZ1#*WL*F1Jm6E0%4#D7U|b6mJ}jg7Sx8pTic?-JolzauGm%0o)3@8Rdu zZu|}Gzu7t7{-cfEktbdEhz+Ce!LoBQ1LN;PyGIi4TJT24$cH4g8~*9*<0)42iEpa* zefyDR(j52o^`l?CYhh5#IbG**gyQDlm!bb8jL~lG*p-@R0U~NaW3L$YsEmr)di|Lb zT_|}nahIB+leOL-2C+teO7?rrNF_e{xCr^%wLAQMOOPwTz>s;P9ec#$znZQ6e@YKl z(c2jq%x;l!nb4Nqg<($_U21Z;9s$j}bP3aHfG~_gFta?0=<4ZhtmHS+SfMveBLF)1 zR2#=4?3yU@_@UVz$KpUY1gRsy;u%e=T|+0Z<_LX{VKh&kumjz~xu$~HH{zy+5(I4j zKGWXq)e5!%v(dJ*5i>u?>l$p5^U*DG_-)Nho;Q}NBtV4(+8n0Z5WE!3z3))e62))@ zg=3$BLS6IWcW>U*Ky(#y`}X;)w3HNO^h+cV&w02l5ugAOKn&2*J2fpk(VP+ymtq~H zyO~JKd)#;iPJGmhyA&~pOq*DX(d@Hj5#ZiT0lRQD)jxG_H#$`u9hY5PL#vaTX5(oM!fgDG#_RIn#(|9RQ+j@a|TPxeiux zw#7fdFX?gvn>!Uu$Y+Qx)};Z@ttBQ;2S&hm2m#?p2ye4OPHC0`6MuRRXX`IJNpKGP@ zIL(DfLEnJ>#N?Aon>_ACEZboZqNkZX5ELSK;?#7_Cc?(Dg z9?_n<$vYdc`NKh#0Mr=nHryK9M+9->b_t#+U9$EiWHrE;t)TztC&(8XIUYrH!@se+ zP@#NCjEy~^MqBk1Mvix|gKJBHtS46y06$TX0Wsg@bb}q6vGOo_s$4x2|#Z{Eb%ZBiUSHYGPAOXGzKcld}n$XUILDXi@;hm@oQi!u7$+urem57G%}ii`Vd$X1?W@-NA#h~ zAI_r7#Il1T3<0{)a1j$Q0*T5=MMVbSI>ICz;t)NALQka2R5o;a+AS+5hpiP$_n2EG ziYv%_qd~bS)NNP^`*2uT*x0Kz z`^T;p1GAJtDw0IY?a>BJ7kN{T%u%}`ICBr^6arF{Vss|p8A(AklDlM(8 zA$RUPLmc=y{w)Bg-rxp;4Uzz5Xv3%Hl&#LCYT?@TqwImyPZhb4qXooY4-8ka4$1RM zu%n*53(=B9{idi0%xz6W!Ne;kXN37f+71pGxMzh;D%KKby`W%KngVt{hPK32;@%ft zcqD}IfN}F|)#cv;oEje9TpAVWZs1q?px7b8Z3v`O=xQ_>&(%>v5jR61-a1>dH%9b%Z z0N4Ao#aB5Uevoc!Wz_(!X~=^Iaik(aoYfoe-hN(iWT<$CvVOC}*O_KmltiSM5JDle zvI#1FU#DRk8SR>WK`zNnL|Z-s(c+A?3*x8odA2zj<>U4K7W09ZXhLC*jH#3hW1h2_ zIXTJLERik3$Ima!k)gx?LWf@xDk>7=joOLPmDp{evo*qaK2bU%kLvJKqVEC`WsX5Z zaYtXyQFT+NA~`VHyf3G^omWgIdbUAJz}E;Ch?f@Lt9e2MsezI>u;z zfo9UQ018mlrCwOd_o%kG@4}$pL&_zJJB!&968QcAQ{-b4C(imM=?LOY1ALH7d+lCb zyUNcPtwFZRI*CM@#?a_hG= znl^v|oL{2;))9cDh}sC?e@SF;gQib6G*xjPWE&qF(}0#70jzMAi4;w=SiaCrUFIp+ zPLeZ0*fumf+uN(c{tH>OhM}R&^amG^mFVeS(ENNzV!uDw0ZnyvZbgzbfXpf1u?`YE zQCZ2<9GBjB4)8z8>}YAx?4B>+mrnYU<=bl0i4T)tEyBH5o!O5SU^KO{7Oe{Ih3ANV^J7NO>k+<#8Mk7;s0* zxMB$0i(+ME4b9vcJA;G;s%OSTUl6Gnju%08b(&t9c>nb{rH;1`lAeQtLnQ z#odIJJzT<}qB%RY@R2>=@a}q3=sP@-Tw# zd3X{7@W7COO2yQ_97Ap;sL`xfi*a82e&l1MT<0cneayZl2o&CLpsXCo&LVlk`w(TL zY(DrZ2y5Kq>pml)_A|Ik(4;xR%mEyAFKo^zB@je#EOL@$5~}A45g{+8(}7T~C`E4vmWb}VTMS1ViUm!?=IFxQ zRXc$lME<-G6sYx7o7dJ}8Tnq{z^9YH6S7E%jy{I{ebLoWHi@(Fl(O=W!*m0%HnY`Y zWC@~6V!05~XrT$qIT1&%-ZgU%O5N3Bgkc9WR6SO3o~n}xKWI-r7V&CE#wOUQeP@KQ z+|F-0dvO!X@kz6Q1vI#Xx4JC-Wj_FGkR=|)@Ovr%)xMkmhab>|7}^^$*^h`6p=vld z0k%CME6b@y7X00SUgz`!(h&l00AKc6V;OPQ6FQ1ogj8>Vb1!0OX8sTY4uFgilMlid z$15XKL>mYEcv0F);rMX^y3(EGAn$DeLzIOlnRF5=5ND8KucfUmjZjL&A*%-!v&ap$ zyNGs3Am9LS3?I+kh*Kk%h*|_uZ>nzAyG=GH4YCee#TQ;f16vf=wzd(RtSM{OD3GH; zpc74ia~j&(uBrFlkHNRY_PH4x5?oOa4AsxUzd`&_CjKfY=1`xx*3;M*Gl6gmScPps z*h>s*uR%+rnJ{WP0)tWZ7Ihe5H(Jd~kS|O0l5uy$QECv(7V8j)O5l;1i!+}H_zx1Y z=#OIPpOGKZo=}46DKtwrf-hDuaf^GGD4jwAwp!g&I&5JvIJ4g4Mzb#&7eiAT*!8Nl zwSaakI~5+O9w#NG02_=)=DXN(4^nQjP6(>rDGD(~g&*bn_wSy*zm)Dm0*iaZx@`uI zaOLYqaZ7^>45CBH%P3C2h-*jII`!2D%ou1%W-x^o5i*4!IucOE^}aN`eXEE)1RHIO zx04|D-yq2~s4SLsH~>AtNbexcvry8y-Pm_b2!;=tiDnZ?Os)iF&Eur@ zXvlGc;OMX_je3v`E*y8%u0+dIwcse-8)y13#V-!NEf%=~z-~Kl9O>c31_w@&J{bY) zjEcG!ib}WTo3bzb85~^gt<-QDx@Wwp2B4>s=Sy&k+Z1Ncg%6Q(5{pK@^h(BOa*)V# zE?Id%8HFj}1p4F>l>s-u!8G3kp%MF@uhrUz>4L5`uR`0ITJM5^jyf{49&sLp!{^p# z&0NsC3p#Wrwf4edNw|~(X@bo6(q(ancgx9jx^i%E$e86Gz$^f0rWsl6nmc|1Iy-cJ zR6B9dFn<{ZJ0L(ax6+Aa7QT{4 zTECu$XB*FWduHHxP=2X={(RTd5vl<-4%!Q?8+iY?iZ&l)rb%d;nLT8q2v zgVw|eyS8E-NUq%|2?@Vi?QNc*#D|vmyw#|ed1)s=MUQ0^=Y;fh8nNFsP!O{bO3+kH zlkw~{$xCEeOIW7eIm{pF{#k;G^tGFpyL*AIuCC41FFwR2^D!*;T*hT{z(Yilj2YDEIE{Z>kBxv7 zegyYPhsdKy-T{YJqid1Nh#@R2E;=5$AuZb{p7stL@kx~w)<9{bj+_ZqpKs8AOTrq5 zPrI3uGYup=MC?rYV`PV}V8VTT95!Kc9AG^Wm)WVi#DIYsRCfD|fx*EnD9%ta2Aj)S z2i%vGkXR>q&1;8%fIwX1xtk7xt>#Ozp9M5ph{(h+YD8X4xTzNEbO47uw`A69G}?bt zOGuf!kNO|FZq_9gAQ_-jKd<{T7JU%S@5bl+#>viMxA_$J)1&$4aQaO{MnqCTIG~LQ z3JMzN>pLLdanhjv4mJgJ*H5w0Q{FhCzdCS*l+Q%sa5_Rd5giPg2(TPVN)Pyjvdk?l z>(O@yns3ArO{68zn!_8l3mu$E*`JLTjSkf^V&5k158agHh&R=1rR7L2kKf;3?~&h* zzj-ZNX?9u)0YI9t9sz|W_DvIsIueFTE-a+;JmX118`#*S&I^4ietxn4qXQ%hIE9hY zw3IX|C`6#XlQ(#RIvz-+E=qJQL}S6_b|7Y&6PKQa?Kk$)0}@hF`yk3Dtb0uHnhkMC z%K3Z~)*lp{=DM%02!Eoy=sW8(KID(6MEt>5#KupRmB|l#KXBe2pbJZ(P;7E)w;wYhz&ILyrvLROrEJ`sIS@w`T`$p&NZ<;W9Nd^O(|_#(4MfW2qPi#f*0NQ z;h-aJHA!C@u`$9Oq?haW$_ zd2=A>d*2y%_nCy?i@D(ls%1?Fpr%q{>#@yhlR6j%G7qE(JQ6s$oE1gI^t$)QennvU zowr(V$MD(_Wq;H2?mGgY`3_c;0(exf0u{g4**x@ zvT;K+f>j8lV>1Y&pzeDtzZt`zFP8fLB9^mF;h=PKv>&71tJff-h`)H_{p=)aedm#mRA|Af#WpiyHc6+eHC1QDoPIu$iGf3@aE3aw-xdEb z|E-GnUM>5L^l;MR`F``?edQ2y`?Oj#Tj}wHNbG=CYp_V`h}qSvd7zT&ZCf#-9tE`* z+xKhPCFy9=d?N%a#~=ib!(g>O)V&qOu(%-Ia>C+qXsB6X6@qz? zfb0nD0q6n#hXk=>7}iBKy!ti7&`Chv_|X}ds^(tH&H7M_P(ypbbyhTAhxbo_dN2!0 zchMDGcC#CChFXY?sR+kv3+RLNJM7qkiSM2Fc^>+fz@=f?kT{Knq+csqAXA+{wWj6SLNBJ_6}c zDwB3_r4@lEMZl3J@Qy@ltW@}wNcV#{pvvZv-d3tJQb7<-6KcOC^q1Jo3#-poX0K32+9~g}lz8`58IR6Y0p(S>7Y3useNC0tia;kW(Q9am}f|E8m zCgwP*2@7-t>^5rcwRycT*Al{I@2hs8SPoJ*V zB(4CBtd0yGp%c4BL^QEhfK!uLrpC6m6jCF}_7E`(%KT$f$KCaCs-YAaCv2dacGq)M z0*VGo%iP`E-dSW}w|+r;{Q?>skgzSit9Jm+B6dEYUOZ0AWr)%n7Z;o8`QLVDGYuna z0Qf@yb@q8GEbL&ykXEjOMM7>35oij*B$*+d4~OkbfvoLJz)&=>HK=xt|6N_+wZ0X->J zv>r}sd{lBunT%ngS3C+Hm0kc!^6gC9w@1nSWB$m950WeUK3ghp-WK!B7pfJ5=1zN@f@IC(4^OoJhTY%^Sh0jCuqHyg$48- zL8A_%KY!K}xDn7#&mq!8YZe?G2;+o6jIgJurkeZIv4kLBA`yVI{FqZu5bRW=l8(?S zheN0j0b}Zjh>C_S_5JqkG62W~jIp96JV7TpfZxZG-BotvLx@d|2 zL_IWJWSf}Wq%>)|4Gwc0Z-&<7T*Z6F$1u5n8p|D(xCW}$*$AL*{X{m64Lfksd8K+b zG2#O_$2(<-zL&3{hdMYhF0MjY#R3!#Ad%Ms9xmiNeL+y{SEvQ?okMz{jTL#hI-p*#Urnh4|l`1m-<`h|D`2U}pv7Dy~aUoAK7y)%>L2+P|tCh4cRAOz(B z3`*R_xUHZkAp9<>g?$*MRb4VW2`O`0e1zL6>?A}o0K5=>%vgL6Br6I+wX@L9CEhGM zoPX>l;?w^v9Tlq%G;0dZj^2?$UsVH%Mk_EjJ-Xtqes96DSAFQN=FLtqs6 zAQIn*cZ>M1%$?y52LOK8z(R_-Vx$u>$h(5cHJZ4C?!$`TKeG{tcg#p|!?@i-`-rDD ziD5&k5xLnmpexV@08XOI0MxCNp#iY^f;3u^7Z^%JqI+-`Gn>nCf>0j^+Q|oOo`@3h zWb{}>yn*O4;3qKoU3v4Ko?lQvyyrwR36dJ%bPUjWK>TL!?(>rG0pu4t(ZnJgB=`W$OBBDzS+yrMY*hJ=8UKRNjx+zdzUgYc(?Zt z4YAw(GSO=vx8zaXvM+9uiIU?D90?Kln;4e){n%=0}F?*zWzrc_yv-X15l$Pp9q*(xPJqcR&XEX7-5EtscV}BMMbqpSpiVK zBEghAhH3FJm$G!pl|q$A(w`857akr?Gz9pHQNqDMe6XV(++-=sjxIb2f1HCgH5UH` z2Fk9*f5DHu7a3EM9RBaNN%4Ok^v@+&_5brraPw^oZ%B?K#YOC|yM5hK%1(=nQ`H7T zXG`6!S4*_Tb-lKpzI3|M)n(1%BTkZi=aTrV^+P9ZXc5Mi>2nK*Diq}+=)#OLe+_VG zXL%{~o5HD7kDF|F#{z~JV`;aUu_57HiC87RqSiQMephNyXAeERZn7>kY4JIwu3TL# zWz`Onjz~Z@tOT40jEU$0NlrOVf(j}`4IaHxowYD-2qIpVIzV*N3|%9u#Dx#y za@8ByjXfMa9qq6rFaZZ1(yQ0D3}fz6K4LtdL8I&o0KuP!5U+?sit?PuhzxQ@asd9w zw2eFLq1@MX%5`)cOewzG`D~2UBCo?7QTxfAbHgrS(pO(lM*#Sd`0EO)HhGSnOMdb) z${j)emdN2hqH}-3&|roJH_iii4rhD^c}QvdU|K}fLDt2uvQ~-)uxkwOr=?leYkv0W z2roZ>14(1SdA08^00uCa7HT14u0M`UtURm&FqwGa#flU2n8ljrwk9zP#en?FID2_aSJ<}+0T5Mg^$^(D+T5H#1{b5kt0=~|MRJ`; zzCRj66r?e@g-Bj4>9l!>gku2)&?K}T?^;{kYl>%a(~1~ksx660fQ8G##)fd%yA*?E zCPFcOR4BTg7#n&cy*irbF-u82CgdXd=v~fNv{$f8IEBBU)JN@hqKEU@3~4l9+(3~k z$75|;D7S9)H-01PN?4VG=tNn&@MHf%ou%V(6unw$`iaC2_?IpN{iGWd;3U_NG4Bk~ z{lR~;6S2LY+ZOkf=G1~K{-?UiM%QfBXW!NNdyn(gz~?|Xi!k~-&I4ufaN{uUR1rg9 zCxh;tGlnJVa;V+MQB=}0ZN>LxTpMxktY4VgzTjg=Hm_2HuW9Trg&+!h@4+!{U*1f6 z?J8cQsva77Md7&)Ke1W@uCg5hT^?bsxlwUoXs7{IY~!a-B32}G6w<)1`<4)d=J!Up z-+%IiUoju;#O-O)0$|wbF-FE~i`!?L!SFjwdvV@>r7pWVw%&y0iuC%frwb=@E#D?<5e@BZ7Jv^-gl4JSqa6AaP`nnX%eYB2oPDJ6aW+D67eqt< zf%n8NoSTa`@a5Y#(IHE+sJ)8{EF-hyRqSdoFQv&;GyGKE17J`y+~=n4X)D;>Y)RaoBo(4tpXk3OF)mfz<}~9Ey9ZqH z;(K4#AF+>MjN)2R@ea(8%4f`sx=qBu0tWdSkmry5lp*0?zb{rI=lzC5y zwC`wc57BGvkg%J1v@!PM_0w(^5AOZ3hoZ9G-USGJ4G|2RxMMSM>j@GAkA8qsL_WB; z)O!wQyFw$2#*#Rfz44y6HC|UV?(UbnA~mMw=^L@izTr%-_}ltRQznv>2f9v~De7MZ z!da&qXT;trhV^`YT6v89YtK8Ddr~j4icz84TFJqtz1Uzd9C$S(*=0sO)p^F6Hh81y zv8+O}rrWr`Cdz^7^yO8$LLcqFiz!+R-{zbvR2d1O98aljt#(Lh$#`S_X6_|@5K6*0 zI+&CobxhaA@~yfA%Y@-nDqq$52cYj~!VlQQz?OArm2J%bN!>zTo z+WQQanM5ZhzRhfJYm@GCCz=u+9dTWQzdkd?Up@BRIY}0x5s0G$=v~)b418ajW0telD(8nRBoRCjqNLRizMV2xS0*Zyolq|#hD%~z_G_>TU9#J0^4FEx6!@lT#uH)PHV1P#<`W2zZ;9`24D zkV23(DHEA_Oj_8^lIh0uz@CK(+Xd2c;v3F3)mGQ=47b$um}xc``8vy}DfGuu?$Y<~ zl}a$&FUxao`bg{iPq~E*l4-k0z|tWa-5yd*HX8-G={rQ~C2f;M@hsX#u3N6A^PxYY zKk^l69mrbdiEP_})6@ZxK- zEX8wMD(%;wU`xKZSXA5TWjywNU0;5oEsg$>Yxm-#+M0%TcdfExE3vG8VkWlzulOLB zT?JRKocYdP!p#1&sB)xb@sa24@O$}xazv)xRKB~k(td2!U%%!_`)}+_AM9=qijO%v zJgsjwTHG5M)&}6`hJuW4W);oOw6{m5y^hkqaWB4)uCzvbM^CSQ z)G$eXYZB@n_!W`c`14%bd8?iBmAi~>gDK`4<@bMab$f6xVpab_^tl5!-&a)q%q-Z> zy!c3yD#6GI(>$rZ^hpWJ>AiolFR%gc2rm$?7O&LF}EN*YU-N2l5tp zxSfXN`c_Dl|F&mOUw%3=J!-XQPPX=(Pk8O8Ba(KJN+s$#@_+cmcm+GuY0uIp6c&%A z(olPJNObm*({27+lE-YfaZDQ+`s${Nxllf-vyatXGZpx;%}_@T=Yi1|o$(`&G(%GB zPF}mckzI0gZ~xPg%wz;uGpn^^Y$Jw(KTbA*whr=O(WLFTs7x)&TRwi^g?L8hG~ z6L}mQ*nBuU=83oiBr^1Rz}A5MoyL6SyMTGIW-%@$4jL^9sZNQ7HX@>hSqkU#q8L}u zK(b?T+a7jvsoJ>mfIoCC&rk}(HF@$bv5O)T@-!k7S$ZSZAui{b+;nYlAf3R6=t$V_ zI3P6?IrYZ?(+xVMpq2z0O@`n=J;aYJ1;VkS@Z`K>$y5$rnna2y)*+m5JjnK%Nm&at zPJ<8}ElQF}@CPJ)+zk%o>WKM3a!mqi^9l+kuckmQhae9ew6}Ti3y71OPe6c-)Tw;& zIOhiBzQjU8Xw*4?reVa**PFf$K4CTe8Qzh@*O~J^D9n&xp#)3j3`-yHN`3opf)5EKEXmm+(TTNu*|9- zZupN1>wI}B%wO6kD(b91EvrT%{BPb|(b&|)w{z#S&htcXRNA}~Bfivh+X*mh;*8+cM0>gu=@N%KWimPSUMhIEh`(1-FPvCLut_7)YDkcQ1y z$Os3(+a@g|cZALBVhXN&A!nPNl*#7J=R--(Jq%{0%{Eq6!UIBW{m@!CA&td^1Xlw* z$VPEYQsTL55*9NmClV&eepTA;%gkP?vI-{+Fh+p6yA*M8PMtj2mtn1-;EP+&>DP}- zsO7e0@e-VwojnC|Lrj8Lt5dm?L^&7!r10<}WQM4S0U(nA5QN7PMJrH9Hw+gg^eBmw z@QCPjDVYf$Z2{#(DllKCPJrF0AjPr)4Ev7B!ZAfgWZ)pV8v}M_Z04$>8gwBCxPy&QYc;076a6sWr+fA@JMSYK#4Ltj3XQSfhL+pGEfUrV-mdzGE}tB36wnH z)DsATOVvtva zs)7W`fZluCEC$mHK9veSJC?l2e0~Hz8qLVd06t=jx1o9W3ZP9wWc4NBQQNo=g91V! z2AKoLu>%a2;dgx`Ucr35p`q8+>G=Yu<;o9w~j;u zO`O5ULTc1m2pv(Dl6Vpnkt|tiD?r>c6ZoiN0?!4~&I3^nHuZPL)RP0c5`E}3GB~|v z?cr^4Z;m8o(Sa5yeIAp(^+4_UI5Wm1YB$oCVp-y1(3gQw-M=`YW zg#7i#n2~A|##NKyOy<^uFx};}oEgG?Ki;<6`EmE5`1p^K+d+l@B)K(tGk(D4zYw|B z_sU>49`h>1AsvQAxL*XpaFq)9w^{Dy+YlmVgEF*t{%NfZs#Ie0|R;Y$^{VfkOnT;tHJC5dGqAS`-b-oT*UKwV=iKJdh% z!XFGO%uR2II9^Cz*%5B4)xD6L=*+f~6y%m6^@3ktNv*4=~2XrYeh5v0H zF1$zGh`d>Fj}z`^K)qKq?Cf8l)KM?7$xk871kU(5LtEfp$8;+upjE9HjOe_e*U`}t z7xg?l`XN4vck6O>4ey<1P;~z)4tD&|=2cK6orUXwjP^qjfC-mr)ju&5f+gK|!&+d5IQkXk zpEY8=Kxfm@@-gsGYw4?rL-+G7@|&AFR;^jXcE?g)L17Tv(cKtur^+ap@HSK83 zN{%STmil3LCmvv6Sq<7~LJgyd(8i*$0}(UGua!!XZ97G0a<6eHfAUhRWm^*Tbi9xy zLbr97oDlu++M{M9(?PMBe;pZ->*^znYM1ko(j~Lu2<%8t+zs5J4P_1wQm`$6x}b#O z9NXW5lA#4b_$Ue#q6>0%!AJl%6p7#?v&pcyp@TI4jRgSpJrorr-ls7BKZq>1L=-*R z&KA_4I=IRC0 zOjMP~4&+Z9+&{ceE9ES>QBbY$y;w8|J=aYo(OB|d@^dy~BLrwiI11$Lh&d-PoEpFNF^aowd9RPRZ@x`;Y(5ZG;Y$5Sy_X@?Bffv)?t<~l3HmH}t_KlpR`KFF z)&Ta%dX#dugHdU?2DwtItGBZ(Z@)KdwVY8NN8y)@-GRQA*X!d_DrZt|g-c{lC>Lc3p;=EV|UWe2uN`i2cypH}-aR z*t#P?*o0tmOW@gUe66ahWFEc>$E=aj7H0_!M|%ecbpU)+105aL_q{17ZU6G9s&vwd z5iMZ`*+PXgHdg^75=O;h4$0}N4BgblvU3oHigv9lZS@n+u0bRb zXF^?}{xrrhsHCFu(Yq3G#yA2d21vFFN)(a4aZ_ac z7ur}@ux84T+ouWVHuE>AZgj1?(H6nIKI8qyY?O zONS>BtjEEa+dX7#Eo1}P(NR&#mG}oV5T;foFr8SKne|Ox`_B@-$##cFjd#rCnm}S$ z77C(n!YMv&t*5OWPX;|Li>RKE(uL{=YimhsE9J-Ya5d6qw+Z51s^0!zDfTu)8W7qc zRi_kzz;~AP>PWeC95jjpVvgHL!b0(nkaU(-g>@GVBLNXQWEv` z2RG0wTX3jmVQQ<%49GGf>&9smJCpoMtIktRU~7AA?lk0 zXvRA6ODjcZCsz9$coj5iz!3|y)o538(d^>;hV*4<{P_@`fJS>FZ|O;Fd)S#U6O>2M z;KoTKxBgvNDzM0vu2Qzz-nMMnGU7Wnd22w%-yr2lRZs7+q@*NCYO=(gc?E;sk~EXy zoBl)3LXMNLDo}kymkwfdkRv9~;$f-7%k502_*qMd)tNW&U$7jw1=iF}>tV zCv=`@BrBF>q!IyFuWALxBpu31bq$Rs>w|76DP*` zz@h?9@W8}wP0-D_Q#CM_C-C@pXeLQs&WA@Pt8Ywa06oRGH~^onI(D;|H0DF-rMc@o zrHPT63I4o zB5bg$#NoprMb3bRhK8M4L_uw+PNYu^F3SM4KHvDCrB4mG3j*mdDpUIiICday@4?j! z&QF2*V3x@Po}z{M8S<^7dQ?uX%goH|!@WrO!9Wj`j>OCJbDq2#lOV2WhVy$cttcI7 zFs+%kfW?X66o@0enKX|?XB^QaML_z>d zG?8&L^aPN{1j6HoB~HE+D1lMoV22`e%&{+#)qnEj8&?+snXsr6r4;^@4paUA4()LN z_a8C;dp`UkB99IPPN~I*BMkoEp7;N$2X!r&j#T-i@Q)l1UN}8z{@}r7D)aHBD~{Cq ztsdALb$-2q$?C~lkKU>Tbtng25mcy~3w)3f@g=&9He*^!?| z-IkJzcROP7V#e%Qytw_plk0f+U*oT|5!quB+e_{syR#`>7#f z{x5!o{?EKADrJR*9~w6{aV!v}m!nGgsWVUa>2&J&m$RK3ot;+W|8&-$#(Iic%xi35 z!W*VL@2an&SytP=x;A}x_x=2%fx~)!8Pl7)KNR2SqotnBBd_Akt^bTl9re=>d+uh* z%jp`w>vEyGzbP&2`1>QXo03*D_i`F+rmYn$%koJ!KFdTU8$4qyx1imuvx?Ge-}r;j znU^n51j!`w9oMfZ;VTx6;uDl<;y8?l+3jT)y54iAF?MQx!IH92@VUld_|e?z(bPNT zq0(>s3DDf9?Ca5`Goi{m?`H47KlSv=Ly7F-^(EpNEZlCt6PsksHpbRcRe!&Nj%Loz ztC!rZIt=?i9dFQ5xHi%-kbBkD=?z)8HB`p;rPN~TrUmQI6Ry+k4?MPC^D_{B$~QkL z(O8=!{|%4vrd(-WPTBmJJM9T=lM-A0@TG8lZ9m`Y^jptl_Q{Y$=I?n`-)p zN+h&w>C+E|6BKrGN~g1!j%D3l{NPO&Hi{e0Ki{;q+ME)ka#b+?jLOc4CualI-2=$` zuse{%Cv%w3r?D)@*qd$D}dPM?94(Bx>8CKW}C}+KYa?MzwAQMN^Nvc>dMIsWZ{XJm@#*)OVij zzNxV4NWoE|KChE^PlkKHriZ%+OzrX z%{aAdSE+iMcnjyfV%M^tDQ?}6(d0b*V_tn=HFc^x%=OAqp?R7_Ir;xBM*17$8=P#u zPE}_Kj5ZY581(TWyM+^Dx%s^S4`kJ;;|M)3rnZ7IQq+`}6E~JZaqXK86Q^nqhT0pa zAC(qQ+wG?1GSKQWJznbxu)qSt!mqD19@Ls-b|TX9GT6ek=bMY$ORz~Dp4q%l=K7q- z@vr64mbHOn zN|nul1_YI&r}7hV>d_3zYjc%evkKBkLj5|rSzDjEu`yhK;}Qn%*Yf$DPZvgms!BY1 zawFVJ)?GR~c{=jwtmC6r4LZLY&+ii* znH#jV?jPeVi?-A?_UQRMx~eUO(_^gm$Dr|Oa6mYm3fllSB$nOBbDMoMuA59t2~g?l z`K?^P6+LiGy?`KuMkb}v5ANY|x2y%E(jLA;?16zaLbJb)cFxl~GmKv z&!Z6eZ>s!TOptyn1k76;$+;%TC_zh8Q0-8Jr2f%(uj%-&qbM!AF(d6$FB;ftnNg;N z?@V7uk#)Hp8VtAN$J-F(J&Mfzkx_S-xldJLBKt7YFTWb&ffy*t=1VK1#s#RcOV0#d zn~OfSUDUbdg-rLaaRH&GdJV=zf@UEb@LkV)!2*6RF07}GkO~F>i&Z#Y2FHqX&GjCn z%LhX7CWB_`)4)$~qk-fKkZ+ni6dBI~2)Sxab9itn)^&(l*$tVXJ^5(X#l;qlNjkZ9 z7uxW)k!0*Q)j})Y0$x@!VGy@RLZ)zugk0;};G6WME$q)|28zLQ^RB;~$mPZ}u;rk` z%>5Q-`OfIEkcs>?j4)g|D~o=@4^VraN?UUy5VxN6`GIs}gg?(nn<^hrN3(@5VC9(|9Szdwj%uVK;EPRD(|kT3_Zr`hkEtV9}G)`fu z1_88AkOp+%jC{eK+aIx!yb)08a-Az(ICiywT{Cd%-S+{O&XV;CnmKdR59rJeSUHhJ zs{TPLzJijo#rM)5H*Mk9Sr0s2AXu(=Fc zS8~*1a)Vanb}<`$eRq1+C=`V`v$-udZ{ExW^3nsXVTVoiI69=VV6WMpAGzSg>@nIs zD=+99vWf$d^HO%{p~04%wkt|jEt$MrT*Z*yRGu>p-yHws%DW{-Kot+i#+>_EblI}k z`hc#cpKD*Caoa@VKqwBuil&^oP;nfFmAvIs)uZLd^80&RP8Zs=ATa9kuW^juHbFv} zHRab-y+#C7r8-pO@+C#I1l8znBA$DkOI1gZbB|Q#uhVO{9gLaHgO8NNn6!UuR!eNS ze4-56TA!j}<}1iFFNadokP{GUWi?d7b48%7y#;sT(w0zb%zHWObJlMiv+WG-9+RcZ zWpg`zbE^!fSJ{In^9M&F^3)Z2-icqtxNM*jR!Vhp?`_|r z)@i-K^-8gb(ZI2}$(V_9>?_u(l}K@4RDiR)KGu+4`-6j!eFNg}7@3qpK1Qok8^qzd zL2#4*60O9jf%L{HhsYWIf+~Z(o4S!ae=WHhaW^FfohYYjLSlYrR|$8GugDlg9Y&qo z`T6X84Qu1aejH~cJ{dUn?S()qXya+|XVQj% z)gSMP;MdQ6KAVrGR|wgk&XEgG9IDJkJOKkU+Qs1$h1}b1=h*qNB9h~hi8^ob_qGXF zcctE<%IgCW-_GpK!Ij}9cGw?N{`=CJ2S)*r2O$VFU%DfY+00Y|Q9SR{F}icJUUufZ z@A!?ahI>me9Wf&s;Xia)7Xt%>T4;Xux!;!Ii=x(mPgYs^(;s|6e8K{lxc z4=pQ-Uo&-fp-Aw%l;Og}g0CxM4d|qv>nl0;23KMa25{coTd#`wles?z@fzjWe|nOV z(+2KK07K4b%%zS7FB}|V<#rqEqjvVDr>0tqbReqJGj%Cic5JNIak}4dor}I9nS#vy zzqA0{wy!@PkxA+5vm%P_&6wJ|H+U<*PR-?>j}znzjbBbNuvP4bs^iyq+RpC7T1G=| z^9DX>;ty*-{I(_JP7$As&pVcLd+Z#uN!s?Ystmi&uXOSq&3&I(Y8Q0O{}|o86+%_3 z@!U_KW`-tzfnYcAlsRAOt+fPa@D3lmt@|Ac-}X<(H_&HT7~9AsVrkBa^Rr+^>CYW7 z9&3MzzNgH^H@8Li@yiw~_5pI&Yk&1(KZ3IT5jAwb60<}s9F#RR!%Fx_#jg>jr%}gTz7(~=*Gi`j$CZ;3_=ZtvM{`)uJP{xDu0m?> z(_EyRyzfD{6Aw`tRF7Z@ooj>nfTVyAO$?P=N>2?PqhuHEH@S+Ap6khRPf6C`0Y> z`B^b6hE!&$n%=ll#mv}6`#ICoi;HE+{GX6Y*gA}*F}xj#KO4!~!o5_EwblcfojK8? z29l)nj}mDG!}%=Yc3n2rB?t-Dl6wtoUjdUoj8XWF0&!QsY1-OG;&7g;hpEVOb6F&F z%ZlZ$U-;omN&Ve)d|z4O%3NA`V$mA=%biEjx|sAjw(nV8YqBu%;AuE1q43N3g46Q{ zl6?Hxw(8p*L7{aB<9RkPONp}0L5lmcNY>-aM5}FZ$xJ~>0NDxgGr5uRS*Ux0Ar7lR zrIkVJDISa6Uk>$8H{LNEyePCnMXhy}@#^WFVwc|C&&4#33AYc5d%`z?oxX+4jEvbl z2;Q-h&s^)?=q@vfaOZBQqQ2UQZEc5UT2uMa!Ci5u!&!mU&&mdG7q!x9!*Eo4WC-N! z`@UG@gF*3#tX#M4AkQ$y9Zdz4Oa*vw7O0na&ULSpn>zBiNZi@NyuT|JneU|+b~Uc1 z`1zr+wg2=q$<@)Ra_+^?p?tLzOaAiO_6a$SYc)FlrgDAFjck!J+3WYvJ{e?YkdORT zAxZwYzU${3LayJtd}K#tz>UEMZHhgu{>KjuZOl3DBTs9a4QYHEy6FBw1qRZ>v80m+J zs1j9j3$rZnxp3NE{S;2he#CzF+*K01MV10o3ELr?3&z*VB5Zc{+JJhbKZ)mos*eRB zsTSi7Ho=%-P)-i!lKJs;6L7awgs0-xJs-#_!bd?I;+!NFyxm1!fP>E8hnd4i%7bEA zW;E0tzm)A^Oz`)TNS0hNZsw(StChVl#%k%dqo3 z+$vUClG@k2Yf$rs-)Du*-3iVqmY*8fM=Rpgd~F4%JLS%8b_r60#mzkMh z`KL3&<$8L2GWRHlGEK{(0xTKb&JZECcwJ2EMaTGjz|f})%=qOiCia%8Z*3~;H-k?= zk+`@hbXC7|JpuM_OVd2gJzSgOkN*&Q?wd>ABgZq#hu+I-l6CyH^=|HYzemF*PvOlL zuI_K28-;objmLh7>)=s+2l^wUUWlD3YTaOD*v4*aoj9h#I?o%AMR(X84L+0mnG*-F8En*VK9A1TAl^>@>gSlH)WR%QU3w zmrP0aPp2gKUr_j+yd(fX`|Bq057f$rCUv{7yXbaPMFgl8gV!Smb2*tGa_DWQF{b&i z2~PCqGgySz61hd~hAcidsquHL2cY@DmHt}oTFoYc>;V6iJ^x#TMmPNSYPxN}f@4_udNt8j?2x%mnyQm$y6{hi zx{V~Az<`23wOudc zVIe#14s(Gzw68s}wH(>=9RoixYm)+(Pz86ewA!;rOJ-G{o%KT;=H4v`_ZS1^5kjiosWU5a zOFRu=J9zP=J_ZsmT~V_ODKBNVz)(Q5Q3GGt<=BL`vd zn7QT4FtpSJv(aX_|1gg?faGKLA2GOnDN)HEG<=itMSmpgh|vOgvl2%+(t+dD%dR+rk4r{CHW z!9oz$C*Van+=i#8r-?YBfkvw&yoc-DI8BCQHG`Sh^=0|qy;X;nfq^xy>JG-x!xmAPijz3o&PrNUBhp+CITmS7B zA(R76mcOJzDfd%S`rm!CpCToz*=$dU_ir7`#i4cX^j}v}Jr2Uw!)$(u;)v;Pu=01i}AUh5=g}+ik>< zUd*Argkk=E>5^Ob-+xWe;H%PG`iS_hreIx!yR!RKcLkfva2w2dx6HD1saaWHyHy#w zn0{xsD~FNUmVSS@IiP%MD5LsrS&&#oWu=L`yA-?%QLXgdtxFg#J}zCN-G!lDs)-tH z8B4xY;Z9`#dPSn&J|B|Zy$|10b8@yKW9Y3j1H-4?cBQ-WVO7)M+gz#YtF#riR&Nq~l{*PBoTl zTamjMYmj`Q>nPVaJ4mB>T1m}f$tJo(VD zpMhcPv$K1TQ+1SOdY)i|xba8ueumPkvO7zqreRss=UP2$g6rEiIH-gNAWcL0=2nIs zMNDc;-qL&_r@B{s4{qxGAMIWHPg7SMKP?L4107?GM+IhhNEk6Z2DnmiPM#qWQ5b?L zhz=@aAPg$0-9#5NRMs{@HyltBiIPg70YoevEpten8*X4pOB-khIs}BafwC$v_qik6 zU$LLs3$}sM=uFL?K8)2aH>p5 z6-OtrXvUE{S#42!_a@dMHbm4Qg;U8n8aPn4AG zv0m+2US6IAm=&OkRG7OYWqVzB^faq3#~_*9R+1GBII_!Niy5XQXPZS}3np?=fHF-;9?x;v z$>-IC&?_ij068@aSfkjWSZg`=&ZiOe3l`G;%h=e_JNkL8!5~CFY4!Rm8Le;O!B7YM z5!-`vHj{pyOW763J9S}qCYvolbRd^Xfn$n`-DrOO94GiGtluNkTSqGa=$>^KeWKZQ zzh%?I^JOx|wd7}KK2+6D1(QG=31JD3-@0wv12A*c2n6vRnKejrH^>22S0h1@g2VIN zDWlN`88KzEQIa+{G;@A`Iaa-X8%lYl=x|YoeQ`6R^#N$f@tm`Cho^~>BbULDfD#k^ zXSx|Vjp)1d4Q*9J6|>x2pUoHdyP&9;Oz7gn%-}^{AG<*;es#-Ulp;GOD3kGzpV`#c zx*p22R^G@?b1F7aPN;LLrKKgkG6t+k16bXir8puPmO3x5MOq2Z1I literal 69260 zcmeFZbySq$_b*DPfI%oJqBNp342_g@OOAlR&og&>O-3%~v4KWP& z9sHi(`K|NkUH9C(?plX`=3Vdm&a%M)>$a^27&DF$>>v^^W@Gw4DWJzc15X4YyawR*q-<-@38UI!YXb`B`Hs zJ1p6#`;}G+P8{hia$l5vC|@HOzhon+>u8q@L;U$B8Fu*x)H-wocYU|Qh31eQU#2L) zy53W!DDvWiGP@W)+DvK8rPb1v4~L`D%CmUKrYdGp&Sz?{R)ZnmQs1o?v8E`G(r zl#+JDA%&02^AwFB9rH;#p5|x95p0>Zd+#vxm$BwQ^B>~Uzh_wXd-oIT;_0JxKf|YV zr2Y>b?rVP58$nAHXA{5_YWHw>Vt`rOX7~z&785-lgR@=uBW~BF=)aTBxW%+Z?ee4nok)Tt10O$Z z;T3*vCqX$*F-fH{=r87ZFn`-?2ZCg5X#4dtK^?6qwtHLLivA%UyC1lN5KsIo9;TX% z%LBeuzmE(Vay%WfH4NBtg6iQ_&lcpwoJbx#b?(6>#gUeJt=7P-5Y5Jl)+LdXUX%4* zRVzO#pIDP_ht>*%H~h+7N~2trszCG?mkVCW4rtA8|f%k5O_6wj03hB%=8)hqTN zPyUcS^8eQT!Sws9;McbC3i0#<&&|<8y87O`mTSMWx545gN(wLeo!Vjao7gn3{J`-| z^1~rK=nulKBZvArCj;(MT>c+Pe>hgUj&?p0Hu0y1EPdzv!@t~k`V-P(U?q{(3o_Zlrew&F4PrP5fLfP zl9!w_pE2-lt&8_J&2NU^wIMnoX^-e0fq$mUKYsgB;ki7iJdeWs&-e_J0!mFL*0@Aj z5t(Mmlx%t)twhXFsW~OblJlS>MufHV7{o8(^fG0N&4!3 z5Kd=kL=Urhvhfct(YGveGxE~%doflql(Blzu~9WKVUaI?+C|YuAelR(9V6v`&Tx*i zoV+1_QN#gbNMiANb6&WcOl>%%9>$>a)LmvjLYTdbqg0Q(|OdoL-n-$Si|vlaRiM_RUYv)~ie$1qM0OaGAV6 z_Y@L0{`8qtm;d4IP2@{tNjyu0SHIG;DZwh~)N`*kwtcksZqI5DBvc+&pqxBpoRXon zrL|e~v1mspbUV^z&xPAX--YS)v1h7hy=RJN+3Dn|)EOKGhxxvK^;(Vx^6I0F9Ip%i z0PijzVq9+StEr}~i!ZN7^~nxRQKNP%-_+|cE>ROi+ZXdyvx@HQ>GjHj1eT?$NtY?b zLH7CLKQ=#2{vCJ-vhogzF`|J+xnW&nsGNhw;rQnZpyll7CKhKdFihA-h54=b-@k;dltobF|qMr+oS)5lY8o|yLh2bha0Q@^Hiim$tH*D8ndW})?E z8TMiJt#pI-QQ*oYkgwOR$!#}!BKkIZ^XKTc^0wTzuBYAUV^1Z@eGY4u_310<9qA1- z{*JVb{22*6Q-+b0rV()C_mfa9w9S^Ab%uskP(9)|`uk>v^w+kHfRHeAlORIli~Aez z-;&w-AC%UGyFWXBJ&CmL=U5w((Up#oQIge{j*}Vw{jQ7pYeH!CH;(X>5a+K&-@RxK zD8W>%@yjU=&x{3MGymeik0VWW36tG;ad^eYX17@3!K}+9D5m?i%$zH{oTHuH zHWY0t=d^2SW@+o2-Gg_+nrJjYhHk0z(tl&hVQ!@oc9#2d3lfcuC#1)2n@T>=V?%|O zccNmxHsKqovj=KR-QHq#?q`dA&0vB$Y<@x_f__3VGRNEIMxM|vF)NjR}=N}et6>1i-7a%mr z^m)~7!3)|9;L2L_qgU|5!v}K=CDjDgfz@>3e`vf_q3Y9WWolrbd(P}@e@}wif{<&w zYf7ONp@E@kDu>E=%2%no)?C(BR6@zrrZik04@RPikd|`iy zQWwO2NMu4v|H{Fj~%!&yd-O0>t`{Cc&er3)_Q^hQPdo$VCng@}@Ws-($>csoU=K@NtENwDL4o zQETsgxCqYXO-F1v-6!+`>da&QTeCmWALHN}`{C~ZLplfWKu1t!N{L=aBH5#H4 z{jiBh+>8v3auiLq1Bo$SgDDZAIm3d6=7%Q#MndzW(e8proo3f(_|cqqnlN{i`{DqI zyH}BmJ3*1F_lGH$O!s5nKQAcb(ith;*IK$mnOT|r8~vC4pFU&Fe;Pt1Lkds-L*$N4 zIt_W#jxFubewnw3)N)STDIA|`hMw>3AdyEN{@#TXIEv(mw&92u7ejvK3rRAj75!7F_XW;8Lq!Nv- z?hx$TH~pR~96pIBpgPmbpM;R0h@V#uP~RXCSX#$jdOQ`L%#c{1bZy>t3JGC-g0sji0y6F;t?wOwr%{&s|AwDQ;A$R^IKxbxSCy4lUExN#WV zwg-wS>-=`#1Eg=U@3>gMkvVK`p&;1ft;||vBj7(x#uq^AZl_3?&-KEwABpVvg=nV; zI@61pnh-E<=-qQx&gg7W_$YFwz930u#rEA*h^K3FM4_-X_UvNxoUssr35b3aHaZR3f zvguWJxmE$S{1c`;bG6*j8eE3N)T)!ELiVlW0E+Rt$0nNVYoEOh3WP0gsz%WX2nv$` z(;ERR*T1-aKvfOt^C>DBUkRd$bZj%e#zA^-v0&4%K(|UZai|kp%QS6oA9NANkRnsW zHVZ{*&y670Uo5*G;0F?W*oAj^zy;^lN$4z&rML{FBva%|CSRSxSAOAxAtJKKuSZ?ZSHoGYTi%e)(3|hW&H*&vVc#I%LtWPr)t)dJ zfaCn zAQsq73}k_4Fu5G44~^<85eRIO3h9}CKe@djR3H^HK94(0x8o#gC>^;JW)ucX(ljju zlT%Eb!lulW9pOZQj76YPHFn9Y2e>;3*epq7HsWgX^-JMgUOxZpjd3CB!h;|oD}}Sk znyIa=yiub16cu*2og3)9j!S8W;0<(?)22@CV!*cE_wrT?j75ByPPiI-VPr ze1s7uNJL~d$~k0ACE{{Qc9!Qs@QxCnk>^+{L=%ZfPcI3Y-R8t(q6l_m31oAD?D1gl zMQ6M>iEHm7wiQ|N>&q{$(bNJQwT7d*pk^{-KaYjTZ9VAr({-YZQ?_ti?ps3sFMgQ7 z9Bea7tLYNu8%wf*KiKd6edeMWZH4LJq=R$~EG6cT(R5njjbGpq*uI{%V7;?>#tV#!#0P~UZi6UjA4tLh)F?z7u z#NX?I)&0jq-nF;30r(41lo}d+5YQx;3|2@4U)*XXgzkh}f@q#NY>Co2{pz)K6~CCr z1L|$G5#mDEoolsmS*Pp;+>+)vM3Ntasot*i$z@c?h=H%t_F;d@C+ADKuN|#kjf}GU z(@Z6n_9siEm@&~#HBwOa>;hLIe=hkXmMmWOgSg{Z5&;4lO;BHE#{I0k?;-EbW%KIR zFo?0;V>*cFmjQX=R6RF47l(~@Y|O%(xAo@<(GH!Wn?tEjmwV#9#>u#z)8z6{s{LvY zvwm5_pTdmIW(UdWqPyV=JLYfCXg^Y~=Sb!$b`WvPQ0Fl692+>MD2%}jYv-R$?`@v; zR)(tAX|a6RVW1&%i0%kwh2=6Y|J^@az1C1pR=X#_(+p8P@-7Z^SD0I-6|25joT_Q) zy%NNt2Id7pH)9~v`%J#3;*sjzzW-?}MeK=)WLw1Xd+pux$X;wnZFDr3*@ipFOzEI%(hjvX z6H$SMEpb{d9@!9$aGIzlxb1aYi^}B8G|bAKx`68@KNm?LP&KmW$IuB~ds|a8N%uzK zgdCUjc36U?j#h(;0Jl~&TYyX(d=!a|RAGGTTxGwlS=z@x#_I5deSIcHjw2}4qC z=zvvuhF9W(mUNTkpd_gpboos4p?pKra=lvH1DN7YX-AefVby>n6;^-w3 z<~e;Db3-v1cR&Wq*gj1c}!Y~i{rtbbPmsfsr;l; zvTJ?N6=+_hbaWShXo;oUpdud2?&vB9DTGtbF&6boz)ZX;=GU<(u}=nX6IAUOn3e^O zkC*FmSRN8QVEuvT;0_w~BtRbVxG8;GH_!V)P{3N_C*?x2uqS3nAaX96)l%YFJqgLM zu~N-+)g*m2Ij&6CvnTNClX6P~2C?jlNZgz)WW$mz&>6=y@$;QVQWV9?`K>L;_TtCB zNK3N?Qmw{uOwupo(G9$vsS5WL@{v_$Ze6Bz%bwrH5+M}8!R;>k{(AYoQnMVP0N>0Y zz)NUi%d!DF;_t>YC=Ii_*htErrTY>ogGnrSx!DJchy4ByZh7+07q=%kVK8ag>U_wf zE3fJ+E}u(v5mcNEP>Yr#Fshmh!HkZpiq|2&9v&9%AvpIPCgdAO1+om^R(bWbK)-CT zjU>J(80RCfg;D!lnvZH`Eel>!5(!kv6;8c!lwpdobn(>Cz7yrQI>d@}|9g+uv^!dF zCCHnW<;=$LP84KxB#o|W^BLb9+YM2Mtt?@;KcO<4J}yR>5QMaYwv+97GUoSjmmS^5 z+IysZLAHp@ziunkuGQld#E;2DnZOL_-37Je$iMekOF33+EA=`-haUp(RLMN1`RUfn z28WenHzCKfgXr2oeP{LxWz_^BHz&t8eqOKV=nR{VyvT+A>eE$hI@()=BbKQ;&UeJy z)H>5G8R4)fMY}aH6_t5inUYEWjS@g2j19pVKNj9jme~_Ar)D|4OySO-o5nFp5v};G z1;qLleYX52QHa!*sb3r7MyUdT-VW z=ig+02wk+pXHt6vnB~Uh>gauL)Ili4c&`FHtKc5ho`H`sW|)D9`uj7^jovkVIHJoz z)_(%@LoSQ&E!56MZ0#KekX*>42Ht}FE=b>!?dL4uccqwT`clwV!t1piVnzgGJc;d0 z(9&7d8&gbJ!_*&OQ+KOyl;vGlK`o19F|-Qw&HY5;h-47Z(R+7^M!cTgP1~{~j3qRP zYPD9)D#VZBQ@M(zW>9V_GnT;F)Uhe9kToL@C6@p|>>6`ZZe+2#$01nq1w*1|oaL4P zFy?o*9@H1*<$kd**Q89zcyRBk^VM?CGXNMTDeG6pUb0<>+xVb4tZz)p7C{L5MJ*^6 zLn@VgdX&zqYeN>M5@%O6RL9b2eD75BG+SC$W16Noz)f*`rQzq{PjqAhD>u7B{hheDl8fj zl+nrwhUSz(eygn*v|lFub5l9@i<}kstWdtuh<1=CrQKg>>{zO86l(S0x^WG@xw-Y= z1@hQ}>2``zOBfV4u-khF3)K1->g%rbE;lhANKWYj7tf;RJ`GA1dzS((S-G9XUo6-K zD{*I4QX!qKna*>@hT1>;XZg%|A86o`Z4pZ}e6B~`zJus!j;$I6yMJ94%XTj@WrNKq zSN6OOxE(I`%&hyY3nj8ze|M8Qe4UCPNn{9Be7((*B9#TXvMzcj=<4QZ6?!{gk?Hz@ zr>jfMp8J6VkXz8SHhf$^UEJ^~Wh8_76`G0of7@41@S)3Iyw@nGEHM;`B)pmNS(&9K zN-~{esjlxXkLD^O;*4I{|H^Atol^kLjs1&3ToRDEXILxre(+?ffm*NeO^CIfGsJWy zxUVp5r;x}!G`vHQ^ywLF3un}=3wbgmhx{wQa+w%<7y0=Go0(a9nmjp1+7)N}v-MWaj*KIbZQ+WyyNcvXT+-J+PGPq)Y~f7nsl% zN+KW@(8fyW{GIUYRAYdm$i!5O-p`t}PO5)t#%g?sHHMsKGBeY=&h)MJO3;OE+>ivy z08Bh4@8>#07}&<#@<$q|&Wcq*TMfsav*?|i3OLd-(m&qlW}Rm6|!O&pc;!L%Ejo2gAw>__U{rwJXNjeLjFWdtBlToLi$Ht?3X@5A#Ghb$v3YHvCFr$pPg+xv{Q3oBjX z5_7-!8ZOq$XSyPuHn1d)aUJfI|4_)nCxDLHu_B48tHeLp`$pJ}`$=UPIwkFrFIK); zc~?g9WsihF(2Y`4q^aPID}k#%>-_!3n}c5~Cxd#vws1l~@P}d^6T_@AjWCOhB^2l0 zQg~9Tkv<|xFPSw?$73dGZA0xX?a205rZYx4t6I4xzXDHXCB6^q%;eQ>%_<(*ZKBoa z*O)~c<9VH+LB30=m;2Xy4usHh=~XZ<8xwI8~MVU6Mtqf9z`x zJK1cNu{Pby1}tFc^gv5|JS8|hAX>(Ic?A&E+z*49GZ(cMsSooNr_Vj!6*hv>?LU&T$dHIYbd*ZRUB}o=+WvxXU~6WTFP~~ z;=JpNYla#%ofwOng*A{Wat^{IRF$&43RUz8UtxsXi``qq{Csfx zGVZ-_mW!41M7$65hSxpPn-(<-)*I1Us|W=k_oxGn59?$uYtbcsoMR zaO3xj;&5C?M2{KhUVggYLfUk0)^cPBa(xCbT2tDe4p6ddWKi6{P72&Wz=xFs{7=pr z$?*kPz4woU4XC64twu<6Ie(%za{d<4;R0@cj?#f`eQ(KG)N(avGp^5tbCehq*{8u+ z`mu8zE|_N}9w}yF_pVH=TCOd_D^2XeB;ud>`6bwCx{U}AO_zOtOD!N-wdUm`qt}<*`+S!Yf~^f6P|1vwfR zVZ8_Ohy-{d;v4sO`2GcKH#%DpbD*GK5!r;Rgj`QjLgs&C^qtp?q7&_Iv6Gl#-}YAf zNcR^WFyuAxJW6caGfM25WX1^9x4Rz^Mj%iaOr@W=FCP*h1hJ2Clk5cwN@o3Vgpo!3 zJPruwxK)siS${Mdu7o^PU<-Qj;RN^BrHO(NSB!(F+!X z_pkXoMJ~bT(`^crS3GZyYliAcqWkir(&lV9$ImFh#C^I8V6OVKJ&WTkTEf|~xxd(q zwVl6mVfL-GHLZz8Vu8f+_hXi9A*wPv#LuhJ_arE0yWZXKeLA1VEHn4A2IlP&9fmJZ z7(^xZH`yUeYJ+bM^ik{`_{O}IovSDUt=_(rMl{U|xl^X(vvi^eKMfB!&t|{~Gp~B2;+KNVxlnlK|d*|FtVZ0_^tG9 zg|_4G@Fhl+&4YvhB%!qXm?bJaXGS1<$08oz2t z1defk5VY(vIa%9VQ3RdB(gS{gH64vruW2t=hLw;A*-pZ}QaV~OT=$?xntN`E5YfM7e z<&h4FjIFx~wXe6Fh#A)l4O@~SwI>o|Gif}W8dFX32)Ak1k*1yLiizLRyMIqBp^z=Q z7P;-k===L(Rp?n9!1FANWQY_F02PF>|TuQBLcD#w7OOb3#Rm1INY+8AfRhDfLOQs(Or!!_Xld9Ah zr|JSFX5QE}+ggYJ8N}tJV^b3cO2(@VG3K<)u`)zr>Pj4k zWhX#^b$2M$vUqjWcNE}V!+{%w$Je2FeR>OER%K^}g0=CgjC3ET#kc6)Bzz=&Z;}2? z{uQDnwJXz)npJKp0O8_|kVZeL!kf2qtat)?f6X|P=83y;%5+7XZfnANNm_nw%3<`T z32^7z̝oynCizj>0WhJIti^+i62J%3+ z6)|B(<__s4Y35}I%aZ_sMBC|KF|~AC*_-BOp^Dmm+;Xv{a*(V3+4*uJ51X2aW1miA zktCHqm4-zs@eywSc&84*OB~~-8>VK}?59GG=uo8I461lrlfkuw2KtuOSydg{1 zk8Ke^D#JaqrOI1)5MAO~R@hYYnHGzBfkOC6wCfDVkMPI#4V<55mCFcrPJRDz83zlBH?M-|0zz znxo2vL7*Q4;2J>d5ohUs^dlvbqkiqlaX-^)M7{@O?NM1k1MkfwcuwspS#2ANO3cc2 zV^OQ~uB!&;goWY!wEFWlYR>WfVar=ALUr;*YoCPT2M*cR%*)J8c0Pi=CDo3qHHAhv z)GsK6Ez7E5X)P308cO?(RGLOnsL>#gfZYta$)BbRB~&n*r$&0wY9Rx;N3!}8u)GeVlC9m^9`rd-*+jKPxt@arZ?^KFKnZ@YANgTAJ(;6%FhgQSQ43ae zZC14P)z5T?t1&DPJQYhP$^>{m7?-*fz@-qTYiL9eg)B-%&&GbC2Wt`u`c#R~%O>^P zRyiLw%uOR(`L>VvlIrPf9#mP(%{#tV#Pdi zF_d~9>nAl=a%EP+d1H3-St?^M9chI!nW4vVKrXhKhSIG-zW&}PK%h8i>jD6;AZn^z zxt`I|QiOAtCF|@guh{N+x$=uZxSZV$x-qC|Lso=*ilxUEnFJ7=p$BUL#{~dURW4Fb znfJAUG%z($#yW=TKTc*F?P+*uc#BAr@V;(RNuh~WdZf^najk19@$MSF(m>KFWOfEF zXn@JSk#4;d&Ux% zUx;Y_Z~*xb{->Z)X?nW#(S&0THZ|op4VF)ppkqx!ErJ8WlFQZUN7u6#8z`2+C(*W& zPwABZNUCSlC)d};Nq?WNY4J0V_}nO+K}1}a3o5**ZD$v9I6+4s&!saR-Y_ixyrq(W z#xV4>=YYQ>Y^UeIIjq;#{mb^%Tv@PLl=Hr;r$g#Pj&eP-H=kub11AD3o#v=bfK0C8 zh!vGPdf}=7L?0h@#UA1!j?s5$zTD>xdN57k5&!M|2}etwV2lDpYTitVzVng+h&hUp zcbU0|&c#@@W}RxOI%H*YxM|u2%(dha?%TUQ>^rd@-Za0C^u8%aSY2k+;y_WbIE#%Q zoTq1@5u)w}zBW?DjYzus+bDZg_w>w**~1=Q{BaN9v%X65eRXNdG~MhIv>u+M=Xj*3 zGf8}bt)e}z)D=Tc`}?uO*IazdU&^gMFY3XFDP@KuIu*_4RxVfFl`CcZoymrbUY&ChH1r(6Tk^z7+@b0=;zUt}bMG^bm13=~#mK@-BY z43ux$ zTYj6eq9(@y_EmH4vw@pIWh;lpf;Ty9BW3aBG> z94(@Gfb3&@%rwMaIvg>ED%JcJ8Gyy7*6naa(R~W&z40vXEvYTpzM8F7oCbfIak*Km zRkAAywZ)4RvnlRPyJc>_8yM?u?+CzM&;N7r|CJI9%bJeAdmMF94Ekde4mb~sSfqOH zuyETi3ZL{agvW~^kHR-UUw#k2zY4xl+|F zrpC+-LziC?CW*6$ZOlIyFt(f z)7d+S`2W`t?3<2)Ze$-i3Ev`4a(+q`d}S58+RCcQ2&VI?dvi;4_tl>-#Jp4)Gi)TE zNI$e=Zgl8GiS|XFqz$GaPnk}3ipmnDL&y^X2`OSFiHR;%H<(gCb_gRc*8T}r%2AY@ z`NH-6`TT#Mx_$FmtjEb9{~)Za)ec(xoIW_n6C&DQIV@^T_3>&uuYc?H-Pirtb2do& z7^Bsgi{v_p%pUh~MO!k@ZRs_A{B;xlfwa4yv(<)TOBI`ADx>eM>_3TD0TuXWq zy3CDoGWN{lsx_l$=X3UR8PvVZVb9k`gvqtWlF9##kIeodsS7OZc^3cO$ez#?cbl;c z+-l}v0?21#vMC1=E!6%35WOn@(*g`nnlo&&ta~G0@NJKLiuv$7n7}eVnDzPRU^b7t zMjF~v>li0IGcx(||7os+mg~}+U|Q9k6`VT=LPINgj?Wiu{Cp*-BD55~ziKWp zH&`c$7*BsJN9An>Zd5r6y#V|odvO_9anFphkFOz?6Kp4XwZ(8v=Q)z&Z;5cadjn1P z$ocDAk1zjuNfdcu%5W9_eD~i&h?#s?#5$!Rn@%YYn|3j?{J&$gXjQEI{U{yxGNnBp z_5Jtm@8`X|4Wc)v8f$NfCswEbO<;>d%s2mc+4R|rMcR|Q_x$2ry^)tt6ifm5WNuib zUBY#DjrJOLwHm_tW0*7gu>YSLPRYdL@?%x9|FtU7&|Ys}E#2OL{|$Yg`)=zNXgK|E zJ=A+QxBurwG;d*sX%&g`_s2Eci@vK6(DOt#5Z}(;NfYO#{%YZzBL+-iRJrmC(BdUxLjT>>cg2MLD1TPAGW^=kT`k;bIS96nX7 znmV7DG5Cw8(`*a5HX}v;sX8McBh1Uf=m{43-tHo-j9~wtzVW0VIk5ZO&!fLR) zHM)D*&k5ksBny1pTL^dmVEb13I*Pmd=>|OLvU$bLD@nY@9~?OE?upk!Fv8qsh-=g| zWQd9PQN8M$h|k@?tDxR)f~Eb}7nu(O_2xEGpF@2)N8Cj(*B?0_ zG{X}|vt*NQ&gX`0n$M=pQ(UKBC)qU=%y>Xk2EQ?-LUL8o?2LSG&eC6^Moz!I@9<&0 zi;3=~$h3-f=_}tlW2YHMY)boQ-MEFcUShE7Yk z@i?uOcM=o&6Dp}B@K{EslpdoJ!1Y1v(m*0_f3nABf;q5QHnv9O6)cGY{OL7>3N`46 zFc$TbkGrM1?I$-tU<~{SQD%$LeRc3TeSnEgluswkOL8Q2xGZ?rzMQB%#0^@cCh7Khd@`GA<$^naNI*6-EK4J@|@ z4A#uqS=VMv$~~;kfxZIrD5#^m3_539yYLpe0085jDW$GcH;sF|X}HLgonw({<8DQW z2%p7Jas^b#^v{paJjvsHwP=0v-$F6hwJ9hLY{k0d~dFh!jbT z>nvy8vVXcFM`6|(|3l8^Q+3rpInoMI${xJ4lR4U7m)(%Oo*!l^%r>{O!ii_q1!Hax zJ4tLuehT~a&8Les#kx6KFM!|b{h&zTuYoc^s%16UhHk#<57C)EQiv^~Y?Mk_7PZjzZg zAOZS^Rm$Ku0iG=}lj?asW6?i5?fD=^hT{`(y$M9nOEzCvNiELC^O6(a5eeJ`V5Kja zlSW*ki1_ErHI2|ega70#8;5YzM6bcCV)aoBz*D5f>T#o3={WNt@5Hmd`nmjo4VqnI&PqfFbMmzIB4{2 zTj<7GcBy_NR(}8pJ=LiMWr*?6BNgG%Fs^)yL4xUV6*0r9DKZ^{2hs9tWo8*Hv_4Nz zCN&?;l$J=~2^Tqkr#m-m*u@!Dw_DNwc4NxO%l4!lmk!HJ@93Xzrfy*n>$dD-o{a21 zG4JbXmk_wmZ5UpvFbxHBUo8U2HP{ouu$PZhyS4`c=+|HXi6}(7M31a$;K0(&G8SMi8Tq z$Hv^ZqxGX>C)2K5o(StVCoEfaJB399e(0EeLd&8`MXF2-We2mqw>SMlTW2rdH@Iw% zRX7_u^}diuSad;h0;x;gFjQ5y<&%f%=A;go!;2U`@2sLKb8bIsjiOc~x|zfRel6Ky zSBT4#!QbB=4VE_U>rFjzH*^`5E@<@2Z)qHQW1s9gr7LmWyp6cFwub!DY8{v;&`{`} zHgsQ@xSt(U_RsO@m(g~zd7o81-Tp&mPwg@^EPB2Be!b&68JoY82=9lUpUao0xhG}N zLR;;qtIl8&l0IsOHgv6U1-84*D!(D1D&zq|Sd?q+Pbi_#7Lt^hqh~vAn}x$^M=X31 zh;ptM1!dUU)qyrniXjCJ(CI`5A8*UEf9nA7)Q{FF4`?0ys_Q2EQrAra+I`jNZKVQf zCb&g3?;%=G#}v$l4>E#jS!u>gxq8>AY^x$J*P~9)jP-8*8JQS^I6b&({||s}`cv&X zvLb?|mQVM?*!7|(?6deQwh#yP(9|5hA<#k7*ct$D20LplkN*=0PnX4IJy*Xm*#rx| zHXn#jR}@hO?NwFyN$oXsFQmL9#meTGn9X!tUO>o*1x}9BS=TK zfFBz*caiI7@84gu`j0-IWD*JR@c8s5l_glvHuVehcm*YRjr0BwS4t5W;h(Tv0tyO+ z6zGBXftUHwYL`U49%9cF{OPExV$FTg!(zs9PqD&kvM@b`$CDEkjqPjSiiK{2sh#8s zQbIUe>TEQ>*R-AWUz^n3dG8))pWj-^GBGIm)hQiZ1W<9Xv1N4$-na^x4<$dTirGBw=d5+5V1IX?ItmcPzu=-#kWx~+ z*uZ|_0f1D%@&8cwb;!%*cdri6od@fgu-g9%0%~}i#A!ThOm@*5!|`NDYa{BSS6#eG{)S^4N%ZfBJd1<$B+|;|u=ge&Ycj044FL zSRVvp!;EeYfPMet+0YLgeK8W(-?)ba81kJjR)Xi=zhCJH+^n89s)T_R6S%r;Y8Twh zHZ=J;n0qQt#2l8}mM;z6X3Qk&t^VViRkc8JRM9DYHO@&*{sjf>MX+-qL!M3P+a~}d z1GJSqZGC$K=Ld+J(MYKR19=b$9qmMkG|V`^bSd@2%w-z4g|dU4uSkU6e;@KPe256c zPx%nR;ET79U6Cg(dr-GVTnW%VT$;nTd@~;&aof&TyN35 zfOAz@yC9Zv#a;mkCpD!nlSa0xvS+^DnJr8xU)s21uXf2Uh=|G@Pyt2d(I2Wg2MOqy zW<-HTULxR^O!?6Mh7&QDtr2yvC`KiMF#b%ff5CGNB;R<)BTETr>!X3Di__)*#+!Y* zTcZF%g+f`hXolsUp5p#teom2-cwNM-!shn%!7Ghnx`)vZl&VMfneCgeGCg*Ol3=sP zQ?36Y+0^K=IChV{VlOA=o}GqDp9DD7g1zO-(^nDQ`y_pri2t+<`W`rZSnjQN_J^|Z z8+qF4*6XBtJ!3vWVY>A&hy^mfG5wF?13zfsQnh58p3yPX)ZP!39>z6mc~{+Mz`qln zt`rBpJ8g3})3&|oA4IvSpDq^Fod-RbVq>n?O2z|Vo+lfD5?-RM|7r|ofHFq}+a+0w zA|VMxLa|MkiS=fy`RPA|PnHcgqhi>0dx%QLUpo&xk$95k`=1&?5F_k|)~ra*Ks{4D z3j=O&xX$v@-O(2`)t8BWSyMt}dsees8STw?T0`3ajB3|>?4N$Jgb#dn{CD++FL_yy zTpnPdc=~@UOS&s^4zL;{t3ZYa74A#;|E&(8KiNlm-^Zw`>^`{kc0lcM1MG>p(9d+T zaCi_!&;0$|vSAZvSMYzrzhn{!tcPe74XnY3_@-0c)$bEjVFCr1%JeoEboYuJg<)I7 z#bI;KWP{4fs@m&3k%Kv$v_Ri)5$IqVeVB{~lY zcK@K_ADVaS=hy@i5qFyRxvnawdD^GrZ!|e8!A~q1RZ^)Za7SjyIrKgZiQRruxIGUC zDs&!9blmb;6siF=8?DRM_z!BqG4^-mPazE2B%&AZXU=Yr@K*j13eFmdAyjP^%b{-$ zly=|?{qrV^XC7vm7r}xy z1$kZ$sY2-6H=A{iT8`(=_+F#hHK?Dc(Ch(ZkAq6jdo#ge3gOh^wDFePxZ{gDP3XSr z#Y$XApqsQKCNZ|C&l9vG>*wWL@*cqSkuq(c!_I-KAflWyvI1mo-lb13f-I$RX^4)@%3In4o>j<>uJhY_<5U_oy_* zjN35iK$zQgNAqNWd-$)k$rKGpaZ_y#ToQ{VJG#gG)imzBAB&Oazv@ zfZ}Ivry=BQlQ*gfd1*ck6Po~p(pDV-4Z>KFv?`cm^Tle2*~ZNpm(AbuF~^eDOn66> zil}92!wxIxyKFdY@$&2;st!ruwT@jdlO0cTX=PGQh5#u|wDLo5Wcnw2NOVMM|3Cuw z-nDdD*;L3AkXvzrh?m?7>pGih8s4^AUfbx)9N6BJINqL593OSl&86$Yq4Une)pNSm zLMuRmH(&g8qNM-lrqLbf`r_KwRUqfl(fl?6ZqU}nZdK&HI)+V6YZv(> zd=V15^51oTXmBN2iq=^Ma{_#X{Yt&ee6m~Q3Tcb?Vb=UKAW{XRaG})$ey@7>zAu6%Tn_M!%lW*NzvFH0JFUkg%i79HqYQr0>%UM_k;#(jzlPfTLpo$xJ>?MqA2;Ojb{2TI5V zI`m*4Z1;Yq)1o?k*(|jxk#c>R+mdNVAk&*4F1MR?dr~>&V{W-e@|t`&Uhh4hwsSW& z7`@KW>&b=3=o?A=*kMLH0R=ade)tkv7U7i#U5lNz-mZm?L7D$A_TD@m%JBUkwJU`d z5o1XT5lS-=ArT>ak-b93z782N+AIl0A+qoLHrBzAO31#iLu48IG6uuUxu-tg@A;nB zdA-hG=bv+azy1`@^W67y-}iN0@8xrNihXAhTkAA8_O7UihOZJF3|Xp6?h z*!b4>F2wVMe{_XT-G$q{p_mxTE)=s2V@TyC#8f8n@!iFH}zH5gM{W`R5h{C~u<#&nQiGj|$lTQEhrN zmfC&bkG*Hm>0EA_U6&NtY~iCUWPOmjEZI@-)0H?#>!Q|}8j)f30|EALOq)Y^h-NzC zTcY&+!g3QTxYwR!Rk3KedPK1B@szG_x97mVhz2)e=ivIO)e`|4eo|268uU=;QvOM1 z@|IS0AFva*uKgqu5&g}q(29s)6zfsvj^&^m_Q{zA#m0Xl2`)NtCO12YrR~D_3FT?k z(fP^5NnsY`q4ZJ4D3|qkPB)vq8V~>vUx9d86uME@MCY)9?y9_n1whlw$;S8MNG2kucoDn0fEupc9czi4` zF?%}GT_qa*pI5dZKwYw{db65*FDKoyp$F6Ks3XALMbB{fbxFWS{soduc2AbyOfd)+ zZwK$^z5(BB&2%kumzEqQI<`;5NDN@Atia{>^~j+#tB485ZmISF z?%1#8uW={6alw&F-?n2wBk0vFLl-=si6s2?eu%6V0 z^l-3X@7-P#A|kdT?fmO|?>_2*@2Sy8m=ev27cPmD<#<^*#%Bo6JG}&=H-S*?(Hf36^&d zOU>ojUxu^17BJ0P3|so7Mi-{mP6W!VwZ<9A#=JLbhx_*6(W1W3gIs@GfVyp0zC=BL zQ3w;L)88MEvNtp1+;0)@kqTMmazy#OF=Ce;zjAA9;&8^^Q~}H|M^(L=z12G-Ua1PXE5ycA<0I+A z@@A~2e<5p@%Tq!verLb37tyaZlzI{Z5P@ia|MB^?$zYkuXF@q+|Mfg;U4bge`q+SY zBz=Ucu9D9`Mk2+!#_S_L%prZN;LP!bW1e66POY+EB@S`qd}D_kq#l5URh_C|FT@3= z$xVG9&hZjeH?rMc$2r|!**vNKE$=qu&qs2*FaA#f;Gx0rzkt9o4ErD#Q(2G0ie-ilIs>9xiUC9$sT?MRA9^t>=pw^NFe4~0+%VG3) z(7>-RH_8Dn;ndA?(7Iuo`06$0SZJ2YF7?5>rM|SfYj@<%YoWly39uUGcYr<}RfZYJ ziq2$4#N;V^LsoNuJG+b!Y8@ZKX9KhRFSOt%imKzm(WrY2DvYRLEt4y4-DWK`(YMd< zFv3JYd7Az-xKyaUt~r+f7V`doKJ2bwnNp&Zc444UJ~etRD1oC8?n0AdMVpUUwa|*W zdAI>(V$|#|z+xTAUvt=cLFr|Z7d@B?Cj_b_(lJ6nyb(Q+mPF7=0Y<`L4;|RN zcDH}jyDu?8itKKmk^aZK?cxeTBb^vRd00OVgWx~Upa3Ht+a_+~5ov$d-(z{Xyh~@o zqB*H-Xj_wT)QHlx-i zBR_S5=&C-76G|o##U-YGZhC@(aG#l$SuQ>xTma^9e^D!M&V$6qnk;wXw202-fgZgr zw9cDRDm$k2r&n%G(&vx`!Ems6sTWTh4A=jj@lNgMWwXl5qS0~kJ}x6QeXAb=I=tmi z4GcEviS(_ghFYodEW%sEWhNhr6*FF~Pk6xGbC97W{OQ?lDm#2y03N8bmNJ zChUv?ASm)y77tS@q@iEWJ8S(?TT2A!q;KZFi`l@W4_N5aeV*>wiQ{0cD|5$Uf?g+u zDG|h$md+GXKA?R-mB-lPAO3MIGH?bE8=~Td&K$vbOsbb@wW^9ux0;2Uzpu!@C)0JBpnAgkkw zk52k%2+x=vbFovlMZ=2yEH#eFev`=8c{}Lprv42+8=}^;OZBU22=PhuIL_*Dcb|WS z3_sAnK}IZcO@n$`30}-u&*Wlv?^t41p>8T$qMU=qjfo|+J^$*csI+Yx2WBDDOpQNFR8!>ksS{B6np2+OqpK%xdd`4P&>{hKxzNx^it)OO zU)ss5NIqCcvxSlxhgc@!hbo`4Pe2ys$rTt)CenFA1_)OflQ^3rP zb5r-&^{O8Y%^EzPe)P}*?=$y2UT)T>?Z7+ZLqv?$lJLE_D}u7cx{28~kp9W;+aD_? zWzwwPJ0i;Z_XcaP3|OAl7cmlIKCoIitx)eHiDEvF`ltdc^y0IJ-flkpazDLW1vpu* zo10j;_6`C*<5g|c_3vpPHV@AL4&mM2;~-a1RoSAH#Q*!bxoDZEdZY+EzY8M@)Z7+^ zZXFhLqWj>-wGDFzLvvIe_2D__O0NF2bbQHz*4}Ju^vVpm{}c2oBX8Oz2;R&7+uH!! zf%AE_#rTqoj-J(gLWtYo{>UQJDivqA1smdae{1*tMWhAv-gq)(tx7Q53;kR!7!R-g z;9aY~5LFjrDx#bygzz{-Dr5@o>_0HU{#xSYNsThE%DS!qXq~3}pB?&B2T9tAjuqL& zsv>3L{iVzOEKiZ1Yo|;}!iyzKb>s~s`YQsAeGY)u<;j@YwUDG_#bYcqd5Gb@?H%N4 z7B-Fyyzc_6+s+{U{k93A{klPe5ZJ94LgMSItCC{&nEN&VU02g| z7eniX7QJjL_=IV8(cZe7Rcgv1RDkDOWFY-5tjADycUl42o#y9DOmp<0<^}+!0(SxE z_H!KKTK9M;e;oiOu4-X4_DElZ! zbiQ^Bh8I8%gMidJ=Q&!YKbDhMKJ9bGeAN5Hn>)1IA8)fcC+GJ(A>+7`D~oL%je#Z@ zLdzVem_9wtawSVU;i+0AzcUp{RCj|r4g*ctFaW5QXl|t&6`9)ui0sBS$HB`~gmHL% z8^omRAYMSh8i+J0v(eB4VFeA+#J?El|NDZO|1XMs{(tezWF2ALc5v5bU6?!B@RU_nx;Q0%JM<1O|cmgpm32)*X3&glfJ%VtVyGd0O-}w>3ppCowsb&b#s{>xCcb;xjeiQ`8V_F@ zdihULm-1}%PNVy3zq^cGKaETtsr^Ont6EI6UnMi??>q+nhHufftc+DnY^T=01T7mI zbhC5pf+zk_PaG-QB{CA45WW5J{jD(mczVy&f%+gMb|Gp$NF)6V$UXgFCIrjAVuFDC_ z*{d6eRpU*GW@-B_6LlvggfJef95T*#b!8l%CHGR>KLXHAjze;)+KcSe-}g1>6wecB zpI_%>vh0E%nHA1O@Sl|sbfhTOwur9|zffrM`?tm<(%ooVUg`!jzfjTATl?T>EXlm~ zk1m2@Z!_|eDvQ`(2F0LP+q+&8kNmw!ywzhmwvIPf5pKkDHgFAV+{%Jvq7qk~F`CbB zXW1P`nj~uOZ!ezysBAk_WZ`KQu$Q?sR#i-z5uhvtY=l`=3s81jR>`C_A1s+rJOP*w zJXKBU1JKMzxJsAh;nGz*CDLaA;J1te9oj2u<4l?|@q3M>c75^Z9>G}$CBB@Y-t83= ztJpEw)tY&JpFeFBVe}na8P`cK!>oJm>^IkMja)65B@9{lfZ%cr@1SE=>EsTS58^jG zX7B0=hu-EzDftJO{it%qHI#LcqmvIVu)K2mtNI$@5T1I7g?pcnL^B-|i8wMTJ{q(% zR4j76bG|EC;NzVdtysw#s(MY<+hidQX!M4Z6FcrqzorBX7MgK=)Yx1@Q7}$e2j$^? z!qTg*fSu)$6smGI(23==8}9^G{0P@3&&1XP89y6TmDm15;`d>}o)f3dgp0M?;mef| zto#WNx@kV44rT>XdJ9 zn*^ws3z%=^iH_77IyPq%P)lh38SwiaLtTaMEx_`Q*JX!xXWU!?jqLWjUJ}Jn~1RfR%T_DkwOs zsFcN*HNaM^0*+mLY%LahkcmMO9P}!4VaAPu_{B1(5$P)LmC-yEQ|imRZeG<6MKN3LjjwB;`oGn3tuKh z$z%5CBY}fr;*Tz%%q|ORKspS2XrR}$r0VZi7JofuR+I~~1I`2hNw~9cx&3V7OPGjD z8leldEiZ$;zh1m6JuDNB^dCO#sl4|^wzOaG!CE+o=G9e`$o%apbpikWiCTpCaB=-u zskOR^kX5sR(`QXU8zqz-RuJLMXVY)E#({R3m%yPP zxCuscEk6A>&;==5#NgL)W;ajfA-M}5mVPBH^a$GqciaEV&b? z3W9n|*fqP(cRPMmorm+MWgJ%NSr>T+U1On>tY~4RLwm1oWqrC?-!)B%ve(r!A6}dY z5TIrWQ?w|tgzMALjpsnop6;gMnF{9~1B9zE{`)K{h`Ky7i5b&(DvK_#lu$L-#47Az zp;OHiP=~Z3)+Xz-h{wU3`Njfqd$)9GdgA88(@M|4WJgK;U_FYz>#;Gu_{a*)H&*E^ z?x-gTIMaO$k0q5fU0jRj?OQbq6>t-UcjNjERm1O62$x|DXAFk-pI@JfQ}jpn?`p>{ z_u)q?@-c3y&jaF37yb7USRe>h{_KE`oWq5zjFgLr&h%wu%Bk&mnwSpUY5BHlg$`6X zU4b|4r;r!al~^oWKvLIrXDF!fTIg5iPgRIrsFNc&hkBMs%J(Y*XTb4eJA}GOMQhRb ziwmhIW)3*2gOPf}-GZ(20>ooGg|qpeXI{xgeUaPOE|D5#!wO~{l^&1{t6~MzGg@1> zeT#v<@o%#&?Ozbc_YPY$}zrVc^2c(S2>ZIJ3aEg!o$wI6)8~@FRJGB)| zy!1@R-7IRojw+h*5C(Ivo2#{4=pv*|o65y(P>MO+;O7Uh2Y;lL`96u>&E>>XcZ`uB zJzJ~vm)HEfKebqu2}L0gQ=ZXj*P-6b0F}!D@yTykWuG`a%o}Sk;u$G(V_P|tmS}CH|SreuqExRK>8D6ZwFf);*D(yJ8L*4 z#Iw5!{jZu(d~c4h+}yrFTp63MbeZ5`-SDMaBHHXN-)p97d3H4EJ2p=1dXs>LMRm<* zZ}U%2Mfzhoa`%TgB+CfW8k}$9kf@7z?oD8NzyRHCZ84TCS9=}CAuPd=%i*?Qy3?M= z^>K0wr1)u;68Ni`TN#2^18xwUQQ@Wyw55D4Al+UPTsD{FY^RP<7>qk21~rW zL&cWimM!G^_yif3Y7hk(QR*}HvTt!eHRJ7?U9ULCy_`rAzBJXn{vI7v67)2Ob}81l z>$sUt6kP-}|Fd%&hhaRs0j?bSXAPWX?{dbgH#NipzVF6DlOB5q-|r#Hx6`@|3fG>< zG#ru-h**k*I0ZNb82>yeRG136Bx@l1xIK*S8rCVZ)pTY40ZnS_6XzQ}OZDJrZ}I~$ zjF--V2g}{wx%)jEyF*y=10zcuw;45exNG<`a3;aR>{{?i9`7ea-6*>=p9=FinMuZJ zp*q+v2c?jKnKLrA^Z7L~aT9w47HaCVfUt{PUW?!#=KH8T1Ao$0?Vfp5DLQGJipAN6 zUmM63S@_6$UDg@ z#o3cI-aTK zYFHd6EDfb=sBS&C}0_9n5aScJIj&XJ_81>_FRPN3LIP>3(&mma$JKw^QmW9GmkV zDSeh9tN2V`ZnojkZdN+@5oZ)$VypW2rGQ+{RoC_lrL--p6C+>6eCmvhMfbujJ_>^UKL63}|2De@Q2+N7sjxsu{DoBZmLdj=f0hRZYtrQ-SCTxNOHpKraj z$@p1?%b%a|(hlK6@=GxZ4IY_qP=>ED8yyKU#Rbz@BGZ-c9ym6pPBW3$SvssAwfCQP z%TW)(x|%j)`B~)9rlE<3-+H@0IOy&r1DkQ26tj`Dt9S`#DN^k+th_te1$gnCCyl)D=V}r$iJAm z(v_tR_Nh4b7ptYf-iYNXa9P&2UG#S5TtG;>9rq~%$3{V_ZLED~VEia~2T8{^R<4{M zJuDrbcICFpMd-o240ca@WN9D$+NJkEWE98lhfjTQ+v%{^h(4mYVP8x%-S_G571Nyo z7u{&s)ceQHL7zUIVKl5q65bjeZTZrSRK_Z|-oo?LOA8u+(a}38o@-?ss=@IayKhjYTb6r7MnqnOY6lJctXN8SH?# z;8RwW>9H5>&$ec6O}8oB?wA!w zmQo_1zH||BMzxC|KQ!sezJM?MNQk4x;D)aZyk$OHwJ9%fQG@<_ChPpx;)=;BPFH?-5JuIg=8PGG*$})!ZU|p)N*ypi@J}db4z_J(R2U&vi67ahQUWp& z{pK3Z_~_<_fL_0!qr;M>je-FsM4%C380+gl<@Rm624)u?QwwB}nByMznm?A^lcUy% z-&oGLjgxnt`gG>dDyv{G-sA7?u)uiScotczf~jI8K}|CsJbXU^9FbhmB8N|C4!Z*I zIvQHkI-5#Ca$M%0;K3H*09^~3d%2E_{2KBMgXG&4FUzS4FHE;wxiqytKh@1p;_Vj? z7Ss};!(4!fc=b=Lm1Mpl&_SL4NY%Uba)?d651ZG)99^sDhwik1(sM3?`@XyVK;7Is z{)HdJMUDf1uSnzZQhL9a#JMr7zjcXKy8Z75q}rb?Y+X6AwNqn5Ap<;aIXx&~&WzpB zia!n(jdgE^hApY{^EDCC=i5lD14 zSY;;*roP5#^!^NNwlfy#b&GLmp$gYS&PYzZH&ka+n{NL2!WHw~P`$?AY!I_#Oz}Bg zU~8DozH;U@t?#|(6bT=<`IwxB1eqd?tG6=(RM`F6eB;d>Jd;&uiH<*E^9i0%&(8p212Uh4>&{|h#b8$|e+E+pD>(Fr*?f;_{mO=*+EQOho9sqc zwY7Z`Z?E(L1(OrT=ywUCKV5;5H-5NJs@%)IdKnRQnKrl$jz}B+AfyiZwlBY~O^|VA zYXc*o(O?0M!_xJhjKycV^fFt#)Jusv>MyTef4<1FXf1Tz_*x4yLgoykq<7{~oAjiU z*xm0^nyi-&eR_K{2Hx?>R~9H&K5BZI@(zSl@sMF@4G;zN!69_2^7_=XnQ$3!H|Rlg zGW|60$mT4b4cQ^J>IN9(X%R+S^~y`yTO2-dp)me!lx(HLOIzlw`$fZhS_NRw7MPT0 z72FGE;{zA?SFc3Tu|b~MCf0fX{uXLW0;R-xQR;5FU>{AZzC0HW`RwNj57DY`3Nn}V z6XW^%WXV;N*=PNAIVYZbN+yGeouBt(>utdoR$bH@fcm`Ypwd<5cI--0u=Ui*kWhD| zkD%7>Jq?v#GS7X(6%RhXcy(oMhzRnTdIuF;_5;I%Ls&hm?lXsbdc!1Ga^H7P?bYocQs4)5NzQa1=7} z0i*+|WZI$D^bWfQs;5_F(f|M{^T10;1E#Nk@*c|_sFJ3+WpTOB+GNTXApGY7O+J8p zUHS6`IT>=m05Sj_6sQ7Zqn1WG^HM9dJEqN= zcoQ&es4JnGZ7L{HQhw!D(t;Ddb|NQs0Pu$=1UX)(!hUy+$r3+FlWQ3J?< zf$8-fPdY@#t~p9)xRJ$C(HIDr*6Ea*6ZZG;>e$67Dm zDYjoKd=oS|%+Hx->qX$<`I?@35+ps|Tk~C!E|4Pm8hq*&$o;eQqL3sLalnUMa*TB z-&AA6Ys50S_Ok5@y`<=iZPf%fE?#eJ+%LtTKzlK zp=`SI*s3Th#g%g!Oy}LcIeIoi-jSDq41U)OkAj+Rzan3M?Uo9Te1(gC$w4%b6%_Ilm$S1Vy=Ck6-=zQ$?i&vn$I$S9lj z0!Rvz*jS7XB=NsWWHBY`U6k0f4@-uX%=tLk=2SvBzXn@GWQ2I$Y}Hk;@Y3H^$W z!)a?(Jeww8dHL)H5(hn-vn?6z5yFJd(8aA$%Oh9i?`6XPGp8q(YZs|2n1mb`?cSnT zUYZJ73IH(3%l#-S$*teT^_9B6X9vLi_qc`MNM~Z84HR{fMV_OS#qn4^S!xs0S_^-u zP%q1=%gx;%?1o@2{Q9`P|F+8610*hhv{JTmeJUh2R3YHt8T8%lX7T<+t9lxK-`NlF zG6PoU>Sr5I)=iBJ8dI_PSBqCE6Br*K-J2V#(8ctihMZt^Dy{-ByH~Y5+N=*4p*+7+ zn9z#p$c!Ap{M5@`3Pf|L@v9(@`*;)mR#0n>f4SkAmQCLOvj0vl0$CVqiM-@+W$En5 zq1X-I%?t=|jzXWStr^#!NCL|7s^@!~DFwP)#yPQf4{pHj-&t!4f)`3mogm2d&i6UO zhhsW>05n*>ATJH5@LszTkQxn^AT9!P0?bfV&IdOqsD1a|;BGgJFTBSKpVO4qvh z4^_wWw^o}|Yt&C)am2EKn`|EE%e52z^|nidiIDndSWS?Y*_6JcFKtf>%C0sl{Y}xL zitKRJ2j}m@@qX9?-1C;F&{R&(oAPXcY#b) z*wAXGts)IB=(n0K6rw0xut8Ypx^gD_bE;IWYaf zZ#0Hp9Xz6XdGZPsnEIv%iOJ*;QX_iBz5V z_F(9{XLh=+jYu6)O;54oHPJE>KT>5|FOR~j=1QU^!CZ%L`=w@@9WIF+Bh3E1=1NWJ zx&h?Kv%EgZr%dzV&DRL`dJ5z~AxuJ?3$!0CWCwG1t?=Duzo9Opa!@8eKR|rk0WQss z2Y*RpdWu&4^zK14`^yt)xjDoignZ*y#K1uy94kyjdOD3&c7Q6ejjC2(1*l+zFo!=- zOpJpb8&gzU`d&8J z0obmWe;E*(!2hsr@hhkwhKhEiFJmp19$&`UP_J$!kAg)fPum!QOMwj1TN5wkgUNMgLKMfI=w?3AX}A%@Vc# z?AN~!G7NFj^YW)19)QdVd-(;V=CvT3z`SB+uf3=hQ;k>}WF)0;fNcYq)0K%F{dCQt zHGtHdajM$U>s4Vem#c8_PsaE_3jNFbk8D#hqE=tzaA+h-sD(Z_$=Y=dqV^VXF1egRZ_9WEKZEt$I5( z{nu7 zz8U|1jLLMdgfWNdneVQ5#n(%1yMcnklnMNP+07SsBtU;RxIH*whJd8OWH98W+te*R z;nt0r77I`_Xp(aI&9X!#E$be7AJ1dF2?t#)C4i3G*<=z74w!aKdBAlfBoKKclQRib zzy!o-EB0B|{fWI*xI*QaghX@glkacg2+sN`2J9r|-<_kq8dxu>WOjkG%i> zb}tTQT~DTf_74IBW94?bGA`q?)GNWG^voiK?-L+hpK_e)aDYkE-zR;%WcU(E#cS>~ z`-4hk8Cb1*w|9PH1%UqrbrX^SLPlG~ z3#NM3J2R0=5y*{&H92o@Y}}kj+*NBebX!D_%;Gb4z$gJa<7eVcUujXRFi`G&&3Q%w zUSq?3jBv<6O|R@TiKYCmjEjM>QdX;y)Raev%z%lv8FbN2+q3`eKUib|af-~1eQ#;j zV(dAwu)AbB0Lyp~nwMxudH%hH2nzHbURk--{bjLhz+$@KNg8sptYF|J`<}4S#SdgI zna|(CX&lz~k{o7X57st1wUQk{LEqz=FzJ)6lbDv|Ea1PbzfBhRUyTc5`q3iQpoZO> zgAl23fBo_{_kFwPe8!~u`?~1r20@h|RaBqvNG&2i;ij*L{hP~&oJ&;(Se0-^No3@H zhX6=TN8Eety4Rj~elaHbJ!}PFtVb--N^4DMGHdH8E)4p|$7Cp+|N6o%oXmT;V}ExM z@JAECDVHuy#`?#rw+v1jvg;nor_^|FyH*r&@%hxt_%{@=tAh3+AXu)%xFj7Wz+hg^ zpEbQ^X4Z-`jhsKnxp>T|>F`Xv%hh)z686F^886qS_Qlzm#p=rVRqBuN(gwRg5h|`r zVT-~>Ex_V)P!)4TmV+%E^n!SXqSo6xhN9^|-bySPs%W#CVO%YJ>Dgd!0Yl3N`*JXO zC&q|I6Q7wLWM!@&!cO^*Fr`BG;~l2tcrPdsQ!-xI>jj6<}l9s_4LzQQs z-c?q(sx+k+k~*`@E^#kyCMsLmBD6^9Fl%h6WZVD2`V(T6gF^8Ru_S7aO_pcRVi0?p z<-;<$p~iDwOdep$4wSWj;*z6_$} zmzD!j@H5QF)@pb43NhNJ)SkTWuOZXqZObw7e({GXhuE&| zKuJhdC~7MPHdUg6QeD$p)2)|1z%JQ8JitkubXz!@W2KlSl15gmb$_+tW$!rI!jqsIq;c`ePFUZ0<0fAE)NKcYJiBv z?wBQgDuQ5j>Rk!5J#OrW#r_@WE9Z>5dPHM!Uw(jNf|AoXx|5S_&;ui2j;dI&4Jnv!x{pZJ0KG#;o5MMbq!k>rT6 zaB4RFopg)LTE#OMFr(7%`D1V%B@)&7MwfNC+Nqb|0P%Im7}2}aGUD2uA%ThaYS@Mj zCJ8ap1PDFEiJKY2!jH(RhM$9NdM^)8v+>Ez?yOEg5WbN_`)%03&zZzGK^)%*3#6jP z;p>}T6MHJj+hhXi(b6eMkm&PnVvo|({la}<_HS>ybk9Kdlv%QX+c)S(y_QDy@`0Hq zRAk!Pi$W=Jg3V^J;9=45q;{tEV-s04ma&OQ6w9-NS|~^RAUzG78-$yxgU3e!)qK2iNK2-I zY?!IJ#j_A(HuH6+%pqem+xiKlzV@-Mn25viU72VejC1?9KL>JsJbFvrcbVwDSgxD*cp?) z$`}%`n*=ym@_B3nn*a81VrM@rVaM+%4IF#|2h7}|_{>u%d_ezQ%4(6x^dKn6CCia7 z*+Q%FLx1#FfX&w$n4k=L<01-`Uf;FAI&*K}5?pW*os%TbQv3e@VxfRjN7tZgpEIBV*w*OZ77^41Ly_XlSGkvF}uDz$^?m^dw?S5$2UN2!9 z+mJYv7C#5FWM6IA_l=@A`0nnDZ{RF)1H%#a548`F@j1P#;vnR*KHgBOIt&M>+Pd)% z1J?)#EKFm$BIQwysn87#!^9zwT~2O>v&rW9#~unIqBu^O4A8M13OiiFRll2i)&ooQ zx=c$`c$#|hqFNi(*!4?iQp?Amh1Ta*JXTSlRX1%;8+F{zgZ+XY7oJS=e&txP6WCnD z@xjea$G%FVMOcOHxHivQXDvS$LX5e$&H_lWx$>c!#$$ ziNP9TpVx>&<5IzN6&a%LhVsoBYBfHNw5>>$v0qlrNlWF}KkO%=n-Hf+mJT1b zKW{N``nJm;8XsfZ$qWVY@cz~03_$s?=q#U_$J=KL!uAjIp-RVTQvRHDOPT0xyR^}v zRZ-gLyQf0yHRDp1-P0#T$!hB?z>R|M=1ymoc6$3o4f4C?h`hD3vNUCE9{hYqi;?%Y zO!u-m1NlN(ZRbiu?bE}doHu;!N%PMiIC4Db1Klo!igUAMCr#{cYmc2M5MJ>Sb!`+R zpUU+ne>Mg3y1wbPbpA_~_l!)R%GtLX>a*v7J}T#d578Pnv@{Z+=wFG!jop$-@b*)1V3l2FGq-|B zeF=jCq^tTpy&`WV9| zd!S}tXH$y0+}j{knSgb!9ys5%mp3Symj(KVs973nyVvD!#P;5ob@Fq1s144#?7Nv= z;D}EZ6ms_kpTt&Ky9wRM!O?%$X&b*k57T}0q3XFOc+D5mS>A~qCVdAU!RL6snPTD0 zr8m=JKq7jAx~R2lgxSJe^`eCD6@0VeK6lBfdwFSN$3Z6OD(cKBghkbunO|dSw%LX^ z>|xpX`h#P#%Z39Ei0g7w>#iXcRux08f1mt;7}}+vQ zswdV4UY_HHW>vk48Zyy9Wz)@?iqq@q$NJDreJ_B+Zt+TRo$l zW7F@+Nojb64`cuI^wI|JMlbKJWse?+;lJ|54&ZqPCS!9-pFna;Z_ekNrsw=UOZ~NB z`_GKauXu<9A#fm#hN|*?P#O0w<(_n@B5m^#lfAMJ+4isyyvE}yGjauxpZ*% z9^YQ9YF8qfbcO1w)Eo@mlefBh7_;{Wp>wdJ?QRLf-B0R@%cj1`-xSh^ZP%zj6i5tU z>OC`U_Q)ia3XXLEoBRtK+PXTV?M1^{WvHC$~uQV(5b+0*H^zo{`{hZQWQOH23!pzjv{!htunfmuNJQ;ZZE5AZXa%wmZFDk$#`LRx>T}OcT{dL5rq@=MVb{%$Y)(cGQX*s}LPcKlL0;;_;^nS|>6VG(Nk;I|<#H2u1+3 zdio%NN4_Sp%k|vbq@N=+cXT-q6U2I!#%eQ;0F9qH{HBMwPU?r+)qR<_Vly(LPr!m1 z{t-O)dL1(Fa6FeQ9DLex@S?9v*`4{HYm!Ar=e#1EZaq?pO=5B=qA|1LEEJsTu9%iN zl7XU-m1{1LpI?>+`8+)84)z_-6$f4-ejxw8WUhYP{Bv7-jt9NwwCdC{ihs?4V`0C( z~bO*4`-9 z<#TvP`ctO!{>!%jS3*M89`rzZpV#!w59}c57FV7kX}|3|KniUa9VfnepD_cL7pQ2& zW^_Xe_6Z7`0&)wr_lt%6!Y?xN?n{!ezO_%I<{-TlxrZ|zwU&KBE3|*hsdWlj#`P6$ z?0im!-*tyvskdoBJ9fy8_4}pY$0cO+GR9*IO@MAFqoPa%x-jk-AM}>S+hFe z|4kXRy9)~4a9wOmOu#GHHy{F~_?a7z8hS$9c1aEa7Y@k|&t3_*ghlucZpEsGlUt)j zVh1i!`+Px@-vm^x+%S&(l)>-UyRenF7HMTf;a|kb419ocdnavz#51G;wG$`C(C1r8 z@g`9wF96D`WE`j757DOt;h&K_eM0FDGfptjbW4KiSihDTM{9sp=Jb z$~?Z770%<;?oAC*9GrhH;S9jR5faOKtpETWF^5H2V7N5Jqu7zOB*<$BO?NHm_Y{sti9!_xXVtNA+=L3f(z`Dz#_|XiLuMS>pFZuOrcj2bWeUm);y$Rd%391g{92SW z+J_b?Xo-SIthfQ?Yej8xzte}yf zlk+9WB}XuCD{az>;BWv`8vK1?>6Oazy>X{HL z-ygrjzSZp2v{kgYhVMw_zbZG0PvoE^q(9EAjVU__qWilA135E`b~jk<(qnEj=v~&J zRaXF9ycyF<L``oP@khTJQQ<8fO5OIAnfu15h>R0mysB$TxL(nBeU+G;gUcLlyg^~?25EU<&Eg3ywcJSdAa^kjuq(dg?z zn!w-Zr)awM@R9($ZY)dC=uj-?-mQ3fuh_D_tuoYzri4HP2c0hTjuEE1-wKm!20dy_ zebp(G3#b*WjOl=ISDq?O;1kd}v)j$INLR}euhutdzK@>eKOIH~vbI7F5BQ!r;Vhc+ zFrt(iDy-mqCU|SeK3i?$!N) zd}Wirzt;_%!qQZ>J>f>3E{D^@a<%P4Z&J-8s-PcG($4`5ChK_+lF*NJJmIt}%)T(! znFKiWe?~q~R;n`w6Ib14NM0;-;TKL%`c3dDl*s4&+nG=Wx(E)8Oo3!a)rWyNOTO_2 ziKSPye=mHi4?x@{k6Xvj)%^q-)I0F}sk}-_<3A=6FbjNEoOS;wV)$jc2#T>U_b{@9fA0mA8eWh8_lNGI z{*51O!GCB&dYcoK{Lepg{`()@XIJE=ewH71su!*!2Fbg_t=6fZwFBJk;iz+?e!FxD zp;x+$RONhR^52kibTP+e@fJ*#k_wjYKoNIz^0es>U{U(rK&)T;^c+}7ls^{$4QXFV zZTC%JAUT^@1yJT{s$ByZyjDG_-|UzGMC~%Q^IR>+v1`7EabW-p$xNcQ_=Hg!F_>8-&pLk-^lc~k!v%;gLM13uV`atLs??Ig-Zdjv5{qsxDx~LrG zN;_zHJkB1l{;F)t3pB*20a+vla9g#u?J+eE@{MY!o{*D5YSp;IRUhS_Jr$0|NUEZQ zrce)+y8xPdtu#<= zb36W^nd5k-)^;6r%1ooLL)_5cz?eK-0q`VFC&927qET={Gb1W zy*Cf1@@@M^5z!!tB4bi0Q)C`1Q!+>9p@=NAZ|1p@$dqKxoOue%QdowFBEvEdnUb(f ziDe%4dFy%J_xbH(4}a|a$KJ>B_D_dpx!1j}`?}8Syw3A8h}aFj5~~axOA2~e1GIr9 zko$||nDqew<{@smUE3K%DDS88sJ|7P1j572{(5EI$JG6`9NeG6NU1-;J8fqBXOiQv z-Wx}EdgW4kWchM5W*E<9-)I`I(@2%Md43*1Za6$Q!|}{jFUYE^psg=y_*!=ca7`Z* zICv3AjY>&@=gqZBq^l2-+Mo7TQxAA3v7SI+eCq2fQ3swJE}&Q$u>&Z~LtY>rxsTy|6rT>N$l{1d}r$g~p#r6dml&$SwhsBde-crJ+Oi0jj&>7!Ak6T2n_r zL@;mga3|!hBnl7aDN;JtEdeI}DAN5aLr|zH00pLg6LQ5z^Zh%;4|}Tpa#Yef6`~01 zEnai>jf>2^jwQyC3fnk@J4?S{A-z6mp>^77LnHIF(u44#mhRFnfjpPw!2pZBZ32$z ziUD5lcHCtim~S^m`mCV3^#MXgYzO^3LKybZ6;f9@$^>13mkhr#>AK-5uk~y$4F^mC zhclD`he;8#5u3*jS!jokYhMcg^b%pX4pyGQrW$&m-LzvjkhZc*Q0)3R2YS!H#q$$@ zfv2hWjY^Ex1q(W14f`3USKZ8T-5+GPagk5|p#0!L=u(;_5-CMU_Dcfl&J`bguVh+@2lMicYY_}=rPo0yl-+ZIo1n6)|d7q`vD2a z4~3*)mH}akznLEJDYj<^L->5iKD$RKpbJh3D={eNzuB}`{c z()lGbSY?`?#~5Q5gtNXX3ty5~=~@ChAwz5WYW|oY<~tnSpKUi$i4`IQ(mi-O!9h=5 z0I4^qH#5u^Uhw`AxZU7(h5&H9=4WS}vFZn(l~xyy!d(3dCCBE@kbQrId&P7mFi*l1kA};bAG2(wN zdfa*8k1=^5HOBrOs!qw{v8KSq7cgpSzKi1cuTUCI6lZO~+vKXBX8j+O+9!8$%P_-~kk-}w;Od|r~H_41+?`n7^}48n9|AxoecTJ=qpq0&p_F^;_Ya? z6wI@%NBq?5XVVVK^qf&Mm6(ohqp{t26|BXsvijMVKtT|C(=5w^w={3tqq)aPhk*#6vR+}f{su1ZDT{u#y0FcO6kExjdy+bYYiFtVwI=J#rbP~-+Dg^L1t}m zQQ1y2o#h5b^$Z!i-vq+{jI$r;y5#TOfBKeCWRSnzq8l_LH(&8aH=WY{+FeZs)5u;U zog@N-h9D@yS5#}vm2Vpo(3o0zOCxEu@N@>}^uDb%%Tc53{s6hvN1HpSi%LcuA$4oH zDP1FrhHm{OqH|w;8H)BNmy<-qEsJ{Ph$B2` z-a7u(CCbsf%YezaB@|M?8~qERe4%6|e>MWz3O^Z@ZC2-JxpS3grE-A5X)wgY9t$^U z%?gqLT;JnmALw^=IdlIG1j*+?n?&IuDX#PBaCscqD-0> z&GepEn|p-)?}3!S1#$|WTTj!TM8=Kw-|OSdk*@+MORwt~KVo}!)G{A;`e@y$kt6Ra zfFL;Q+%5i}(b6y#5pdE=6yY6ZfEr>GtaMt9%`fDwSX1( z$=i`M+`DEW`_vLO6ZgXb=-Dhb;Gn#brYa2nN8_#d_m4%;n1IHPp|mU&0*kFP9MRME zf2EzhfndeUI@7mq?g|zak+)p$l+qqnihjx>;ld@BVz5OR{wR%JE96a$!MYtolv^|- zfqV8?k?JJFhQ|=^!9vf3K3g@6+`BPxvE3M1^vT@O;-Jg}8AFMQuDcjNtf4}4>=hDW z%w8uBa-_0F%p*0G&W064B4S}rC?6*au*otnM)4Ky|N1&pT}$>3Isi^R>gO#|tHJ3$ zxiE)(3N-t7@9Cf=UiiK=2{DP1Z*v$H1Vs7!WhH55yM*j)OZl@Wn<7|cS>ELRg79sb zI#uGoXFKFp{jwDRpwA?1?y1y66EU)Equff(A~p`Aauz^wQosN`6qo7E1lFTZxorWQ zqEuiuMrKnjPOCGE(=)OE>^VdHB9@WRcE~A;wt~^K+_Cu(z-w{jIW(|@bmX|5n=H{x zw!Fl0()$pUV|_7{j3T7SETXE50KI^0yXqjD&5<1F3-(4?fw`OmD1=b=SyT?3ahly; z9oIncnSvEvt(-7qcQIOx&WExKnvozu^3P5`ulx4k14x>AFYjOqsYn7a4-YVuV>6?8 zIOYw%KdRt805`}m;3rOb8Mw={ZxK!(+~FqhBZo;&c>=Mm4c{-tgi&RnBz*AO^ZLCZ zweVA9GvWu{WkW|-AdVsx_}8eLES>CeAc z@IBdmY|g4Ph1o6|puTVVcEIzc3al5&rVA}vA{4Nmy-7bIk#BJO`_P{SWD*sdV9)qi z2`NI;8jg7U+y#~j+>}XOcP=3(v%DIHS)c%&Y*n^BDfSaCex<;SlJJg&s}xbu00HiF z9aHSlKi~As0mg?}Ae=1&{jN{RNMC7QJJXmgv<|ZVv7|woNpQBZy!rCh(>tlokR4gh z+zUT=_f^@JQVjF~%yjG47KVCEu!$^*9f`sPb{CEJ{EZZMcA`gHk<-TP+o3W6<`;;0 zqfYH1EA2mSpTshDF^Ed$gkP$u`0(m%S2TY5o zeXIyxnsWXC@}qt(4teuqgm_>uR2V)g#K33HNpkl2X^CchRJtki@l>!9WZCnlq+2-> z8t>IJxNWhX*e!rN&D_WAuSn@W2jD>iapusz0zGnqauKW^P}gYK@!wr(83k32%&wd1 z-$1q_^FpI+T*g3O69%J>n|VJOqD#QJ7FpyvAvy`TNB4*(sp4<~<5+KZP0qhT;AXuR z(Lk~BDVggGjUtK#&(FjFY)?oh4GvV6I}caj{HFJIBpry48DABU_;xfk?~HI5r&=Oy z?>%nb$N3v5GvE_!-^Sx6dOntN$LnNnT=(DKO)J(12JYmC4coGpEu_+1inx)5rwTUJ6c>Y$4>^^n-W%Kzv86k4eoMj?dzbEKxNE6;5 zGAo)dO2&ZVrdnv)R_k|$lC#Q3+~|G&y?emxIv{nugsTydSjR-r|My_%@n3eQR@#H0 z8k~odbzk~!eLFCAwD&Dj#(^K`?_{!3qvXg60fW&5K=m`&Umy-c+g_6X;Dq6vTqCCo zlTZUNQ`97-R30l@fBGgm?sMH{m-|)MBTfDz?E>i==`5@^O(VYLT~f?8?||jUmajpu zoekfw23-!^&oTp!Jv({8hnNcKC`!K&Lghadrfl#;PWK44my%zZLE`muj&Nof9}k_# zr&sz4Y&Yj}QX_utb#-OhOfvn)*Wfdykhu;~f{1AI6cnXS$S^ORS{VEZ3GUAhCfV0_ zMm8MBXMcq=GW6mo;`nvU{16H)B#~hO?4J?t)Wa!G0Z=7UTt<2oy3Yhm6&&)lal@`IF=h2z~1m0mHBMo%T${(E17HmRJSL` zx5FA(+8L4vQtlbmW2WqpB~}qs_(DKpAXg@ep?11tZBN{Sun-0gUm+T2o4DPzO%l-q zSa{@L!1C$8?|FVb=ReQkI^mv zd5NxJl883C4ziNND-qSo)kmd4J|bFdcEa@V#)*7#-~>5PEF>`z&s3wx(q{E9Rkg0S z!}9gc^S{C`(B`%bla)Um_+mkz>v<|+D-2o~OMvbFua8DUaF*Gb#a>{_?R#R+_;h=9 zu-emJ^HGsiIv9gsUv zvxjKkD4tuQM*N*EWF3$-s9Y1dN8zaJIIhGL#6z z@8!gizFM!rC4APTe+s7edR8vvI8A?!0vK(6L$P5U8crDpn15f&cA&(Je?DadHuii` z4`3y`vifa4K(P{*xc*$F1I|a?dEE(%wlpZa5(Q6F0w9c>D2*3{)vGaJgIUJd09;y9 z%hyb@e&1aI?Sf9lms-C30c9%7mNdiqXW1Y&cp+94kg6>3tl*0;#>PtY6|StPO`uUd zPX%KTu`F~+^R*H9#RHR4a|N_SsHt8-`Py7hOZfTg%|)hIiQ^0lGX06dws%Uz|MERn z|Bv_{vsMHBnaA$!F;3jk5gA(sXEUxn-_|!*ZeshPIF~Ug1E+d7gvRDrx98ToqYxc~ z_sIPQIf{xaB0!L90W~DcWzM5e(XL5(vLZ6bP5b*^@Q+javvIbuE5+?ge- z%@CrG15~zgS0x$7-c3pSY&un1<1V^`HAb3`DT?^Te(~dLP*<}4Xo}V2U91M0=6AN> zh-h81?pNH&jD1-v8{mfM27#Zl)#wEkD<4+YcYkwP(tU}?Bvhg!@s&H&LvbtjBCph) zqKxc*#pN2l3{PrKA3qE-UA~&NiP3=gjVqK#x9YuVrZt4U)0B#5I3zBoA@-_?TqP85xAncG`M1UODu=m<~ z!e^Jv63A^h_l>&4ZMDh4!KFEZnX#r0YSQF8b5=&-EJpn~;>Io(4jb)_N11G#c=g|> z6%M@0y1=Hg%qYwODq@-U{Z%L-P%rKS38Sl`;An2Kuu-H2Wjx@@<#!6AkW4QvOoQ_E z2cOIBuBPVO3&$TW*y zqDI5{Bx24z`>sdy3p|cs2ZC?UjM-j~j^_kn{CXB@V;O#|k4M%Z5LZMGrML&W)Jmy! z)OAYX+wK?pXO}sM(mVir=5WO&*wM{pwJ=GFXh+1YkqEWUP08Y>gHMRBgHu%Rzy}DNy?8hxy?q- z`p)gm&AmNv7dD?dP_J^f#|Ox1#P0nOkVdUC8os{-tIqenCp!40FS@-x=P~><-SgMPmorYeD|pc`m*|2d$Ai7Oyc(=>>^sJR>{DXq zUKu%@-|=5F2i7{H9iHx8yK`V)Ek3VkYSJ+!Xv1_*A~t65=<_CNpIyd(2=9M0a%ONQ zV`OlC`_XE`w8BzNvMCIL85XChP^X1?UI)G01Xydh(8!nGgGx&5hxGK{Kf2Q8;7syq z)_8N8KssJqE41NBec+ung{sr@(y+O`y=>MfWhZT3a!*+P?AvY2wVjEL=B}Lqfil;M zHDUWkV&O9TDc$7;D$d@=4gKuOsg}?-Y1q-5__1-ZYdN=wo11XskC|SJy8mk1EMc)C zFI^hLhja8bRwUR2KR+<(@h_+hJuph>f5yN3mcg@ah7u|ju;LFS+5QgdA(w018r*u^ zys<8i7pPQl;fcI7+RIT05ULgb3wMf}8VYMmk?;P=nD|upVBmwb5eMJQKtg{&6c2F= z?8JswGr=`4h<+B8aWJebS`6syTxYAcO~gOs?huq;v)B8n>nartj}$YEq;)x?Mdt-f zB=JwE~4P z=Q~BGY?oFu?l&BqjA4lI>*SRl#WbE@J0Q4-^JO-F+ssoap4gnV5iCPOH|*rJ=^42-{u1}i40>$lM63*d}tfT-YJ_?Nua+|YAyDT zmuA)b3|>NO52K2ZA-8G(tL+!bu(vGFUY7)T5_Z^Qr>T}T8%G^V;!^m4WG$dq#9heX z?Z?iR$6dFJ*{7(}TMUxj(e_(Lbm;omqIl81R*TP={orJJX z$NITrmWJ%LXGYR)&*Ny2L?y3K_SpSzenEFAyW&&qny34SN(V~pb9IlaHaUJ#t~mN3 z$oI45*@(f#_3Oedo;cf0R~;MrxnmUvp7x!*2NL(#2iMQN-`yzrv+jfbDZF^lKX=8e zV$#o#pMuQMt@>ar|9R)SnBI<>YNqmyDT!`|X#qk_a9e&(!06J3e*U^+Xh)_jliUC( zmmvuPP=U0Tm$kHaC2?Pn=r@Q&zpYV&Xos@-Y4-zlFOrlds?%$4x*Rr+oWlB7kN!#R z&K^aJg8Pi-Q;%u~!5*);&E2H=zbo!F18pr-J7QX|=H|OhG0nr_8O5r$X%*kM>Fl>4E=K6CoY>ko<(Sm;X za8dS2u?01U{v?Ny_)3jCt4Epk)v8mj4lg3IN2%Y{qvwVemGehG3|n-6hgtxd-@STC;J-Fm_E(q8dMr#>%2 zqRKmRYUl92Z)ev2d+B9yTCS*RRydD&4k`aySQqj-K0W?+C`bbo>UM*oIS$H4qIIgB z?dM?Mq~F{A(|wf|(_zCfn)bV;q{Oh|>Y!}6|K1>H5$3@NJR+61aq%+MvQZgXmlgWD z)Fe5=8FVLi4i-k|B8~f!W%tMHUXw?izNMAHbHfQW}>%J=aN?eV<+qR07F)l~&m z^DcEPHKfJf9UnJz@3{|n4j6FEODESBTSTer;eVNSckFtQM4Z;n9JZHZG;h^ipry5x z*kgG)7mUI>ppAOiu`N*~p$=^tF7>#`IvTa9y&=*xACgnqMcb9PSJH*0WmqgI#k#4o zNg}>diQz+W&6OWZxBW#W?Dxdpn!0m=l~Rs978M=8cpsDVr2ZzIJeC!dF){ zy$M+}RqA%AELvkxI?hwYD;on)kJ5cR5=|Lm@*Z8^`H!3LuY+aQ*@he6k{$E?XH_Kq z=g4c+yWg{ozI5z565(YnH0=0AX?sFqh*-(@oyN%r8j%}vC6cs+D_1j3ev9;)E$cr^ z_v7)6gfA^{zNF2`oc0qOBL-*Fnnh{|-u84?)qc^&n98`9lG*H;QZb3WikZ_D-FWTx z%bVJ%_j46zshp-u5Tw$BWxpMG29tucOJ$T-JxD`Q-WE|~Q@5WeR8DhBOw6{7hfKQc zlpnh>M9QRUH230tlniM$xB+~O-6l}2&t1$!Y2uW5Ug?$4P0HWP>_T1=qmEnYC*ZQcJ&y^0g2kK5G^D__WjI(hpS-cz9%S3M0 zzW|09N30~fuO8NK?I%Lal@#y{#ob>WO!g&_)#ZnrzoC^_>8yFVL-qUgu_qyEY|>-u zzOGyJ5-BXKYXR)Fmu*=h)#t2b#3I%jDn=q)N{&R#`iQhCVxv07Phgicdn+x&yy@FB zDsj}o1Mdy^O-Hs@9L(ZO$(f>8s+ukasm-BZ_L8&ubp2B&U|-}{Q>$j@lbPJ_I0JS- zsNGW(s7-N$9%n3`q;d3 z)`r;K`#AfpkW*sYEAAO_vPnd5)ao11x>Q8wvnx)?J5?stZWSl*If#C%s2%(cZdQrD zUsOK7Xg2@3s#Q=w5~{;ga?lZ?Wlori-b#r`KWNABRn2BlkC(6&*J*e4w`1QWZh?ZP?^>C&a(5n`izl3G|WzGQ_J%F{{MP*yb_im6}#0% zo~+*>v-dvnCDk-Rfzjf_Kh;!tT!+DIZWakDT4g+P>?^>8_QQS45e(C4lBPOa+aM4XZn6f}EPy`6L?Tu-@E;gpNV9VJ}Z z@%?l+!Z1A|cs#qz@E(uGFK-D-3Uh4iWJ=Oz@^!#7*Z?HSzH({dFox-qM11JqMn?lC z%hD2`ab%Q-aUfA$Zm7odahos*^sw1x@{KX#)OXeGH!3gn9(fX#5`7rdsJ-_7V-C=< zHseq1e-?eULM*&@ny&FxX3yD?Z+)^%pG8YiNuXn5Z*zrl+$Ed%4o`sYfz!DkyC|b{ zsB}tntc1Ii8wV;1kbc;Ia=o=z(oStr=0lLz(Cov{B&7tZ_LcDaVHwJe;jb`fkx}vp z$2b1Ake91boFm^@tG##|p~3Z!-QLEf2S;evoNE^p$md$Z?pHM(v{WXP?#PuJt5(a}qm@(6C8ceO<;GIW)V*2L_)M`|#uf~A*>$Wxb{E~2;}++| zy<1yUNmnP?Ga%w;b#XU1AkUzbCJZYld__}MU(MbCku~M#o z;}9)#?q-+Cvd(jgH;D)1b7PsAQ9*RncRrK%c|DSPS7I@&3rnhxHZ(b#`?r#0>6iOH z@x|_3i7m~;LwKbZ7n{1a*S22zw|KL^D^aUCm>StaCtsr=R*L^Ja9RG9t|NbwXxGZ_ zC^#+i&Tj|KHdV}93oDSkVC9k$}o#BC!l;~V+ zL1{foVw(-NBC$8Q};FV#(Q?%x;M?n|ejKBqt~g8ijaV-}RuEXW08kUNldO+>CfrWn<>t zjnAEPPO{u=Pje^73ZDH=i5L*-XJME#&B$bBmyy7dL+CUmV`5XZ?)7h>{iKv`r7s*nt(qPVi%~#ZJI0dSJGu` z8zLNQf7GqC8-+CoN9g5H{b~$xTr(H@$4-l`=g1E^6Ca}RBC)9z7yKPb;Qz2me8EM9 zIA%;Gebkp1P8pab6`nC3ko`~$qLQ$3i-mt#C^6!$1XGo*+!XHT4;i=|#E`RE&?9n7 zlsQ-DEjzx+C3A3&<5t`++w-x+Tv>!FT<0kTZBiG3UCAZ3l(y3ctQ*3Kza3tY zL|mgTQ8B6ESP6FyyA}Mn=}Y>r9f9mOcA(6!QzEBbs6ahF(b9=R)4|km|1q*3kMDO# z)EvEl&B>f%t?Ri+8Z7d|-5Pyfwo;(%{=2kyN#1jo^*CC#iQx)c#u9~9#~a4}yDXtZ zX(NxDL?&0fuPwYAr@GZJm)`PQ zxPUknp_xvUmfspaMWh{FM?pp1(J<4NYR{ zaH?!T;1m{r`0)}C`iXWv*XfM*f$>wi!fR?s9x&H9evHUV`LMe{tMNbo{m&5mzcveS zSsJo?Xo>g!X6s0U@|q_pQ|8(nF0(IIi6#G>sk4>v#t&KD4dchAgiqR$R?|pNDTH%^ zKC6ZGLp8PCyA+c;32p?ms|r;pu7$z881F-51fFO&FM zM!v64!>eLeXC4v`ufsk;-|#q6_AMF1V$J?;Y#|@KdJXLV8VBp#H7X{`u9scQO!h98 zu9I+?xY3Vj+yS04;(=6|i^I8xCm(?L_8SMXFeP6(AJQ?R|M+A)D*jb25-L=0bchXy#QoW{unL~ zjpJ))fdP@@e)!dJ4KYWV+T!>-TV4J@gwZkE86GgiBk=6bR?2_9TXiQOGwxsS7ETFZ zZ$iJBijXYM3P)_;xkbMqdUy3Y*NTor`28Ip@*a;P5l+x#!=Rlf>ViJK{RK%qrKq$`9=;Ov$oqE{d)A%)*h$s7!&;WI}h@J zPr#}}XX2t&0h%dzkn%Oa{ypI=>C0VW8LxJCWdE?a)#-1V?DXkaxP_jnr{&Zj_DoGAB3`r3wy(!^{>O)del8ll0v~pryN7nllbthSh`fgtTTbBMt?%zn}A; z6bJaYQR`>x*V`+lQk?LBY3vP;GO;d?7_}#D^N7|5>{@poGMw5-~>g%QkB37R*p|W)1hUy5B`L4P5|OZNhJBF z_xO$}(p8Q9hgt-&BM-m821h9g+k#|mb#cqw(P(vvE0QeT0qjrT=&uR!iXLJ>uANmK z37D#H*(r!QQQS!q>}Tk{T!a5I+26q*%}pux>sx}h{ZLs}5p>G*0EblqdW*w@$1a~E zDjEp)cN|7vk!;aV_QL1!E><$eL>*cGt)H=)>IllW#ly}Cu(&`WmI&qM&4wV`sev$}!R4EAK z6fUZpUup&rP48ea0gQ?s6GoT)DkUZZX&9~836Jhk zXFQWBfuBZ}I#IIP*8q0R1K*8sy@I$DQ!{C-m1l+X=hyhWz74(3Vlxvg1Z{lgXmy!{ zss_zjr>1Qt!fI177nu2ISV#_{?V^Q|Jw?&6m6S;-k_8n=N5xVB(MxO99r2o_*i zwc5|~+I>=85V^6~KFl2MZt9&iy!N{cTI=rjB1h})e;1MR(6E?^c}6btwL@W9O}?Jm z=v#lM03enMRS&0X0FE0#Os6NJF1tTW|E$kb^Jf8Hq=&JZnf>`?vQb*nUDDmmRh=+4 zQeruiRmlNs0%K>;CXUc_Vo-+$f!Dk~A7$E+`ED}m-(zWT?Hb?p10DO(_Z*UXl96NX zk4)=YVE4=>+}gIgND={To9byM+y1a!mK|6I`HsHxM#zK-(7Gx(vH5UZsjpl7dijks zJyVZ=Ox!xEHpV@#7xeH)j`=@w^YeNHR{-#b+u2+4ube@>ys~%hQGF@6f5nO@N`4}R zDD{e#&Z)^fgZo!|$J2n6#H}2gmi4%@$D-03n~k2yG6pV$k3(B?$swRxobyJg&;xiy z<^QmegaS12;j~;B-deBL)QX2#iJ|_x*L;xyc%cN`)HAMMS=bIaMz{3wS53qT-{y=A z)Ry0!PK{+%7|#yyV&!=+wutV@R|q|Kk6X9UIxIsB@SX(-iOb+)wwqDw`o)RCT3>G! z#ugTDJ7EwYwSmPS{u^i-n@YM6f9`kDo^@Inug)=a8ai)4)Wxq+R4ZE@bYUW1g5&DM zARzGw*kxb-6TA{zE0O-jdtkI>?P&*szy{S=3NbLN>%oH>Kgx|#4WuYK5#`;Ji5Vmj z6inS6{<7_L4;4oiEy$R(Tja@@CZS$hpe{}5<+*X&#A`0A5Bgzc6#_pDdqki%83>(_ zdz{HGcing&pht#*xTBhFP7*N~>pB_p$TIoBZv;BPZoDKBc@`IsM4ZmNEaLE8-^2x{ z5Khf3aCthAMm-mzajFiWQcc*ctz*H*#k~OJME$<(ZOpL0^g8Pl2(`0&fM{?q9smt_ zy=0FcA$|P*TWxp<)t#;IfhQB;11n8EW#%_E0;elYl1<>`0N?1SiU4toyoLrUQFK*f z$UGC7HAM70pGldxXF9)1?9)uAIyyLhJa-5bI~fZXfpzr-Ubh@6*QhZ5&x<%vC3)?K zC>a(j9G)PaWyQnlwo{XY_s$0i^A5nF2A+GvU4W#|CO$5YIFR@BTn&n~J;ZX=-@n2! z;qg1d7I}TBbT8{aUmtw$qt(BX%C)nxg!<20S?siLg zb>R8Aio?is|2-{@Q=n4p_bAu>9ectI?R#b6{~)bfT`oJ5=Q37-}}_5r|v&k zEaoAaeX$kyEqA^4z|?L3-@i1jcb=Hq>-%9a^N8(6iS$7e`_RXv6obl(+~fT2Ci`&< zyKs>k1wTk4-rKe?_C0Ou`0^>h)br<<=i&a7Tsen?1J`ZK>EwY&GcZ|+49~(*lzGG~ z|D5sqxWR>Mrv7FwDy~0&PcHblLUha9cWXOqFzOe)quPm})zDW(CMcHcc61M;7S}ah znA~;LrtfA@j}FG9`>+F@--c%s68!T`eek%28su(@X9L)oBz`Lsnp(5^Y7+cg<(_I) zZEV*?px!k#9C$Ca+p-q2d?4iGQ*1j+kX7kyB=N|K@TL1>Ux#R=aZ?)$`&B${Toy(8L}tTuK_h5{=MYC0;;dEMGs`4(=g_ z#XIeyj6HSWgxd_3dFhK+-G~r{CZb@yPP%O=wWi z$53kvCN74%wJL`#iOm<5bF6LQMc&V1q#*GIte~nbG`&87Kz|UP&!Fs*Q7|2FQZpZWmoX00EXU62v9E zau=NVsu#)@q}W3q_m2cK>vRhye}~{IM}SdCS@19k+xCEySV8qtRYB>EIcR(snD}i? z_W?1NF|-=PNPH$TYhzGZHF^%?vu8}*B^3F2HPuul*xN1^1peE)d_Nzw1jl;pPt_uo zmuBzGq?tbeo(Z>oIm0;|@_V+GyTq=B$_)04bnr+NE@4Z)^=2DrfkXO6m)u^2m^}M2 z{6qTeKovNeVmiekh@XM{Z5aB7&?ht4fP}v-;syO&RPhi_J@7KFL3LiV??{B$09dUi zE)w;e#&v@nLP&I$)l+((uYArZbV+j1`NdZyF_S}#e=&k_1R3&rV=XPTCbAdj2y z*p<<#X?|m=dRZ4#xLb#dy^)RF?QW@sO5kbKXqDvBhfHUGLd9JPGA8QSLTIzvvY&1E zzS=39+D8ssI@`p3!}&+`)ZZu7C9r$D!PM;S7LXBlc3gi=kNT&9j1G;Ci#;FdR$VU7g`AWh-PC%6 zKrVyuz}vB&9lKS-(OyRVt2grVxysSl60=8@#7bd>!CKVq{w>3oS4?v?Hc&5dXHZ6J zrTr>z`HPV9nb2^7EW++EQAtoIR@(Dr`XTMzqb4dmmMKtmNjgs99x)NU4zlD|NTKbA z>$!4uWzo|vW?0Ivjki)r@o{gP51gCBqlj@s_ObJ{^u0$SvMD6YDZ}X7SAeXh2S$Zn zx+Md)PJu3gw@HcE)k@EY(>L6u3cN_M4L~u&)+X8n3duyvi^0LJH@h*nDs63Cv};EK zGOuKN_cp%v7`u2a*r~vPLougGCl-x8y&UP~E${bL z%3<0@;fJ^U;cG;7@1ikduYxNvQT*7ymWkWa_n~fqFro}UA6UV1E%1rFRy`t#5HkHw z#)MxXTa;Kp)l*O2vAdTTt3qI(5CiG(HaABHZR+aivK;lMh(6Zgb+L7v_5-1e$mY_hM5Q7?qW3)(nj!AtfRPEEJ z+ABu@|~d-4z!uN-4L& zu!@ZXjkQd05jF%0>f)xSsRWE1kLvl6FEXp&uG>rYCO5gHcrmi~g%9K#fc9BQXT%E# zFb-|*Fo%Vb)H4MW@!I~0p|AUa&16375w>Yf7uc7Tu3SBXuGL(+y?n4e8>RnUL>dyF zXrvD*G917jwAiv1OrH?tcb%niyXVhnup?o9v0_9mlf}se-&NUDf;^`|v=L3lmHvw0 zQO#}?RbIRet}t4C1I4LG+uPaW@FMcR?gE{%=7Il}scx5pBG04WqMkqBR7FmGvZ?pY z=}cz4J;q4ILKAYt4b~0Xk^1Ztfg+#XGM!6MquJX}<1-WXPtV8onpK1AEjM@1;U3{f z%H-T(wWV*A<;TN3t!-vp5sf2dn(NIORLe4fn8Ni03C1AQSV&w7s_lwOlJ@0%5(m^) zy>!h?%3!Kv5-28cnbYl;^~U$+wHUWdaS1Z^%(Id$@9f=Z^j(bnGLA&Vzt*W6ce$e@ znRyJlHCnQch#t?FbgNgS8k-eNlT18B=Ebbj-7B;xNC+VmxLdoRLDU;w@b z+gO`(t=kiw;Fe`L0v+>Rh6F;N0_K=v^--nDj2;%rP@$1p$PXBqX9th5OXLtxymJgp z+Ls}RIpq>In`@>NDBnJ{;sY^c_DTFwcevYptjpoox=O~RhO;UZpb2ehc90=dsg<_d zFLb@`hgp2{0utx+>Zz-9ghs-n*bv0FZZ;~PoQdsL1b6WV^H~XV`5UYHUIzdw?Ziha zi2e(Ca62dWcLSXu_HcF9punkd;N8Ookx(_BUTDa)%YaEA{Ydh6X#`Qe3^Ex{#Ya{sDFr*2q1t2 z*I#tYu*NXXGrY6Jo40j(DY?8l5&`@J_uQiR{I2#>j4&_fHAnT)6@EN!iF4}`77U*O z`(NIYRCNqNl$)cG`svnR4k)yJvH9wJ!V9`f^kL7f6p+E&qN~sl?CK{yoBx< z35oeQ6StwR6$(luf2ru9ZBPs31y3ix7GcR0I6W1olsmL)DAq?6Hwt{`iqNMJy7kIy zOK8FaYGH;EN*7*ZwCU!vh1w85?*F(S7+(d&#;0T_7_^UGoTU)>b3r0^5%bG#0LP>O z`yxhkp3nG$lQnsSdV1S!bDKMRUa$qWD!!04*%a(w7=%()1whqf|4=_fkC0u;zSG(5n z{(K$#4;!V}tv!Y*EInH%5a5kko9gC!LO%gGx*P+kVi^*Qx6e8;NqM|agqm;v*DxF{ zf%+_)#4cez_!_&tqZF}{OY!_nDB-5L*H_5vqGOngz{>T}#yNAz@ATL+^9tw_j^>n+ zgI7iEORktcL#u~5g>)P+yMK=gzZ2}lMyZ=OPK^c?xYOYJN$<*nil8v-C(?inMo` z+g*Xz7n3nP>Mm%d;bOG*=^j*0EG{;+5H6;v#oExVUc={Dv!d8$u}BhO^-nC3X@^gK?txG z?O-1N(o)fcPC$RxZ<4quaQV^x?v@<8sJYASx7;1nq3+Gw)F|v^Qx!|8gHj+V^#%DP zw(OB62bSdiQESeWnc3f>Bf-?C8;cYK6AxRI@q#ox@;`jfPWAy#q;D{R!!6TuE-Q|~ zQgK+}^4TZ1N$FSiUq*=uyk=MYF28xM=e2oz1R8cWBx9_neZvPS$LIURL}?F6P6b@y z!f-kSF#mOV~c17**fFo(AOH-6d&z0KGJ4q%W z^|!ezz;W==gZQx-zw10z zx3Y{r36JL57Ae!g09bA3SC0Et4}<$10knejKo>0Ep=PBS->t&m-ZbSb)vBJh9b-RBQC2^+cq!grVG+TnAa{?w{reUp*C;OY* z&t94ayJhZ)X?QunZ_{M6)#|CAGy)y2{6n#~?1%Nv&;|l~hZk7A=;b9YnU*?TmQL$t*fc@Np zF-SO{V|w!tnDysaklwR1m&}BIwVVAp`Zrul>{wBF>wTA(r^LpfvBty2W$<0YD^iu2 zoQkCo==ZWeq56PigG9~QgV3XTa-^@QaxC#V>E+O!kexfrF?o}a0+z_ECUlqP+Yr>$0G)|kV6b?I_^sH_Sk0UtC}448uqUU9;QcS_tOT>@tYbW zH7VYiaQ~Jm)Q~Ai8tA!osv-&q6@h1{@4mBC1lSskhpfU;CWPExrkNH8P?ga^FA-_b z9;f-?VVDzVj=t?>%FzNj*1(xNK3i>OEUTDWl8DLAxrJb%a}rdxZzEe#S~S#I=|^83 zCBd%4w0bmC6gq`UHogAR;t#WgOYU~7UTyc8JAuGKcx0(0S1(Y5bg_6lJN2Jkg5mPI z$~O@oZ2tg^tKyR@`66;$z1j_#qL)isSlT{?I}M|9ED!(ca8J3$qCmz}+WreRp0aCc zi0M{Ba`oZg@Gf0n5|tLEnSpW^E8fl@`l9x8K8RYV!B!N7SPh7W$60TMg2*MiabwyrBs z8w(ko3gyv)C$&iaTD)N|#qk5U26B0QqDMhJKG$rQMIiR6v`{1iwG+J-UQ8DR*g zf4&B%mV3~UFw1A%ognXn1HT#4WbdN_DL4E=d8Y%Zbt$)|VM#K;Nh?4ltIr_8&7p2@ zJ=V(zV|QL+9rWkQrU!46-hvaJ)5~LG=0XY#M5^R-TxYhIA>p;2(-(E`3$a(JTdydg zl=g$-(L>i4Jy0eg7^_RIG!=nJ2NG=D+{6J1Y# zMhCBbO!GG%eStJ<yiV^8Q8M0onmWe#T6VVH5uzL@fml z0nT#M7Nnn%^bLmH(FtMhf1RphM{Q{Xivik0pqR75kwPkD^-qp zLI3yl{?XfQO;5`S5t~rkkBvcbQi|2CCNH~ukN7b6j7sK9f48;hOZM!z-JhJYs4E*^ z*drfK-$hWgD#^%0HAuLCEV!d4(BDFWoa?^#G$?9xc8I>EzZZqU@mG$z8M*mwPmQ{d z+t1xc)|o-V=?D70*kJm-=vd_A{&r(IDUbc?OihgmnMgC`aJ#SEhNfxwf;1sxs}>ax z^=l624YlowcgY8)A&Y`NtCTZ<34!)YocQBk4`*^@e|02}bT_a#3`8J$m2%VOanT^! z_{j1us$Rf&#})PA^o)AjH_$`LQWdQ(ZW?AKQ~}(=LYD&zHh&1@1bJ)>%EMdBG5UH_ zz%?8am-NKv<&=qRPv;jDw{~bOf4&`rblByR=k*!cd9~@%^|9As#zw-2ASH9SA1R$> zXe54dliC6aO9_`<(6lK!1ssYB92Btg%=D^V6%GM7Y1|wW!BHnsGj(z1)IHm7X^jbA z0;V8g{{kPAr7Z;o_QaUH5dRDKq6kPYI_M}04qXu&ibEM86bVv>7->?JA_5XPGNK?b&ImF%h>ZvmdXo|a zX`@1r4haN82I-wh5yDwJc<(&V{dND|bNK^Lk}u!>ve#Z~uf5)Pzq_Me#@7UYwW+}5 z6gfhDE!IBrLlXUMl`hHgyCVN%usi2=v z<`^M4)S?2>GQRdWq5p~tq8@T!-%#m@u;+BX^COJe!4GzN9e8%NJV(u=%nO#v+R8eY z8xrrg%fIsuoqLp^1%j(x*Z%q4cfZ}4#IM-jRp5pN%zdnnGtr0B>tM|Q$>q|7c8p5@ z@Pd>KnwTO-A$6MRzRETIFqj^8=_DZ3avN_fD&!BnypAGCf*Cu|{%Y;cZr!B19X>VI z1&u)fF}LKDrOANnbqn5Oj?;^?2TMcQ8IA-(%Mh2|$%TPM3|7>@1?dV<8tfYZ+`dcc zH6wj;K1pOqz+kcJ{AySD3v7J|)C40gvV)M;X5L|hE$_<*ksY#$3KGP$8!e)jxPYvL zD&b(o;=othgVQsFvOe;z&=tZgr(<2NKZE@Nee*r@RFoA00ylO_c64zq@PMlJZvdO+ zr{Xziz9yWM@tNuA`z67@YKa724> zMBi@0!@@T1EVgQ4SviAZfZ}lj(}2ocAb5>Kvrrtf(`)nn)bQ^8J=mar1V_8eKHPE` z3L{GAce#0VOX|*~9=hq4Mg<+H?mE0%$@vu0_Ks}Fl=yR*7fbR|sVFX!O_&m`A zae``4tLdpPD~PkM1d#9&_x+euuO7%qRFmi6Jb=pt8se$z)+C9eV9SOK)f%W5 z=`iJ3p&4Cu(0O+~K-RBD2Dy9N6r6)fwa z2UxRo#DS7*7sGlX-0kPLhuz99mTShR<#b{$$8kO#Yd|9!t;ZlJRi|GmyW z5UCwM+Ixp;L;DoypKr9gw+xQKwbN@=->#zC8Y5^D3n1*%&lRf^-Y&{vFjoVvMdb}M zQ`(F)XY=Mr1AmU(IHMe3xXZM1$6!lo_0o;QyoA@#H)CzZWv2Q7Fe8F#7zvWg#E0^- zuQj$w#$AY1(EmyMStvA#w*7R-59j+)qRd)PmtF;2sJP&dET)BsTr9w?b@&;EF62u2 z)DU}eyQuP!mO20JCk*fLFOAx~Nh*wwns9+5NRPepQLagQHkMU(&_iWsD|Uckor!Co zT?B*O(Hkk1HLW%+2Al0Y2tPZMAob0?vyk)@Bvcxq=rZT_gSw%jz6b@0`4##7Nt}sx zyhNx|BDuEFDNyyci|qtVmDwB;0@1A==1q*8ZD>?Cu7}hFup{$R+I|9r`%7S=2JY9Q!NkdXHZdfp& zOqK9}2!~SV71b$EdXQytFjXgJMSZJt(xAvaCS4IN48dF#qJ|}VQ;O6bUGGC4l^X&lzSl+}XW8vK=!9bQm9GtNad!ycMTgdh3%o>-2eha(5Q`RQ}7=L;~ zLO+Tv+-D#`ay7kL0hwG1;fmoO{QP_Fj>%7GCBxgtvtWrOb1dX_?zD@P%man2BUuI% z75Knuo&<~}=MNo#1Me5w#&3JkyV$N3t;$MZF&6;}EMhdzA-6aH+r%|Y zZX-I^Rs9i7)C5aA6_p-OXnE2s?SZ~%JFF%;P<}NOYk`^~l0pECZ$2w;1;02s$8G=B z$2yLGYEzH|`IBN;{Wgn*SA!gyd9PoqsqNlop=PgwLtXG8tgfNhNlH9C+hONz1vYf` z=OV0zFt!Wk5RwU;lSV2mF){O<1;RQO>H`DpPRDF5Z^lJL3N8hrLI$kCEKwTeUoEVy z!I55zt!FKQ`m)quOdD$Aok~Ca+bGLybiu|b*l>jY|JW`FTYE$KvT&DW#?lG>t6zza zFPB&NS>?%RQPRfW@dmQsJ(N}=z9!jf2{@8^lP<8e)&{9DE% zW9CWfh~v~cl>BLDk9!d;hwTGvl*2$6&|Ct z^~RSrIs${)7!ez;u@NISg5}1nu`zvaqy!te5#)s%DZxfc@P8yFSjb*m$>yNVO$xT$ zg9Bf@vj2m~CzJlq0=9d&hfi9v2J+T<+ zzR9U^6;QouAcJbHKs|1O@rHOP0J>n!&l5vVkCJ=?RCr=_T^}WMwUi>~w6mzF=yq>! z@6X=e-bk(fHjBjyX8Sgd_Kj+?7I+SPh?Y2X8_CC53-S!O^;CP4W(F~%v&~~n zpUs$=!NAG2hO8#@3~LXm>>Yu>YGFG5VltUG%O$-d@Vo*!-yAt|q`JAe`DRX<$nf>+ z*Q=otPSbQJJ7BXj7utfyB>h36nulabR8_B#%M>EM@EdX_slc|rel)z;Sb ztmP{BU_Q)(z%_GeZm1e4+HZo#ddf#H_&4YUB;!LI!s?R-vz={fU33#qOJnw5yLRpH z3LwXx)sKEL6}@nKc`Pr5$hon&ID;?SYML5rKQ!&P*U6n%;7Yj`CV?#XWx4B6dEP$W zXzMB_P!p@+7$KUbtGj=!-ow9mOwRR(#dPvlZg0ms4pC$WiMep0W%0c>iGEdOuMn%D zSH7k8e2Gz&Jkr_1VSCa|U-!=ig{A@!;AX^GVUCvJUL;?Be3`dq`8=LYG*$p^l!Ol$VzmP1B`&eTe+` zWlE8ek;Zf*_qT=Gnxw*Mt1ZcKxQtqmSq!~S)%Z217f(SET#^jlB*x6TfbGa{F zoj1D0!qa7CWDcz2KI<1I;93KdG5OndoLGfC(}EHb68o1tUz&<0(ndx`KvlmpOFP5D zBV9A5bBo&k@J(6{(ijn+YuEBx4l(oh@nUH-8txGtTd^GU=tpGcFx&M`Nj#V)*~ggRB!<%FjgjT`R;`z96gYN$=}9pQtf%r_*m&mKr2bm#0^IB>(Wy9&Lpc0 z&30Pd7+>Nq>xS4xZk3qYiEgyIx>{I9jmKd#J-_hYxrf1Q&OCSegylaiFB**Q+s86> zYrhgz`5-nfE|N~C2V~k7qHp|jRbo{j7N-d}+!Ma3>-75Ax$JY}Mz^8tq&poX_IAb@H3JMD~|4d2AZhW3&oSE8T35rP)PU7n=%P|KAoc9!Gg0a(+ zA3xp-9yt+||NZ|kjuBh3n?T%>j*L@PRfW6R>mkjuKR;MEFs@@LFLK&;>vzrkl{F6Kf$AZgl@iZOSmY=^etsI@zy%)EymlBmEH+QW zsdYEuZS&mEzR*2$SqnNpM-WAg44Z6mIkz`2srDXeh4(rI)I`=tg^*=j{OUCG6unLE z1B~wX09fBH_UfP`QylYjyZB8;@j#JkD|b>Teq0=^Yh0p00Mp){Hat#vbeZ-VRR^|{Y|^a zXd(M?(9~ieCOR*cSj)`Tb~=n^u2RoIySVtwrA0O-BL{}+_~hi);NakD4u|6t5)zUf znq|9cN4dOmER2xuC}U-r=D01>BD2cTtMUarfv-RPeIM})D7r*`mV%6dnE3xEJ%Gvo ef14+nbA-pv@TD6mia$kZ(>X)4(^)5-{`GG)Gj-?y From 00bb7402160d69c1b634483ebcc17ac46a5c5814 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 14 Jun 2023 11:23:35 +1000 Subject: [PATCH 016/103] Add ProjectCode support to build orders (#4808) * Add "project_code" field to Build model * Add "project_code" field to Build model * build javascript updates (cherry picked from commit 3e27a3b739c0925aeb1e09fd027d4a6183bad4ef) * Update table filters (cherry picked from commit 196c67558591e52c4fc84db54b7ed8468e952116) * Adds API filtering * Bump API version * Hide project code field from build form if project codes not enabled (cherry picked from commit 4e210e3dfa72f87f3a0a8ca51d25f076d9533b53) * refactoring to attempt to fix circular imports * Upgrade django-test-migrations package * Fix broken import * Further fixes for unit tests * Update unit tests for migration files * Fix typo in build.js * Migration test updates - Need to specify MPTT stuff * Fix build.js * Fix migration order * Update API version --- InvenTree/InvenTree/api_version.py | 11 +++++++-- InvenTree/InvenTree/middleware.py | 4 +++- InvenTree/InvenTree/serializers.py | 4 ++-- InvenTree/InvenTree/unit_test.py | 10 ++++---- InvenTree/InvenTree/views.py | 16 ++++++------- InvenTree/build/api.py | 19 +++++++++++++++ .../migrations/0048_build_project_code.py | 20 ++++++++++++++++ InvenTree/build/models.py | 13 ++++++++-- InvenTree/build/serializers.py | 5 ++++ .../build/templates/build/build_base.html | 1 + InvenTree/build/test_migrations.py | 14 ++++------- InvenTree/common/api.py | 2 +- InvenTree/common/notifications.py | 8 +++---- InvenTree/common/serializers.py | 16 ++++++------- InvenTree/common/tests.py | 12 +++++----- InvenTree/company/test_api.py | 2 +- InvenTree/company/test_migrations.py | 3 ++- InvenTree/order/api.py | 6 ++--- InvenTree/order/models.py | 8 +++++-- InvenTree/order/serializers.py | 4 ++-- InvenTree/plugin/test_api.py | 2 +- InvenTree/templates/js/translated/build.js | 24 ++++++++++++++++++- .../templates/js/translated/table_filters.js | 9 ++++++- 23 files changed, 151 insertions(+), 62 deletions(-) create mode 100644 InvenTree/build/migrations/0048_build_project_code.py diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index c89fb1b799..88ffd0c4a4 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,17 +2,23 @@ # InvenTree API version -INVENTREE_API_VERSION = 120 +INVENTREE_API_VERSION = 121 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v121 -> 2023-06-14 : https://github.com/inventree/InvenTree/pull/4808 + - Adds "ProjectCode" link to Build model + v120 -> 2023-06-07 : https://github.com/inventree/InvenTree/pull/4855 - Major overhaul of the build order API - Adds new BuildLine model +v120 -> 2023-06-12 : https://github.com/inventree/InvenTree/pull/4804 + - Adds 'project_code' field to build order API endpoints + v119 -> 2023-06-01 : https://github.com/inventree/InvenTree/pull/4898 - - Add Metadata to: Part test templates, Part parameters, Part category parameter templates, BOM item substitute, Part relateds, Stock item test result + - Add Metadata to: Part test templates, Part parameters, Part category parameter templates, BOM item substitute, Related Parts, Stock item test result v118 -> 2023-06-01 : https://github.com/inventree/InvenTree/pull/4935 - Adds extra fields for the PartParameterTemplate model @@ -30,6 +36,7 @@ v115 - > 2023-05-18 : https://github.com/inventree/InvenTree/pull/4846 v114 -> 2023-05-16 : https://github.com/inventree/InvenTree/pull/4825 - Adds "delivery_date" to shipments +>>>>>>> inventree/master v113 -> 2023-05-13 : https://github.com/inventree/InvenTree/pull/4800 - Adds API endpoints for scrapping a build output diff --git a/InvenTree/InvenTree/middleware.py b/InvenTree/InvenTree/middleware.py index 540748a4e8..b31f6c96f0 100644 --- a/InvenTree/InvenTree/middleware.py +++ b/InvenTree/InvenTree/middleware.py @@ -14,7 +14,6 @@ from allauth_2fa.middleware import (AllauthTwoFactorMiddleware, from error_report.middleware import ExceptionProcessor from rest_framework.authtoken.models import Token -from common.models import InvenTreeSetting from InvenTree.urls import frontendpatterns logger = logging.getLogger("inventree") @@ -123,6 +122,9 @@ class Check2FAMiddleware(BaseRequire2FAMiddleware): """Check if user is required to have MFA enabled.""" def require_2fa(self, request): """Use setting to check if MFA should be enforced for frontend page.""" + + from common.models import InvenTreeSetting + try: if url_matcher.resolve(request.path[1:]): return InvenTreeSetting.get_setting('LOGIN_ENFORCE_MFA') diff --git a/InvenTree/InvenTree/serializers.py b/InvenTree/InvenTree/serializers.py index b59b2ddf04..8260fb05ef 100644 --- a/InvenTree/InvenTree/serializers.py +++ b/InvenTree/InvenTree/serializers.py @@ -21,7 +21,7 @@ from rest_framework.serializers import DecimalField from rest_framework.utils import model_meta from taggit.serializers import TaggitSerializer -from common.models import InvenTreeSetting +import common.models as common_models from common.settings import currency_code_default, currency_code_mappings from InvenTree.fields import InvenTreeRestURLField, InvenTreeURLField from InvenTree.helpers_model import download_image_from_url @@ -724,7 +724,7 @@ class RemoteImageMixin(metaclass=serializers.SerializerMetaclass): if not url: return - if not InvenTreeSetting.get_setting('INVENTREE_DOWNLOAD_FROM_URL'): + if not common_models.InvenTreeSetting.get_setting('INVENTREE_DOWNLOAD_FROM_URL'): raise ValidationError(_("Downloading images from remote URL is not enabled")) try: diff --git a/InvenTree/InvenTree/unit_test.py b/InvenTree/InvenTree/unit_test.py index 448ca90427..d609dc88f8 100644 --- a/InvenTree/InvenTree/unit_test.py +++ b/InvenTree/InvenTree/unit_test.py @@ -233,6 +233,11 @@ class ExchangeRateMixin: Rate.objects.bulk_create(items) +class InvenTreeTestCase(ExchangeRateMixin, UserMixin, TestCase): + """Testcase with user setup buildin.""" + pass + + class InvenTreeAPITestCase(ExchangeRateMixin, UserMixin, APITestCase): """Base class for running InvenTree API tests.""" @@ -408,8 +413,3 @@ class InvenTreeAPITestCase(ExchangeRateMixin, UserMixin, APITestCase): data.append(entry) return data - - -class InvenTreeTestCase(ExchangeRateMixin, UserMixin, TestCase): - """Testcase with user setup buildin.""" - pass diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index d4e364fcf4..9cb04e09d1 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -31,8 +31,8 @@ from allauth_2fa.views import TwoFactorRemove from djmoney.contrib.exchange.models import ExchangeBackend, Rate from user_sessions.views import SessionDeleteOtherView, SessionDeleteView -from common.models import ColorTheme, InvenTreeSetting -from common.settings import currency_code_default, currency_codes +import common.models as common_models +import common.settings as common_settings from part.models import PartCategory from users.models import RuleSet, check_user_role @@ -514,10 +514,10 @@ class SettingsView(TemplateView): """Add data for template.""" ctx = super().get_context_data(**kwargs).copy() - ctx['settings'] = InvenTreeSetting.objects.all().order_by('key') + ctx['settings'] = common_models.InvenTreeSetting.objects.all().order_by('key') - ctx["base_currency"] = currency_code_default() - ctx["currencies"] = currency_codes + ctx["base_currency"] = common_settings.currency_code_default() + ctx["currencies"] = common_settings.currency_codes ctx["rates"] = Rate.objects.filter(backend="InvenTreeExchange") @@ -622,8 +622,8 @@ class AppearanceSelectView(RedirectView): def get_user_theme(self): """Get current user color theme.""" try: - user_theme = ColorTheme.objects.filter(user=self.request.user).get() - except ColorTheme.DoesNotExist: + user_theme = common_models.ColorTheme.objects.filter(user=self.request.user).get() + except common_models.ColorTheme.DoesNotExist: user_theme = None return user_theme @@ -637,7 +637,7 @@ class AppearanceSelectView(RedirectView): # Create theme entry if user did not select one yet if not user_theme: - user_theme = ColorTheme() + user_theme = common_models.ColorTheme() user_theme.user = request.user user_theme.name = theme diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index c973884c9d..01c55f5e00 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -16,6 +16,7 @@ from InvenTree.helpers import str2bool, isNull, DownloadFile from InvenTree.status_codes import BuildStatus, BuildStatusGroups from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI +import common.models import build.admin import build.serializers from build.models import Build, BuildLine, BuildItem, BuildOrderAttachment @@ -89,6 +90,21 @@ class BuildFilter(rest_filters.FilterSet): lookup_expr="iexact" ) + project_code = rest_filters.ModelChoiceFilter( + queryset=common.models.ProjectCode.objects.all(), + field_name='project_code' + ) + + has_project_code = rest_filters.BooleanFilter(label='has_project_code', method='filter_has_project_code') + + def filter_has_project_code(self, queryset, name, value): + """Filter by whether or not the order has a project code""" + + if str2bool(value): + return queryset.exclude(project_code=None) + else: + return queryset.filter(project_code=None) + class BuildList(APIDownloadMixin, ListCreateAPI): """API endpoint for accessing a list of Build objects. @@ -114,11 +130,13 @@ class BuildList(APIDownloadMixin, ListCreateAPI): 'completed', 'issued_by', 'responsible', + 'project_code', 'priority', ] ordering_field_aliases = { 'reference': ['reference_int', 'reference'], + 'project_code': ['project_code__code'], } ordering = '-reference' @@ -129,6 +147,7 @@ class BuildList(APIDownloadMixin, ListCreateAPI): 'part__name', 'part__IPN', 'part__description', + 'project_code__code', 'priority', ] diff --git a/InvenTree/build/migrations/0048_build_project_code.py b/InvenTree/build/migrations/0048_build_project_code.py new file mode 100644 index 0000000000..fcc7153bc7 --- /dev/null +++ b/InvenTree/build/migrations/0048_build_project_code.py @@ -0,0 +1,20 @@ +# Generated by Django 3.2.19 on 2023-05-14 09:22 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('common', '0019_projectcode_metadata'), + ('build', '0047_auto_20230606_1058'), + ] + + operations = [ + migrations.AddField( + model_name='build', + name='project_code', + field=models.ForeignKey(blank=True, help_text='Project code for this build order', null=True, on_delete=django.db.models.deletion.SET_NULL, to='common.projectcode', verbose_name='Project Code'), + ), + ] diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index b382e65bda..b4ee51f80e 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -32,9 +32,10 @@ import InvenTree.models import InvenTree.ready import InvenTree.tasks +import common.models +from common.notifications import trigger_notification from plugin.events import trigger_event -import common.notifications import part.models import stock.models import users.models @@ -301,6 +302,14 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. help_text=_('Priority of this build order') ) + project_code = models.ForeignKey( + common.models.ProjectCode, + on_delete=models.SET_NULL, + blank=True, null=True, + verbose_name=_('Project Code'), + help_text=_('Project code for this build order'), + ) + def sub_builds(self, cascade=True): """Return all Build Order objects under this one.""" if cascade: @@ -547,7 +556,7 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. } } - common.notifications.trigger_notification( + trigger_notification( build, 'build.completed', targets=targets, diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 1bc881d629..4ea3a1bb18 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -23,6 +23,7 @@ from InvenTree.status_codes import StockStatus from stock.models import generate_batch_code, StockItem, StockLocation from stock.serializers import StockItemSerializerBrief, LocationSerializer +from common.serializers import ProjectCodeSerializer import part.filters from part.serializers import BomItemSerializer, PartSerializer, PartBriefSerializer from users.serializers import OwnerSerializer @@ -49,6 +50,8 @@ class BuildSerializer(InvenTreeModelSerializer): 'parent', 'part', 'part_detail', + 'project_code', + 'project_code_detail', 'overdue', 'reference', 'sales_order', @@ -90,6 +93,8 @@ class BuildSerializer(InvenTreeModelSerializer): barcode_hash = serializers.CharField(read_only=True) + project_code_detail = ProjectCodeSerializer(source='project_code', many=False, read_only=True) + @staticmethod def annotate_queryset(queryset): """Add custom annotations to the BuildSerializer queryset, performing database queries as efficiently as possible. diff --git a/InvenTree/build/templates/build/build_base.html b/InvenTree/build/templates/build/build_base.html index fc692408c6..2f1ea421b6 100644 --- a/InvenTree/build/templates/build/build_base.html +++ b/InvenTree/build/templates/build/build_base.html @@ -108,6 +108,7 @@ src="{% static 'img/blank_image.png' %}" {% trans "Build Description" %} {{ build.title }} + {% include "project_code_data.html" with instance=build %} {% include "barcode_data.html" with instance=build %} diff --git a/InvenTree/build/test_migrations.py b/InvenTree/build/test_migrations.py index af094db7f2..440074d4d7 100644 --- a/InvenTree/build/test_migrations.py +++ b/InvenTree/build/test_migrations.py @@ -19,22 +19,15 @@ class TestForwardMigrations(MigratorTestCase): name='Widget', description='Buildable Part', active=True, + level=0, lft=0, rght=0, tree_id=0, ) - with self.assertRaises(TypeError): - # Cannot set the 'assembly' field as it hasn't been added to the db schema - Part.objects.create( - name='Blorb', - description='ABCDE', - assembly=True - ) - Build = self.old_state.apps.get_model('build', 'build') Build.objects.create( part=buildable_part, title='A build of some stuff', - quantity=50 + quantity=50, ) def test_items_exist(self): @@ -67,7 +60,8 @@ class TestReferenceMigration(MigratorTestCase): part = Part.objects.create( name='Part', - description='A test part' + description='A test part', + level=0, lft=0, rght=0, tree_id=0, ) Build = self.old_state.apps.get_model('build', 'build') diff --git a/InvenTree/common/api.py b/InvenTree/common/api.py index 030630778f..abde58501f 100644 --- a/InvenTree/common/api.py +++ b/InvenTree/common/api.py @@ -525,7 +525,7 @@ settings_api_urls = [ path(r'/', NotificationUserSettingsDetail.as_view(), name='api-notification-setting-detail'), # Notification Settings List - re_path(r'^.*$', NotificationUserSettingsList.as_view(), name='api-notifcation-setting-list'), + re_path(r'^.*$', NotificationUserSettingsList.as_view(), name='api-notification-setting-list'), ])), # Global settings diff --git a/InvenTree/common/notifications.py b/InvenTree/common/notifications.py index 07148e6267..6abf8999d8 100644 --- a/InvenTree/common/notifications.py +++ b/InvenTree/common/notifications.py @@ -8,8 +8,8 @@ from django.contrib.auth import get_user_model from django.contrib.auth.models import Group from django.utils.translation import gettext_lazy as _ +import common.models import InvenTree.helpers -from common.models import NotificationEntry, NotificationMessage from InvenTree.ready import isImportingData from plugin import registry from plugin.models import NotificationUserSetting, PluginConfig @@ -247,7 +247,7 @@ class UIMessageNotification(SingleNotificationMethod): def send(self, target): """Send a UI notification to a user.""" - NotificationMessage.objects.create( + common.models.NotificationMessage.objects.create( target_object=self.obj, source_object=target, user=target, @@ -338,7 +338,7 @@ def trigger_notification(obj, category=None, obj_ref='pk', **kwargs): # Check if we have notified recently... delta = timedelta(days=1) - if NotificationEntry.check_recent(category, obj_ref_value, delta): + if common.models.NotificationEntry.check_recent(category, obj_ref_value, delta): logger.info(f"Notification '{category}' has recently been sent for '{str(obj)}' - SKIPPING") return @@ -398,7 +398,7 @@ def trigger_notification(obj, category=None, obj_ref='pk', **kwargs): logger.error(error) # Set delivery flag - NotificationEntry.notify(category, obj_ref_value) + common.models.NotificationEntry.notify(category, obj_ref_value) else: logger.info(f"No possible users for notification '{category}'") diff --git a/InvenTree/common/serializers.py b/InvenTree/common/serializers.py index 8dc911f506..10616c251a 100644 --- a/InvenTree/common/serializers.py +++ b/InvenTree/common/serializers.py @@ -6,9 +6,7 @@ from django.urls import reverse from flags.state import flag_state from rest_framework import serializers -from common.models import (InvenTreeSetting, InvenTreeUserSetting, - NewsFeedEntry, NotesImage, NotificationMessage, - ProjectCode) +import common.models as common_models from InvenTree.helpers import get_objectreference from InvenTree.helpers_model import construct_absolute_url from InvenTree.serializers import (InvenTreeImageSerializerField, @@ -64,7 +62,7 @@ class GlobalSettingsSerializer(SettingsSerializer): class Meta: """Meta options for GlobalSettingsSerializer.""" - model = InvenTreeSetting + model = common_models.InvenTreeSetting fields = [ 'pk', 'key', @@ -85,7 +83,7 @@ class UserSettingsSerializer(SettingsSerializer): class Meta: """Meta options for UserSettingsSerializer.""" - model = InvenTreeUserSetting + model = common_models.InvenTreeUserSetting fields = [ 'pk', 'key', @@ -148,7 +146,7 @@ class NotificationMessageSerializer(InvenTreeModelSerializer): class Meta: """Meta options for NotificationMessageSerializer.""" - model = NotificationMessage + model = common_models.NotificationMessage fields = [ 'pk', 'target', @@ -209,7 +207,7 @@ class NewsFeedEntrySerializer(InvenTreeModelSerializer): class Meta: """Meta options for NewsFeedEntrySerializer.""" - model = NewsFeedEntry + model = common_models.NewsFeedEntry fields = [ 'pk', 'feed_id', @@ -243,7 +241,7 @@ class NotesImageSerializer(InvenTreeModelSerializer): class Meta: """Meta options for NotesImageSerializer.""" - model = NotesImage + model = common_models.NotesImage fields = [ 'pk', 'image', @@ -265,7 +263,7 @@ class ProjectCodeSerializer(InvenTreeModelSerializer): class Meta: """Meta options for ProjectCodeSerializer.""" - model = ProjectCode + model = common_models.ProjectCode fields = [ 'pk', 'code', diff --git a/InvenTree/common/tests.py b/InvenTree/common/tests.py index f854b63514..4402a16933 100644 --- a/InvenTree/common/tests.py +++ b/InvenTree/common/tests.py @@ -226,7 +226,7 @@ class SettingsTest(InvenTreeTestCase): cache.clear() - # Generate a number of new usesr + # Generate a number of new users for idx in range(5): get_user_model().objects.create( username=f"User_{idx}", @@ -417,7 +417,7 @@ class UserSettingsApiTest(InvenTreeAPITestCase): self.assertTrue(str2bool(response.data['value'])) - # Assign some falsey values + # Assign some false(ish) values for v in ['false', False, '0', 'n', 'FalSe']: self.patch( url, @@ -535,7 +535,7 @@ class NotificationUserSettingsApiTest(InvenTreeAPITestCase): def test_api_list(self): """Test list URL.""" - url = reverse('api-notifcation-setting-list') + url = reverse('api-notification-setting-list') self.get(url, expected_code=200) @@ -583,7 +583,7 @@ class PluginSettingsApiTest(PluginMixin, InvenTreeAPITestCase): # Failure mode tests - # Non - exsistant plugin + # Non-existent plugin url = reverse('api-plugin-setting-detail', kwargs={'plugin': 'doesnotexist', 'key': 'doesnotmatter'}) response = self.get(url, expected_code=404) self.assertIn("Plugin 'doesnotexist' not installed", str(response.data)) @@ -729,7 +729,7 @@ class WebhookMessageTests(TestCase): class NotificationTest(InvenTreeAPITestCase): - """Tests for NotificationEntriy.""" + """Tests for NotificationEntry.""" fixtures = [ 'users', @@ -785,7 +785,7 @@ class NotificationTest(InvenTreeAPITestCase): messages = NotificationMessage.objects.all() # As there are three staff users (including the 'test' user) we expect 30 notifications - # However, one user is marked as i nactive + # However, one user is marked as inactive self.assertEqual(messages.count(), 20) # Only 10 messages related to *this* user diff --git a/InvenTree/company/test_api.py b/InvenTree/company/test_api.py index 4f98686111..4fa3ba595a 100644 --- a/InvenTree/company/test_api.py +++ b/InvenTree/company/test_api.py @@ -468,7 +468,7 @@ class SupplierPartTest(InvenTreeAPITestCase): self.assertIsNone(sp.availability_updated) self.assertEqual(sp.available, 0) - # Now, *update* the availabile quantity via the API + # Now, *update* the available quantity via the API self.patch( reverse('api-supplier-part-detail', kwargs={'pk': sp.pk}), { diff --git a/InvenTree/company/test_migrations.py b/InvenTree/company/test_migrations.py index fb38e9e695..1d9a9f88cf 100644 --- a/InvenTree/company/test_migrations.py +++ b/InvenTree/company/test_migrations.py @@ -48,7 +48,8 @@ class TestManufacturerField(MigratorTestCase): # Create an initial part part = Part.objects.create( name='Screw', - description='A single screw' + description='A single screw', + level=0, tree_id=0, lft=0, rght=0 ) # Create a company to act as the supplier diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index 0e6071ebab..b4a60a95ae 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -13,7 +13,7 @@ from rest_framework import status from rest_framework.exceptions import ValidationError from rest_framework.response import Response -from common.models import InvenTreeSetting, ProjectCode +import common.models as common_models from common.settings import settings from company.models import SupplierPart from generic.states import StatusView @@ -139,7 +139,7 @@ class OrderFilter(rest_filters.FilterSet): return queryset.exclude(status__in=self.Meta.model.get_status_class().OPEN) project_code = rest_filters.ModelChoiceFilter( - queryset=ProjectCode.objects.all(), + queryset=common_models.ProjectCode.objects.all(), field_name='project_code' ) @@ -1457,7 +1457,7 @@ class OrderCalendarExport(ICalFeed): else: ordertype_title = _('Unknown') - return f'{InvenTreeSetting.get_setting("INVENTREE_COMPANY_NAME")} {ordertype_title}' + return f'{common_models.InvenTreeSetting.get_setting("INVENTREE_COMPANY_NAME")} {ordertype_title}' def product_id(self, obj): """Return calendar product id.""" diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index f9992b4d83..93f431d43f 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -22,6 +22,7 @@ from djmoney.contrib.exchange.models import convert_money from djmoney.money import Money from mptt.models import TreeForeignKey +import common.models as common_models import InvenTree.helpers import InvenTree.ready import InvenTree.tasks @@ -29,7 +30,6 @@ import InvenTree.validators import order.validators import stock.models import users.models as UserModels -from common.models import ProjectCode from common.notifications import InvenTreeNotificationBodies from common.settings import currency_code_default from company.models import Company, Contact, SupplierPart @@ -231,7 +231,11 @@ class Order(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, Reference description = models.CharField(max_length=250, blank=True, verbose_name=_('Description'), help_text=_('Order description (optional)')) - project_code = models.ForeignKey(ProjectCode, on_delete=models.SET_NULL, blank=True, null=True, verbose_name=_('Project Code'), help_text=_('Select project code for this order')) + project_code = models.ForeignKey( + common_models.ProjectCode, on_delete=models.SET_NULL, + blank=True, null=True, + verbose_name=_('Project Code'), help_text=_('Select project code for this order') + ) link = InvenTreeURLField(blank=True, verbose_name=_('Link'), help_text=_('Link to external page')) diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index d0dee4740b..116f0fb7b0 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -13,11 +13,11 @@ from rest_framework import serializers from rest_framework.serializers import ValidationError from sql_util.utils import SubqueryCount -import common.serializers import order.models import part.filters import stock.models import stock.serializers +from common.serializers import ProjectCodeSerializer from company.serializers import (CompanyBriefSerializer, ContactSerializer, SupplierPartSerializer) from InvenTree.helpers import (extract_serial_numbers, hash_barcode, normalize, @@ -73,7 +73,7 @@ class AbstractOrderSerializer(serializers.Serializer): responsible_detail = OwnerSerializer(source='responsible', read_only=True, many=False) # Detail for project code field - project_code_detail = common.serializers.ProjectCodeSerializer(source='project_code', read_only=True, many=False) + project_code_detail = ProjectCodeSerializer(source='project_code', read_only=True, many=False) # Boolean field indicating if this order is overdue (Note: must be annotated) overdue = serializers.BooleanField(required=False, read_only=True) diff --git a/InvenTree/plugin/test_api.py b/InvenTree/plugin/test_api.py index 817995de4d..bb4d5b3290 100644 --- a/InvenTree/plugin/test_api.py +++ b/InvenTree/plugin/test_api.py @@ -54,7 +54,7 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): ).data self.assertEqual(data['success'], True) - # valid - github url and packagename + # valid - github url and package name data = self.post( url, { diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 9b40bcd87b..3d70cb9347 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -14,6 +14,7 @@ FullCalendar, getFormFieldValue, getTableData, + global_settings, handleFormErrors, handleFormSuccess, imageHoverIcon, @@ -64,7 +65,7 @@ function buildFormFields() { - return { + let fields = { reference: { icon: 'fa-hashtag', }, @@ -76,6 +77,9 @@ function buildFormFields() { }, title: {}, quantity: {}, + project_code: { + icon: 'fa-list', + }, priority: {}, parent: { filters: { @@ -111,6 +115,12 @@ function buildFormFields() { icon: 'fa-users', }, }; + + if (!global_settings.PROJECT_CODES_ENABLED) { + delete fields.project_code; + } + + return fields; } /* @@ -2020,6 +2030,18 @@ function loadBuildTable(table, options) { title: '{% trans "Description" %}', switchable: true, }, + { + field: 'project_code', + title: '{% trans "Project Code" %}', + sortable: true, + switchable: global_settings.PROJECT_CODES_ENABLED, + visible: global_settings.PROJECT_CODES_ENABLED, + formatter: function(value, row) { + if (row.project_code_detail) { + return `${row.project_code_detail.code}`; + } + } + }, { field: 'priority', title: '{% trans "Priority" %}', diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index c24b90c15c..6b12133a09 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -440,7 +440,7 @@ function getPluginTableFilters() { // Return a dictionary of filters for the "build" table function getBuildTableFilters() { - return { + let filters = { status: { title: '{% trans "Build status" %}', options: buildCodes, @@ -477,6 +477,13 @@ function getBuildTableFilters() { }, }, }; + + if (global_settings.PROJECT_CODES_ENABLED) { + filters['has_project_code'] = constructHasProjectCodeFilter(); + filters['project_code'] = constructProjectCodeFilter(); + } + + return filters; } From a3940cfc414a6732e3179d1b7a93cddc6d80fb24 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 14 Jun 2023 13:07:05 +1000 Subject: [PATCH 017/103] Improve error logging (#5039) - Truncate path to < 200 chars - Prevents exception when creating new Error object --- InvenTree/InvenTree/middleware.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/middleware.py b/InvenTree/InvenTree/middleware.py index b31f6c96f0..a8a51404d2 100644 --- a/InvenTree/InvenTree/middleware.py +++ b/InvenTree/InvenTree/middleware.py @@ -167,4 +167,31 @@ class InvenTreeExceptionProcessor(ExceptionProcessor): if kind in settings.IGNORED_ERRORS: return - return super().process_exception(request, exception) + import traceback + + from django.views.debug import ExceptionReporter + + from error_report.models import Error + from error_report.settings import ERROR_DETAIL_SETTINGS + + # Error reporting is disabled + if not ERROR_DETAIL_SETTINGS.get('ERROR_DETAIL_ENABLE', True): + return + + path = request.build_absolute_uri() + + # Truncate the path to a reasonable length + # Otherwise we get a database error, + # because the path field is limited to 200 characters + if len(path) > 200: + path = path[:195] + '...' + + error = Error.objects.create( + kind=kind.__name__, + html=ExceptionReporter(request, kind, info, data).get_traceback_html(), + path=path, + info=info, + data='\n'.join(traceback.format_exception(kind, info, data)), + ) + + error.save() From 8d16abcefb74ed9430cffb82ce9fb81f3f3f6dfc Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 14 Jun 2023 13:07:18 +1000 Subject: [PATCH 018/103] Build line labels (#5034) * Adds BuildLineLabel model - New type of label for printing against BuildLine objects * Add serializer for new model * Add API endpoints for new label type * Add hooks to BuildLine table * Create default label - Create an example BuildLineLabel object * Add admin integration * Fix js code * Use two-tiered template - Allows base template to be updated * Improve default label * Add docs pages for labels * Update nav * Documentation for new label * Add permission role * Bump API version --- InvenTree/InvenTree/api_version.py | 8 +- InvenTree/label/admin.py | 1 + InvenTree/label/api.py | 39 +++++ InvenTree/label/apps.py | 24 ++- .../label/migrations/0010_buildlinelabel.py | 33 ++++ InvenTree/label/models.py | 43 ++++++ InvenTree/label/serializers.py | 10 ++ .../label/buildline/buildline_label.html | 3 + .../label/buildline/buildline_label_base.html | 74 +++++++++ InvenTree/templates/js/translated/build.js | 13 +- InvenTree/users/models.py | 1 + .../images/report/label_build_example.png | Bin 0 -> 28718 bytes .../images/report/label_build_print.png | Bin 0 -> 548851 bytes docs/docs/report/labels.md | 141 ++---------------- docs/docs/report/labels/build_labels.md | 118 +++++++++++++++ docs/docs/report/labels/location_labels.md | 24 +++ docs/docs/report/labels/part_labels.md | 57 +++++++ docs/docs/report/labels/stock_labels.md | 61 ++++++++ docs/mkdocs.yml | 7 +- 19 files changed, 515 insertions(+), 142 deletions(-) create mode 100644 InvenTree/label/migrations/0010_buildlinelabel.py create mode 100644 InvenTree/label/templates/label/buildline/buildline_label.html create mode 100644 InvenTree/label/templates/label/buildline/buildline_label_base.html create mode 100644 docs/docs/assets/images/report/label_build_example.png create mode 100644 docs/docs/assets/images/report/label_build_print.png create mode 100644 docs/docs/report/labels/build_labels.md create mode 100644 docs/docs/report/labels/location_labels.md create mode 100644 docs/docs/report/labels/part_labels.md create mode 100644 docs/docs/report/labels/stock_labels.md diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 88ffd0c4a4..816f71f77e 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 121 +INVENTREE_API_VERSION = 122 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v122 -> 2023-06-14 : https://github.com/inventree/InvenTree/pull/5034 + - Adds new BuildLineLabel label type + v121 -> 2023-06-14 : https://github.com/inventree/InvenTree/pull/4808 - Adds "ProjectCode" link to Build model @@ -14,9 +17,6 @@ v120 -> 2023-06-07 : https://github.com/inventree/InvenTree/pull/4855 - Major overhaul of the build order API - Adds new BuildLine model -v120 -> 2023-06-12 : https://github.com/inventree/InvenTree/pull/4804 - - Adds 'project_code' field to build order API endpoints - v119 -> 2023-06-01 : https://github.com/inventree/InvenTree/pull/4898 - Add Metadata to: Part test templates, Part parameters, Part category parameter templates, BOM item substitute, Related Parts, Stock item test result diff --git a/InvenTree/label/admin.py b/InvenTree/label/admin.py index f2b981ff12..ec4cb3f7dd 100644 --- a/InvenTree/label/admin.py +++ b/InvenTree/label/admin.py @@ -13,3 +13,4 @@ class LabelAdmin(admin.ModelAdmin): admin.site.register(label.models.StockItemLabel, LabelAdmin) admin.site.register(label.models.StockLocationLabel, LabelAdmin) admin.site.register(label.models.PartLabel, LabelAdmin) +admin.site.register(label.models.BuildLineLabel, LabelAdmin) diff --git a/InvenTree/label/api.py b/InvenTree/label/api.py index 28bdb6b5a3..724c00e4d5 100644 --- a/InvenTree/label/api.py +++ b/InvenTree/label/api.py @@ -10,6 +10,7 @@ from django.views.decorators.cache import cache_page, never_cache from django_filters.rest_framework import DjangoFilterBackend from rest_framework.exceptions import NotFound +import build.models import common.models import InvenTree.helpers import label.models @@ -368,6 +369,31 @@ class PartLabelPrint(PartLabelMixin, LabelPrintMixin, RetrieveAPI): pass +class BuildLineLabelMixin: + """Mixin class for BuildLineLabel endpoints""" + + queryset = label.models.BuildLineLabel.objects.all() + serializer_class = label.serializers.BuildLineLabelSerializer + + ITEM_MODEL = build.models.BuildLine + ITEM_KEY = 'line' + + +class BuildLineLabelList(BuildLineLabelMixin, LabelListView): + """API endpoint for viewing a list of BuildLineLabel objects""" + pass + + +class BuildLineLabelDetail(BuildLineLabelMixin, RetrieveUpdateDestroyAPI): + """API endpoint for a single BuildLineLabel object""" + pass + + +class BuildLineLabelPrint(BuildLineLabelMixin, LabelPrintMixin, RetrieveAPI): + """API endpoint for printing a BuildLineLabel object""" + pass + + label_api_urls = [ # Stock item labels @@ -408,4 +434,17 @@ label_api_urls = [ # List view re_path(r'^.*$', PartLabelList.as_view(), name='api-part-label-list'), ])), + + # BuildLine labels + re_path(r'^buildline/', include([ + # Detail views + path(r'/', include([ + re_path(r'^print/', BuildLineLabelPrint.as_view(), name='api-buildline-label-print'), + re_path(r'^metadata/', MetadataView.as_view(), {'model': label.models.BuildLineLabel}, name='api-buildline-label-metadata'), + re_path(r'^.*$', BuildLineLabelDetail.as_view(), name='api-buildline-label-detail'), + ])), + + # List view + re_path(r'^.*$', BuildLineLabelList.as_view(), name='api-buildline-label-list'), + ])), ] diff --git a/InvenTree/label/apps.py b/InvenTree/label/apps.py index 51243e238b..34dd190ad9 100644 --- a/InvenTree/label/apps.py +++ b/InvenTree/label/apps.py @@ -46,12 +46,12 @@ class LabelConfig(AppConfig): def create_labels(self): """Create all default templates.""" # Test if models are ready - from .models import PartLabel, StockItemLabel, StockLocationLabel - assert bool(StockLocationLabel is not None) + import label.models + assert bool(label.models.StockLocationLabel is not None) # Create the categories self.create_labels_category( - StockItemLabel, + label.models.StockItemLabel, 'stockitem', [ { @@ -65,7 +65,7 @@ class LabelConfig(AppConfig): ) self.create_labels_category( - StockLocationLabel, + label.models.StockLocationLabel, 'stocklocation', [ { @@ -86,7 +86,7 @@ class LabelConfig(AppConfig): ) self.create_labels_category( - PartLabel, + label.models.PartLabel, 'part', [ { @@ -106,6 +106,20 @@ class LabelConfig(AppConfig): ] ) + self.create_labels_category( + label.models.BuildLineLabel, + 'buildline', + [ + { + 'file': 'buildline_label.html', + 'name': 'Build Line Label', + 'description': 'Example build line label', + 'width': 125, + 'height': 48, + }, + ] + ) + def create_labels_category(self, model, ref_name, labels): """Create folder and database entries for the default templates, if they do not already exist.""" # Create root dir for templates diff --git a/InvenTree/label/migrations/0010_buildlinelabel.py b/InvenTree/label/migrations/0010_buildlinelabel.py new file mode 100644 index 0000000000..329c274367 --- /dev/null +++ b/InvenTree/label/migrations/0010_buildlinelabel.py @@ -0,0 +1,33 @@ +# Generated by Django 3.2.19 on 2023-06-13 11:10 + +import django.core.validators +from django.db import migrations, models +import label.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('label', '0009_auto_20230317_0816'), + ] + + operations = [ + migrations.CreateModel( + name='BuildLineLabel', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('metadata', models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata')), + ('name', models.CharField(help_text='Label name', max_length=100, verbose_name='Name')), + ('description', models.CharField(blank=True, help_text='Label description', max_length=250, null=True, verbose_name='Description')), + ('label', models.FileField(help_text='Label template file', unique=True, upload_to=label.models.rename_label, validators=[django.core.validators.FileExtensionValidator(allowed_extensions=['html'])], verbose_name='Label')), + ('enabled', models.BooleanField(default=True, help_text='Label template is enabled', verbose_name='Enabled')), + ('width', models.FloatField(default=50, help_text='Label width, specified in mm', validators=[django.core.validators.MinValueValidator(2)], verbose_name='Width [mm]')), + ('height', models.FloatField(default=20, help_text='Label height, specified in mm', validators=[django.core.validators.MinValueValidator(2)], verbose_name='Height [mm]')), + ('filename_pattern', models.CharField(default='label.pdf', help_text='Pattern for generating label filenames', max_length=100, verbose_name='Filename Pattern')), + ('filters', models.CharField(blank=True, help_text='Query filters (comma-separated list of key=value pairs)', max_length=250, validators=[label.models.validate_build_line_filters], verbose_name='Filters')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/InvenTree/label/models.py b/InvenTree/label/models.py index 8bbd1b19a0..91b503a055 100644 --- a/InvenTree/label/models.py +++ b/InvenTree/label/models.py @@ -13,6 +13,7 @@ from django.template.loader import render_to_string from django.urls import reverse from django.utils.translation import gettext_lazy as _ +import build.models import part.models import stock.models from InvenTree.helpers import normalize, validateFilterString @@ -59,6 +60,13 @@ def validate_part_filters(filters): return filters +def validate_build_line_filters(filters): + """Validate query filters for the BuildLine model""" + filters = validateFilterString(filters, model=build.models.BuildLine) + + return filters + + class WeasyprintLabelMixin(WeasyTemplateResponseMixin): """Class for rendering a label to a PDF.""" @@ -330,3 +338,38 @@ class PartLabel(LabelTemplate): 'qr_url': request.build_absolute_uri(part.get_absolute_url()), 'parameters': part.parameters_map(), } + + +class BuildLineLabel(LabelTemplate): + """Template for printing labels against BuildLine objects""" + + @staticmethod + def get_api_url(): + """Return the API URL associated with the BuildLineLabel model""" + return reverse('api-buildline-label-list') + + SUBDIR = 'buildline' + + filters = models.CharField( + blank=True, max_length=250, + help_text=_('Query filters (comma-separated list of key=value pairs)'), + verbose_name=_('Filters'), + validators=[ + validate_build_line_filters + ] + ) + + def get_context_data(self, request): + """Generate context data for each provided BuildLine object.""" + + build_line = self.object_to_print + + return { + 'build_line': build_line, + 'build': build_line.build, + 'bom_item': build_line.bom_item, + 'part': build_line.bom_item.sub_part, + 'quantity': build_line.quantity, + 'allocated_quantity': build_line.allocated_quantity, + 'allocations': build_line.allocations, + } diff --git a/InvenTree/label/serializers.py b/InvenTree/label/serializers.py index 21a8185b3a..576d4af8fa 100644 --- a/InvenTree/label/serializers.py +++ b/InvenTree/label/serializers.py @@ -52,3 +52,13 @@ class PartLabelSerializer(LabelSerializerBase): model = label.models.PartLabel fields = LabelSerializerBase.label_fields() + + +class BuildLineLabelSerializer(LabelSerializerBase): + """Serializes a BuildLineLabel object""" + + class Meta: + """Metaclass options.""" + + model = label.models.BuildLineLabel + fields = LabelSerializerBase.label_fields() diff --git a/InvenTree/label/templates/label/buildline/buildline_label.html b/InvenTree/label/templates/label/buildline/buildline_label.html new file mode 100644 index 0000000000..efbb9a3db6 --- /dev/null +++ b/InvenTree/label/templates/label/buildline/buildline_label.html @@ -0,0 +1,3 @@ +{% extends "label/buildline/buildline_label_base.html" %} + + diff --git a/InvenTree/label/templates/label/buildline/buildline_label_base.html b/InvenTree/label/templates/label/buildline/buildline_label_base.html new file mode 100644 index 0000000000..bec22c5cbb --- /dev/null +++ b/InvenTree/label/templates/label/buildline/buildline_label_base.html @@ -0,0 +1,74 @@ +{% extends "label/label_base.html" %} +{% load barcode report %} +{% load inventree_extras %} + + + +{% block style %} + +{{ block.super }} + +.label { + margin: 1mm; +} + +.qr { + height: 28mm; + width: 28mm; + position: relative; + top: 0mm; + right: 0mm; + float: right; +} + +.label-table { + width: 100%; + border-collapse: collapse; + border: 1pt solid black; +} + +.label-table tr { + width: 100%; + border-bottom: 1pt solid black; + padding: 2.5mm; +} + +.label-table td { + padding: 3mm; +} + +{% endblock style %} + +{% block content %} + +
      + + + + + + + + + +
      + Build Order: {{ build.reference }}
      + Build Qty: {% decimal build.quantity %}
      +
      + build qr +
      + Part: {{ part.name }}
      + {% if part.IPN %} + IPN: {{ part.IPN }}
      + {% endif %} + Qty / Unit: {% decimal bom_item.quantity %} {% if part.units %}[{{ part.units }}]{% endif %}
      + Qty Total: {% decimal quantity %} {% if part.units %}[{{ part.units }}]{% endif %} +
      + part qr +
      +
      + +{% endblock content %} diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 3d70cb9347..f99603aeba 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -2349,8 +2349,17 @@ function loadBuildLineTable(table, build_id, options={}) { let filters = loadTableFilters('buildlines', params); let filterTarget = options.filterTarget || '#filter-list-buildlines'; - setupFilterList('buildlines', $(table), filterTarget); - // If data is passed directly to this function, do not request data from the server + // If data is passed directly to this function, do not setup filters + if (!options.data) { + setupFilterList('buildlines', $(table), filterTarget, { + labels: { + url: '{% url "api-buildline-label-list" %}', + key: 'line', + }, + singular_name: '{% trans "build line" %}', + plural_name: '{% trans "build lines" %}', + }); + } let table_options = { name: name, diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index 7a9120770f..1cfca8a596 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -136,6 +136,7 @@ class RuleSet(models.Model): 'stock_stockitem', 'stock_stocklocation', 'report_buildreport', + 'label_buildlinelabel', ], 'purchase_order': [ 'company_company', diff --git a/docs/docs/assets/images/report/label_build_example.png b/docs/docs/assets/images/report/label_build_example.png new file mode 100644 index 0000000000000000000000000000000000000000..e0e817f089140dec6975b48e4eb22920d7ffe008 GIT binary patch literal 28718 zcmd?RcU;rUw=Rsj6$^-E3n)!RK>+^6+ zDHsEvf>pTx$=Eu)F{BL1CpnqNUioAo?!n~S!RkzG6?B~rp5-YDDC4b(` zO<*TSZ$1C$@zxs9clkIZv9-3CvRY?JF68b(q>7%OZnEQ#|_1|ABozdUTKuoh+7 zZd(4}){(yRuj>p{qG+`Fj2xo0OuzdEl-Wl&YAA9Q>V3tBM)uf%20xN(m7Rq#|M0^E zh|Mn_6!0?Ox0?cF&>WUe95irfde2Y{6ODqI# z<#H&Lkj3*g!;s&rf@#Lr!SvPuI=?j@e$lG%2r%Wtj~~!$AJHm@X?%MPvYr8RnxC4* z`Oe~QDI)`}>18lY%DtNm5g_}7bzsI{_t-NZ^X&0|-eY{pMk&%?re{lOeo$hU{QreYx3=IZHM= zsV%CE6y{*glG;SH2_B`EqW6lf#m{_fkP5PF78b6N#Z8NqV@`=9A#~3Uj7XH>c{0R{ zxdJcn(-srZy5RYE`058RjqK#eLrTaDEBl&R+$7U?v_HV30_l1U-7h;Z4gO&2eOQ@= zanZ8grX5N|hq8i(T%PFopJ|A4DjK-7Q$sqh#9Eb+k&l^9VeWtJQU6taO2)%8dIn>K z-U;TjlZM^eHZGvaJvmloPI(u3XePUvPA>_JK{B2+-4bo>Qe+<7eD-L+p+Ssh%HS;S zHq+oo`To-k{{P-epd+((ddO7rY+{I&OVJ?N$G!e<)AkCOU%36kJWh$|s$&^F%nq_` zXLe8}#<3uXzBeFKkLmT#{mGm|{4RMN|D3)))qh_H|8);kpz&23XvfHUs7VhBg$#p5 z7otdCpE-b72{a3H%A=9{&=I;v?6ElD&!nXu{k?k%Gg=&2}3jJX_{vYv_BNy zo2OGyP@JN-J)JyqC`wMke)!6)L5asy%_!E&^(v9{jQwEf2v@^LVxYeB6e1{7tTkTt zh*%N2+dOJ0H6*Sfzq)l%#?(=zS>ezs*<2`MN*9{Ru< znnDq+;PD$Vn^$aFameSLz+hsBa^iiLN>^YcjXVCB}3E@?0aV`;|KGw zX=95zy`1a`#O6nMF16(&mzKX-q+D1Wz6dvW;9m0=D&qI6VMw9eOK6i}C2z9QgrTNu zqs6ynG;-ZNWs8zSiZBs5ELeV8knb$aABn8fl>3ZbF5w{rVD6CMuSXY!g{;#KYbbQ^ zzuB3JP6X59_$h0Q-@>rp)cvc^OQ~H2`R$_-^l6wy-HYuZHD_8{lF)HR+WBtktL(ef zM$WaEBf2n`|JZ!|wNbihkN5i6$q=&`>mwNYl2}ato8(VBG#2bA0xFqoG`{d$w0>bx zVHY_!|Gq5!Y!=04y_-rPQDy|Qh7k-hHLa?Q|9Qm+q4X%ctgx z+FG#23)|jKzr^316@X++I;;ldhnMw<^9J%Cf+D-Eo!>QP!N@$%KcL@m(40~T>~Le=#+ z+ZKY(LQZO0vZuE!4l8gOP$s{6Q3$;y-ji3NY|Ag`XY+BG;j>~>VU0-ru#&s!_qS*1 z6$_DhW)pwBco6dymm%LK-2JWnLK-^KEH3DTZgX`nVv#FHESqn@xP)iY&?nw&{)%g< zZU{YC4TqD8<*`k{g-1QAgBqS86JN|8n{uj?r%&&18m?}oHROJNCm`pl3+bf4)|QHX@0e&1 z4t3`|&N`ov$4AB*7?kg;P#CVBqy?CUi!14({Jr%%eC+!oW_vh&`gVAg*6ZTQasqeL zBnWUv%v^qAz$4s$pj$(`KRs`I5Xw1Vq>A^MSf3BpXU;*hG zacOq=A`e9A&P9&&biRVT^{c1#J4Dxa=2x2fUXL^=M_a;>lDwmbavvyO6lX~Ni8yv7 z07FTLE?unlSv9-XWScsbK`u>@b(5scq)1WnsC~~RWSaMsmxpyOculmX`PTN>V5@ezX-Mb;8~9#EtKVbNr*#Z7WY<_9dPO$%QNgW>*X7 zC_(BKf|PsS5Bl_$Pg{Rgc{fM+e!8^zJB<&KHo3v0;=ZvYdcu45LDS0ijhu)`+bVtk zyim|Ql5rzX14+vfX2a&-m3Ys_x@dW+J{X3{; z;`D?j4b75SuN(L3QrA50y6& zy>)co)`0;->=eUrLeM3CSo0I^`q~A1WUr-~?PPwRS*uS1D~DjrLw&f)Te^R`9qWi( zg`|%!Y1X!O2KgkT-0aTb>yc40t}EDhJK;#HOUYFSx=T_ke781 zm%O~AcsP^$WN1OUi=IZNe@I8!`w$0gt?duiE9)<`#zOKGjLxap@H}peOe^|eU|pn{ zB7J4q@NJOuQS#8(0A>Um&kgsJZqo_wRf*TVz?_Tom(F`f6})Q@4mNoW@y#4Pb7H(Q z3^Y4(Y9!)Zdq6l0I%biP$jskD>+TRxIY~y9zlJ~B&e->QS@HFSBhKe{p{KP!@yx9WQ(n95Xd08AbJ(3U zT#)*n?@yYTd3@!`*dg069sTS>v84UGaa?*kriBid3P{M?#*Fcs=#93#QZD2jHIKl|}fz_R?*S3SEc_t;ujh;oo&$m!V9Hv@iH9_Sd;25QAq=FpRn8}hdD zbB(TpwZh6~rwIGASG+5%l3=&r_NE}c7d!|7BBhzb(bnQg-OVkfS*mNm{MnP_*2=4| zPLj)xZzg89pwl5cFg?mcY=oaw(HYY%?Db1=2(;BHKw<@YuxZRV2 z+z26OHhMh?f9d=-+*K5gK`S8Vm$O;Ftqlu%#@vU#dvR72w0k*8l7Mn}T7rV)va-X_xuO+$~(w*IIn(c~98Yb8riy)prumqF0eK*O0;?x%03YnZEg_M_y&z;)Xxf z^RFj+EI6kMA@AC5$hfRxhS&XwhP`aP;gzvZUN0M+D|(OF2Fm(Gh=09$(fO8zg-ngYhKvjg zkjfNiwt=*U^Uo}~&lXnEj)ep`?ve0LVl=?27-Ta>hFGhRwvz(w45g14i}O`U=>?-? zwE&YOhi%g)t85$DR;KRuW{+a^DWmaNRlkEl7MWOjWQOb-E1^y?ccR}qF*o9@z(7i+ z^}so=`=(9Aaxa6Hy|-as^6##`=u(AUl5K*S*x|5P9@6cw_U%qW{3)HA0141^*?$h@zIZye1zVAPJ0=n>KuC6=@yw0iX~ z-z>;0e%aHDNqbBa3KSiqZmi{9jMgaJz@sz@3x}Md48_5oFocPn;>aKZ@mAYvM=jPorsz1*mj@K;dN(?(PiE~ZM@M@EvrrWy`92E zOAhD<*14!-Bbo-~tKSWuhzQx5^{$Q*LfY!Ew6jnYm7Z4wTaLuA5D6 zlH(zT2!3z8hb6}U0=W(PE$eOL@aGG78M%gxYGtMi0O|JRc|BU}8@i8(=Qn$PC6Ok0 zg4cD7*;h5}yjVfd#K7T#qQaJmI$(+fKKC_z>sF3C1{Pl*o?Tx|pOxskeb$eLdooeJ zqR3U4LX0yg;PJIyX&z0h_tUy$6X)$KUm0GDG4!^;33W$KHx^Ee2P(`Vu9WaZJf=Sr z_6qN3t}T#{#>(}=kVEK2-$;c^l8Gkui8rh_NMUeFQBli6&snZJpF6MHj#ux+el7}l z!MB)X`B7;VG^fCQ?gL>aOsDa{o*nL+v-@6h%rIkhtwT-g#jTleiIp$eOJ?k&W)#te z!K)KU$r})~tuFOMLc?N!*=w|mdjwMYK8?}6X7(L7Y{if2;H5-j+w{{Bba&e zsK}jrAD2}29MqaPr@3&E=>09UUH6>0=-?Ig$b7}o7p$JBLKUOs{hUUv8JGWG-P@^tAZ?{SXnS+qgG4?u(ybJL&8zyQV>7w*0d(W%RvQXZuO8Bzm?{ zsc*Af_RxFpyb%X>40WY7DO3JXk~#jN@vz|m-C<0|L6WSUW~aV7On%w3 zEA`VUS((<_R>Q+%m{k*1MMg%*dQ#n`g@kT)$#%^0iJSvGv{()%W)oT`JB#a0Nu%H} zAVaUFg&q+=#1OmKa`I~QSRUZ<(SX=u~eXtDg{dK`91Vgg!(9`jhUpv;*Vk#i=;uD}Ke z?v!sv2J}PwL5lXziTQqjiLxb*;%5I~Zu|gu`hkUFuj1hDTbV%!09bzDr5+zi5ZNui zde4M1zm$Hy)beN>>*FvD;0>dto#tyUZ;i62eCI-+!itW~_hbME<9PEtu6!*xvvXOI zF~bNW3^)%LA8QNMGSZ+0lUkukbeM1xP(f}mQ&-gP_saOA%ST?r-ry~=}{j`g@ zf0h|AQQVscH=~+-CfxQxXmiK2VNw8>H8-QYma71Ad-%Sc8FfZKWx}jdADP>d%pN8k zV}BK?|Ag+$x!IN{^z5Cq5wZX07cj6$S`Or%bm~SVW7VutCpxo@h&5vvrf@FHAlGE_ zE*jY*k<*g#Z)y$+VnvlBtT)XNvB*Im~g|oOerXrj`gB+FwnhV_uv5$+hqqA#7GQwYF6cQx@g- z`Lh^?l_jcP5h_jgdA^C}?x;8wS|BZ7fSn^gJ@yn+OoGqUl0xJ!S=*u#3+HmTiHmvb zSf51h<7RKthvIz1#w*mitAi~gBPS_h^A2@*JBrhW0!#gM`XS)3u3cwh;?h<)oI?ED z(<2v2q{hO~s7{E*>I=_7w_6Q+53?_Ibq-!AwC>ZUl*J7eS}#9epKLb%-U^td?yLX$ zj6Y{_*#+Pk{X|mdl;F^6A<9m(MM!}Qn}GhYmDOBoNXn=7?#bs+@q{@Hy?A05yp+z0 z{%p9itI}g-+mA-Y{?({I7jPe}QrdbA#$XD9JqHQR(W^brl?ia$kFonOS(@5IsXieW zHe!~0i-?cC^xEH%;5SEw&Cs##S~|YMD54xJu840$cOo}{<<*G|crAcX_A}w~A#*%w z?3Uu1w$q~yD#gd2T;@io_s{#ZB`d(z?7mh3eDAcfCVz~~5%*UViho89C1#7_GF3Ca zaBB>G$IU%|e-i38pJ<}n@~XUuumhNQ236;uPn*Wy6FN{XI_XYLQ;Kr(^Gml65eh4;L+?FKVV zWDH^y#(l=oy^~21WxbZGA4vIdztpoIE+dhhC3xMOIMazJ%z!D^)XR$0a~#OJqWd=4 z`P91)Bq>Xaj1r3CL;SVAgZIsAz`GV#%Hj`tTeMOY^mblkk#Sy#PCbJr(rK% z;!*UG>8SIDei`CH8aaUyH93-@_Xqer_9Plc^AGh^j=@_Fu~@3or9N?Q@<6{Bk(PFf z&$63WD)34@JnpVUYe7y)j|gU(>a9g>I8W$AW(9Cm9;kTdK0_2`%~Gcyva6dNs6R&e z#``kTwy?zz0-f{^#28liS&i)(+@^~=dvNrovOMe5N~p|K(=9_k?2BkHE^&{VkisTK zrXyFCu;T-6s}061*jH4^o9BO!eu++-G{gIkBvk4PK4G=e@xaYYS+hI+{A_w`YIya9 zkgyq;iah>6aC2!nEUmip@dl(p<_OF zVWdppgL^Ah8PdHmzIr`MTlr`tAx zK6Y?bpRpt4xzwqVBR9(HF-H;m8xQHM5>eg<9yr*XT}=`ldVN1O%+P~VYvH-y{g36A zJ?b;WXCZ?)??sl{0P3>-t4+rC7gcUEOI!3k3zaA7a%*-0mffdStS*l-)KA%Ebgus5 ziJbC)dJxfi$#jhAtU|hsp3k$zz;CaX40dR{Ng!-EFRwMU`PKX&U4Ien&qgucky&DK z1Bs)bQr11DpLJr$bC_PC9gR!4u#CtD%jm~ybb2pzD-KzDy8#zQvFf!vS1F+IAZ@a% zAQ7V2rFxC!2-FV`XlN$c{A*a5%lDju|EH1jHh78=a#<=4x!S;*3U9n>QEu5HVFwJ>+Il!Z3ZQxy5d~4}cKf zz6M$3V4937q$$8dcO}ffNIf#-6T!)JPmUeZ0r#h2XsDK-DD=MZIJ;`Q!9^2HVTmQ= zM3t@0mJcqzj|=~VFAcxZJ)%IK6^ydqQ=|tPV_(x6uP6@m3QPe2Q(B^2h;EtfTCFNB zC0^F^bdKp!>^i*J2rOsjgY!+Dj{~z`vLK((p3Lq|5gPLjU@!TSFaDVExy=2zDA-3BV}(pyzNW>rrc!?=HGz{L0)U!b7#$% z(vG+6-M&-C@tr~j?>Xs+ijPu+jntvG?R(@sF5HW<4+|g0Obc`SXAR@~@g3SDb#a!G zl1JF;J}r4J;GAy2wc`c}uPe@|s`y|axtcaL8jj&AAQ0beQDL-eBL-!93(2um6(fug zA1R%3DN>sumdp+oQ)M2WS7D~zU6>siZzOZIyw0^c=@l3nYWH?vrUSU8Mx&z!#t;^+ zH}+^vG#^vxtU8a$!aqPb7QCeMQ>!%Sp_Tqw(GSc?xqJF>h8T3-gKQnIX&{fLN#?kp}jOha2W@r-MT!`aH^<;zzbWyQ@occa{ zW-wqFt#G1(y2adh69mSiKAIz;3LTX(cLdU$L{UmBL3tu%hq|&-_6ujIzyS#O=ZwPAdH8_axf8147zU7J`-hWj!J34dO*3ag)^}Xp+PRTHOorzH=iCR5L zL#qT&TpNe-7m_OrrdA{ma z+m)5#*|K&L!{p}mLmZ_M*BQ}xB8*!@?KM|#uXTvGPRB6{fnP}Ig9rn(;b~Xuk5q!OH1Dt z^UNQ1m8rdv#rhRVpBSAYdCS}#ocELNsGJdExp4EQ$ZFeA>9LUVcR@Tdjo;a#Wnd9$ z+q-))k>X|%X;sn?i0F`2Xj){CVUY%|wM1})0B;z9#W{t`t3Wy*R^kJ%+AdjQlwwRhBJao&ogT`Yy0OB7_4%v9R4 zVHWoy%K?6J>%-hlq#9(H%&fb%b8N(EZ()4dgDKlf&R_pv3A)T&O+Wv-sZaXf_I0KU zb0tQqCQUmPFk7qjPDp}2l2CF1xLieQ0OKY|Rsk&9^xY9aoIZ8L9C{D>t?ruy|x)yXho)9H~F$DPI|_iG2IqG z)&m4BI?)pRGC|Fzp7zyBAN-v6On zrDSP~g8haAOLvDVd{B&6yE-I4c|}r?q^>>L%@vv z*%#1X5Rv}u3+S)O@4jrJ!$14-1JVB3mmi2>3KL9|{fQNJ{ZQ@wz)1h?Yk=ReROT-^ zbIK4zOpSMJxITNW*%%Dpxrn5f%YEKzV{2>eA{`~`{g;#YKX2?{rV;+#*HD_!)TX0f z`wn?c7NO}_bVOPa;D$h}?*oJqw7S@3;u&alC4+_ozEZ*i&m0Jr%l}uayMHU!@7+N% z#s%niVQz{bcBcuju)Ipo@tqP~MY9}ro~R9~_&{5NqeX+T-1QTgiOqC+A7Iu<(p)SL zZxN@&kp@7$&rPpFu5)x2|I*KYDFwUDjheyp?*bqHw@K}P55~Wg5gZ-C=Ah|89$*c#M?ZZw zgnpwajoV+m+xhd&+=r6c{>Bm52 z0dO#aTK`QR2!yIge4;>0@6}#gQSkqbCNqWT={TRIH#LWAbI?MZ*D|9bRvx53BT(@TwwA^A;W)_3gBK2m$<3)>VK&X;<0wA zss9dQ&0pOGG#1#Pf5%(@^h(|MGk%vcGi(?7hjcB$I*ZXmQxZ%IX~1pGqew9SxcQiV9d zkLSTozn%q-^qKGBH8%87-tBV~h+Sw;EH&S7C@-HnPQkIpcC#njo!(xFuOL~yMTggL z?RAWut$42BB#S@IS!MA4>q!GS*ZHAwu3Q3O7NS09*-lsM+ zzdVb&6cshScyMU)?sgod)!2Y-G|%*6FKz_@IAM|amM(~on=nVK%s8gi;}tVL=Ko#p zWHU)AOPx21Nxms?cREE(eVQhpn~2Ej!+&gN|=aW0+HllbnMwYrU>l2L6)Gi?`l5`^S z?yhj@E;nlm*ek+wQ87!mX0-$0^7|aV$8dD2&v)SlFf?!e2Zc|4#4cq-wrY_o833>l z@%em;mARJWum9pEG_R4%9Dq`Nn040v{5Kjcd`8dbM7mG;4fG(ca47VRlI~D* zSbE|F+My-c4Tn>S5SiAcT>{h!Nw=oe?Pi7uid^_fr+4Me`cUy)txmHN&(#<8(t0Ej zoILGdC~fVP>F&{8a-{H{!t7NnE}qxtvkZ;NK|Q!m%NyO)T4Q#c0aRR>Z1SLhZJ7Vx zhau$(ZA3G%VB+01sc$qV#;AbZL6VH0muwS!c$g_(o+JpZ+E0b+(U_GX|*@o*h|oj3gEt*X9y`rc}ZR4GY)gNF{Q1UO^o z-J>5(A^IUnZK7@lezcK85UNp6pw-5PJT3f0MgH!PbQ>R5&MaKM`r)|7Rq4#GmEpk$ zD}C$QQH5y846)I%@H1C%lfbJbh^sDL`}(>_;b^yc^(Jcg*UDq7Koc-GRumOfqL7{@ zC1vD3+E?|x?rrX;aJNN7Q3-vjdm?CnBo4of!}^P^k%b8uo%>l&VvJ!R5k9!E=g4JeS|p!tPr zagt(DgA(+}KL*m~It8*%9)GCgJ;Fc;pUJsW85S5qcwnriRN-fgOSlVY;icgCGb2)x zTz*Yqo*p4RU9o)reaF=Az)W*#u|yxn)WH3&Ahd&iwc_B_4%~p}@eQ)XJuj2#JP86x z7#G_wBpGBGrKB|Ev0P{K8o58`MK>yDc8sQ@S9Ujr{$}DKPCe@n0x&*I#2BA+WfL#^ ztB?`U6^a{Uc&(^|2PrKZ^IJleg4N3>0ajpb_W6Z+q=oRpGn?sdn5yLZrz`^Jz9G!L zz*Vi(&Z#?Y7aBUNr1BiXd%;jXnq7NGwo3>Nlfpwqd1x4U+P+9WV##{oBf#c7Af>A|$`yKDUNvD&wzkg>XvDAEJ` zcXt=dPE5yf5zb2nUMfbXv@4VGMo~?>ugBLFs2tQ}6eND}vhs1*KZ5VhdeKcPI!IHQ zqv+@r-&IYB)}K+;>*#yZ7lNl=xpWJ`RKr8})8PA8xW<5Vt|IkGVB7_^zq^x`oh0~z zZ_CZYG$+$7S4>PZtb5?_H8-bk&k69J)9=2>3?9$hu8Fsvw9#iaf-90}m+sdV>e8m% z)_OyM&m;%NIHXr}SJgrwK8s*EJYZ_^Xt^q_F_n#+^S&PvN!LDrRBmTcpwUXE*B5LR zMR}Y;Rh%gqXtJn5%%X}S`Br=8E;_Z1VccuGXS&|;+Goxvdk{7H(}XxOf5cFr>h}G9 z02kf;P~3m3u@D2wh_r{wWJYIAVfts2^1Pp7X9l4h#^1ez{QeLlmvwej)ZQog$BbC# zj0{+cks;n&Dqkw>wrk|Jd^GFTrGRsUbrSZ{{8?pNR08RAE8%Il=G9(Aek^fU-;KJD)TiJmD8#AvJGS*|XO) zdHC3g_BnUGrR-Y2qu!!X3R7pr9({Gl{e&e@tesvg;+`mZILAcoRsT%fBWIJ7k%@WZ zPAzD*_Sj$wO6m*qL`!)+YM0dIi_jv57=Nw_(nwUe{@L=nFw`xV=_)M za5ba`hzK2KzSbz1Ggod9GjI4=?sm9_ZdyVxgm^>WeR_n6jniiY*=WammgWq8-I6n* zHZO>GQ1hs$L}z;BW_55Cx?&rnwyi{G^wImUncHJ%khjy3C7Ic?YoEk(fR^Q{CA8K# zTY=(w66TfX8DB^JTv-^u6BBFj_1Vcev1*0NTa>~pt4@CSh>VQBo4a$CFKkrL)mL(e zdrK_Kf(lJVj|=5G^B@X?oiL^Bs`}TA4|uyW8HeE8;@?rVmB~i78&yl}Jt0dNG?7PG z&BV@7@u?ig?u?N3)cIG0X}h53{k?2UQxDy0YJ00##d{bHXE1hqtZBhX8=I3rPDDS> z-7H`wLPWQBNj)~+7(<8T}IkehFd!0>9l}rkNUuCknb;a?k0i zV*6{Hxx?-veT=y)Bq}>N8_9gCYfZ*_k#zDcX6@Sj@?~tfMu8R*=aZg(-24 zX4$Ja_QPf38;PIh2#aV*^^tQ!U%Z5Qfb`^<>)lGQOV23^=O*oqPg~!%7al;*e$x3}n%l%e zT%qRDku9WhcO33jXdQ&y331I z7q&X@KWIcMj1M$@cJ6~|)OCtUHW7sr*Cg!s=DIduVPq-ybvsH}u5reZ5lb@-1#>WZ3$+5+*gToIRf{20t?BIZPWea7v$pO(Y19 zhf@m^cdR)?x)b^rfo||G3rXVX{BjayYL|LCIv6Ggta+jMvlAY@m`4xNyZu~t;_L$J zdtn`Y4Wn-UA=%B=+vUiReTtF^d0ks1o;p0}b0bv-(q?XK+_-lg-<6yjWkxooE?rG_ zdS}1vnph=^v(h{Sd^$b}>BH}#pFBLsUv>HKb99Y<{3e$z%}>wB1e-|c!}zDJbkkDj zW^Kqz8M9qco~}0yE5l2~F!bO!xpv(SrM|@IXzzGZ5{k1nBpdZr{?_2Ll7z@b?E8Kf zi+(QZDKwg*n423ImpPxKfg~jR9=`UkFMOqs#G-X0W^BHhjURJb{Y<9xTyy<&ZoWNZ zwa3`PD3rSIyA10qQ?-xY9WD5v$F0K}NFN++J~^rK<*0#~{MWK(AZmtx9$gNbzbpmU zda-0Qr8j-6BYGS%W0fJkz!oEatM?f@H??|dACw$?stjEf7HvFn|ps0 zCEnq9w#ra`S)-oN;4~C=?kpNjX!9x^mf}F8vCpq)rq~6(jE9}eoxqsxgb588_+g(8 z1PF!*O&v!jpAof0_N`8YjAR z!mr<>jWD)o`o1UIF0lDsl=RIy8E3PdjqgVV?;K5jnP<3@hA97#RrZ*^m*eKiBQ5mo zV>`k_qTX|5VOcR5Y2bH?Y!?=^Hu4%oT-8rgrIfOLD)S!LED}uC zSTi3r&%!3JA$de*aXpTC(B-`v3NCpRo*O3cL$uh^D;dfK=m~-I8Wj>sd*`b(!a7~R z4#fM4H`)`Z;ir8u%T`Vx$frHuub019t+OD@!PaTCK;fDr4dvsuEXpIfb84s`%Zp-a+`FstIG83PAu_OIQxwyG; z^@4NlRkhEqeTFHe&Wl3PG^OiPnCl)cgYVTrbhmJxA}&&yq2}vZ`il1E%Z%111aZ&N zGT)|`3SZcOfKNP%-<6-1T0AMGWF}j}8EadWhfeZV^Ro_IhlX&)v(G8kHM~$w8Wf?%X}hk%m=yr>@qDt8^dP64|LPbJ>vJ;8hkhSRk=TvN&B%7yUr11?STMb2 zw)0KK;L7bC=F4+9ohyiX>T7d$nKm%bN${HR97P;P-;m;p-BJ6;Z!%Oob_!*B zarvF$NcxK`idN;4w)p(Wh4($80x_efLuBtWtK8!A+hHHxx#m~wZAJ(S z>zmAC|C+Gc+c=?-Po@S6kTcPI#iX%v>WoHhC0bG=D~|jgRH~Pvn`m9F)xih%yx0}z zt>RAR;Xe4YP9p^!nq>^BY@vKYB@mXss;lRTX--heUQtuf4u`y2m~ko)+GAG~iU+u; zGHy~zB2C|;D?JT0@lOF){MV~cX_Clu2aetXheU*!6!Sw6Z~*-7sf&w|ko9#XPFY7? z{4h=%iHhDO;0gqvW_~gSXi4rgx*sn2pm#-c*;4gX48>NRrdB# z7Lpu{cLJ*KflOU^6kfAu5wT4l74>d7&U06Efv{j+?@Z=c-(#fW=lX z=T8|J_t0XO^`9j-)p_=Fq3&t6493gp$Q*UOX=LJX#Fo<4dpqsv#Q0EESgIw<-`;RU z5RHI*+nKXG};L*`d0Op(0Hqu5l%*Nm9Dn`ED+ z(Zg-(>PL7ah%`Q*eALwXW2&t#Z*4U+FN-Ej{Q%^)!%SYgcad)*CLs|+4zp&bXW0q9b$PiC+lz0nH}0QIC9B^6^*rL7!~6(6t9sc7+?g*`oY?=)3~&y)XT4 z7`5Q8roPO4!S_u32>#jv?gd}nw@c zFiP3l2VOeC$19H*A{D)TmxrAvy7C=xF$of3E{~p{UC!EGjUB4=t9U`*(R+HML>y?F zex8j5&SBa-bPFCr+;WTbR>;sV(sexa?HWW~EkMFIbmi4N<*G?`Q9qk?%-#79TQTqZ zz97uNX&7h6m)5{B4tG)~XDYc3A~t~xkzX#o9rJCbzUVz>U@5`k`4n=Oz%+iu==|YI zRitu|_WO$Xw`|tNM-wE6rz&~3aXpQS$<6ul?%{vbv_d?|N4SWfcOW(PvHAJz4|$8# zUm7Y(C`O9V;Hr_7;{THqqN4OZ8Dz>}Q7X*sw@Yg()PWK$*NHf$Jmm}^t% zwRzOo&-wswfN}MqcQUq()gICb%dq=%7DhO+Oy9CJzY6hmM8~Wd01VKQc6=CN<%DHc`+(mx6g(tnhCXhV_6)z!?d>@B$73)vqxf!rscmcs8b z94Gm-F|x5_S@qC{(*kbt8g?{w{f}APpP+ollFPIiIoj|aceNX1*uO(Ahc8b~CUF|o zi+)Nrl4rFh*x(OM!`&OEj5TWd_nb!FKS#guQTYrl)^1svs?-WG0E&!%zuWK0L%WxO zcsI@VzB^}d#`!dq{a1Q#>y=$sDKksckztLo;4qnnj5MRw0it)68c%aC0ENGdb zucbYH2|PzKk;HTtQTA&kjB>eiLl|lc2JoNY*ft@`rS=2&=zR8MUyZzUAc?Jay{OMlPtc8_I7}5M`cHm(gE_s}#lZfRY}+$u}xi zKxClT3}P&%#{I{kekn!ty`3jKS-(67?!XkCr35t9qPc-6rD2Fn#Dya7P&IoQzHz1;oG1D_le;VX^b=Lc9e%dll>{X!KLp>3(UYxbb@ ztIjm+X&^^r%Za|T*SYmupF%~NVQWbnU#fe}_1nzMM)r)zBi7e)*G?X9ZsqYtW;C%q zh7-f&K1(gVIC+Rb8k^EmyEF#@hu8h}X50yXm7QxhHbN_1rk@I?-Oco`bFe^7ogQQE zA}=20aSp;k9rjg<_v%=AVSK1<<72H3gNw8$ z9)HS>R0k6a!$KO9Yw~Y6a!*Vo$e%P>PnxIhW%K*|>wiopy`=N2oH_pW!6!YH!Jb2A^pJjO$htodke2Ctr^8@`c_ zfMchFYUGLw$PvczejEa)zB;nMm!A+vojD&yJz=rA}o@ zmP(XP2_Yu5lF0N!WUqv5GewMbrVi;Mk~KL@8?wi-Hkc?$ma#>M=_LCymSHku#(jTB zbvoyFfA{_#zx%s?ocrHAJUr&R&gb)9UeDJ%#-dwrBuGAK$#~I#x!yL9V2RNfdz%Zx zwW7~|_;xZ@zi@Zew=p^tb7b!rkb_S-&WWQ-tvd~upz3*5W8@Z)Hx4JSswKw<3->7o zCMPC~lTYgDGN+cH_OJT-zS1KH`789wpSUd@^E{kv^&nw>1&YV4BO=Sa7!Z7;YbD<# zzwe=FF1*i`?G~JkXTGl+HFd|-I+CyNA@C1Zqy6v!7?Lb2B-g0E^l zWjbumrY11&F#}&&F9n{Yc2fy;i&zjMAV#c8Md!HLrwobh^A#8r>ZCNK&SepyLWILS zw^QG+w=~3XEv0)(0(Grv2c_}v|HD1*?pO=^cG5j&v8Xio*k&?AHF=fbGhbI9o}8(4 zhR`H?A6}xOlgR%6)uHfKQI9-p*`E#z_L-Ay?Bk?sNQXiW+2FsK7xws21~(v&#$pE| zdH!mz`pN=;amo;R z=`Xynu|NbmT2pkYV*JXEXzke-z$&MswBfP)WDBv6)f8 z1S8vzzAV~Hkg~yM!`5U&A`X?zZuQphZugyVqtu2ap)%bOAJH!oZ(B>2FCyUp@j!ms z+peWYom-BQldv{tw`3@KPm9)MN8UOb>C~DKso6=eD7WOB5x+JTuiD2ph8(mXBc9l! zskT+HN_q16xUIGPtfA^^l=gDOKlF=QTqFScK%VwA6ZDb&@Zh_0Xa*Xadv0w{aaWpp za?;QjFz}*-bmgW!#q_j=V)NRS zgn9Ql&Fapdf$>CN?teqgrz&Sc^o!m!H+1*l0i3Xxqu2`6qd>$(l^6SKlL(d7d8%~apkeUd4%|G_G%V<`C z+qd$&+jr>_1XFUpii2iNzk!vi2uEV880k>re=;K0pMF zU2iWxrz|DE&Z^wMi@yCOB#SRp)6f_Tk|h|xf@9KmH?odf4vB`(s4o(*%x{FejDe5S5S4M8Fzx^H}4bPU8~k$!z{mNtH$XjzqV$``LdZg+~61NlfJgC zG;S=_pmr5szd`DskMWwz{q4N+BUuL<1GF1?ekzld1^#=66qy$z9)5kfzI`L>nVPek z=G=^#J`$nw1S_u1%LQdp=_%C#5H4%`vH2+x^1?9`im8yziIV%a&Mmg=%uqG$z2eh1 z`0WU-0X7ji+9h$ZP(R@uVGp&AoRq=7xu?&usyS{Ebf?7h_Ip|9_fOAv1v5WU*8bfc zc*#xDdUA0x2*SQ0JXTpSQD>|~@$Jd6BGz$_meut`#Adf7(U-@w-ijCXm-gn`7GQQUS4 z^B^7HIR$}uD+*liHcT;@vZ@%lR14X+`JI6+4z=hdXkX&Mv-CQspG;zMV;gBDLU%4d z5cKfw?V%wV!S2=~~^69SUr6 zfuj@qDm{SokgcXaofpZn5b=l#YNG{>2an3ykk1&5?WNWq;~HNaz>mQ-Fa5Tzt8&Id zxQ8{iZQZ+NSLhEp158QMDlKwbstsAbbVsn~+7RNppwx=!?RrEphyMH&dumnA;JcD5 zo|re)XXAtkQoh=hWgmNK@bXmU_=$`rNwEb;W57wR)%R6u z2(j(Jq`y@eoWPIYpMav_R-?^x+Kwp~Mp_h21TMP{&8Eqz*$v`)U27gy7qB;Y^b0yI z&%S}{iJmEaUErgBXLcY$pK5=DqoLqUWS--8avm&A4VSB)Y8e+LZ6nYVKi3=%S65wq z=r~d<&5Go0z+K5EttUXKlBj3np|y3`Z>Pw}`pP7*bN7%b&})Lol|)uBp%Z^Rds& zB2A?SQ8Nye8mOcqSTs{fbv{cb${&J2E!X#z1NY$bLw<4Ic_(t$@O{PDVK+|Tnv@>Q zP&WGsYc$A@jmg+9yi;XNdg8Uthy3|AO{KGU@w~E-y!H;wv(yXJcA6fQUPEX_w|?M; zlPJ-Bm71hX$ePH07u9Z-v!`$(*M=8Ou8|0UQS@+P`RRG#(~sZfM?Gij6vr%&^Xslq z?%`xn^>1aaf=<{*J*J#jOH=JS&$M<^M>k?MO(414$V|y=Y!*z261yUWqH!-!tvns| zmtTr9>o;e**o4SjmiQrg6PHdrvth!dJhJbzztD0vdRHDpd`L553nz=zsi>xOS^T90 ztxq+TVr%*Yk9pF572(IZW%nP3Mqi}uLwO*u%VN|sgo|1Kfk3iu)!Zz4S_@rmXE6>niHI4h@Mm z(KY_`9(TvLSEd;TGo>rax;!gwiwN-85Nb^e)Ns7(M7_RBVaYa5=1j zP+jS+%<*m@0e&_ua4`ayEx_AnqOf-*e!v2XB1hdksVu#!vPChO)Z%{Gz zl5V0CjZwzfu?wuaTtIou|eGImA7LZRyRMu5A2+H%{);bX9F zKpa|^z&0}uTEn;ROZ;jq20a$peS-d;1uCZy9r3U(A7-pm(TjiV$xBMxNa_K8J>m(W zz2zQF2d}w`r_(bAD`mIo5fgL@_&7I5dv2Ffi+4YqyxxwuF_RN@0#osWIKO9Y<-5)+ znS@yqiI->CxMMVpLGX|o4=zoQ!dj|%l|+>eBu1B?M+F7&qGhBEHbg&`c%!9F!4Y{FZyx={;)V}ZgY+8+K zEODI+D|qPwcVch>ysZ)+%>|PgH*fOK*849o1TUHe=L<%}K7%Xdweop|z9F2vUVFoq z*FwKR#$5Vz5T7zSHGh6uy0`oj*Wf_b_CB%D+8&w}s11E+ERA<@1BSHfQV!8~KKX(a z&S;@j0bKI>?l1E<@{VSq&4z1@h$bzLg7;hDVIEvuWO)yh4LPmH1J2c{lAa5-6iRGc zs6wLHz*@SGlw*mbhI3+oVYdf=`==55ncbn?;;crQM=!_@fs&f;RdY`=?1rXl{BN5H zSR}Xp_U5Aie>BdCXC78S4ODqVi4$&+@CV!9w8t8a-N~3D`NzW8cn+9^E)kLV?$)}S zm9V*phu!SB0atwNVu+z{d{6E(E|2Dm1DJZKz)6NT&Zqwx;r)}vm~c^WbIN^+otc% zwe|raHm4aKv)VBG$l1vokW-HE1TSY4-)aN3Zzno@cmje}?1D2sWEo0|1aS~h|9_@F zRB$~%LDy5xMhGmo8dTJw4iS6t${KKFx-|6OnyD1ANqpJDhmS>{R$Y7I&qA2F|o6;D1C&lotKS__>!$$FE`NF`T2)?hq2706icK&qs$hw(MG$k@8Zbu1a zggYvWIycHwwC{!83i||zX>y+i3f1xZ-#{h-u0q|`WJeg*vg2EOsQYw7mUVxQyYL3o zA&@e1BBmwybq{^O?fx6b*$i>Yn8P1tWCU`EOU zzP3u9uyy2D|M|&k#jevZP{bKr=*rpM^cD5yjm^!Gna$8uLfT7qiKv8-yi-hfk6m_pGU&aPkJ7`Kx4^V4cLuyzqFr)@?2IW0^#1r5x9O4h4 z9I*Y_;hEIMV$T=Q46)$#xahxFoBlew1kC9&wvT{w#MgQXKxKgKSc#jFzN@`#hotraEm7zt?nN>I7nsr=F+z$B{DsG5o z=Wqsy+<~%sP8p3|CWuhDczRFF!gACV$~2nNBG9SY<8}1+0a;@>BDtspDBwJKU=D!- zem*fjP1WmFUomxH1R16?vX-+(>WmVL+>K?bFeT>$h!Y?Kx|I&!PK!dm7Qpt=BWz3M^6dLeZ`R7AyJ@nbyu+km!npTG#@FFNb(-!@LpBaFr!T@chNG`S?T UWzA)Ht|;B(2FJ3GocsAd0aF!3v;Y7A literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/report/label_build_print.png b/docs/docs/assets/images/report/label_build_print.png new file mode 100644 index 0000000000000000000000000000000000000000..ec8985e02d63cd3f29f361314639ff094ff4af1f GIT binary patch literal 548851 zcmdq}c{r5q`v;C|k)jfr6dAi1MJa?V+4p_y%VW=;Ju`+%vKxjW3faQgm$5G;!jLWd znl0Pd$7J`tRnPmW&+~pCzvK7c_xL&v%-r`m*LB_Jb?)cunqYNRxeMfU4(}+Oz;PR zhBQMB1s9V2zWNOKCU4etx)GDET^8~enhTp*d8c50#Za2f*`R^jl6eHdtt4u2R_e8Avn>Eqm)v&=6H zcJ`s{lj6ghDw3~X>D(!I8msc&eAmFm^x~2vaQo+<2JnqkxwFi@!#rVNLjwb+5RLn! zzu%V}oR%gW4;DI4_0Ok(SK3#)SzlbTbBvQi3ObFd|Nr-?TgP+$HjTQzH1d*U7B&d{ z`_)U5R#c*rXH)uFV877<>qg7`T2hfn9xqKJ=}xha-l6@)QBJKu^ZAZ zt6nfJ6V1#{I^wCOTEy_1WmM9-{_A~t7vA58Q#>$5#RUVS@`Ji91PxwYA06+jdtG8r zLve`(wqN<@+;*Hlxs`NX6nEOej<99QQ042qQ3+SGqlq}+!Zn7Ze!|z~>pd-OmPI;q zGn#Z*-f$YBp}Si8oLwlfqVp8%6gBEa9HVwERCqCN#6Go|jLSX)k#7)tgn6HJbxQWZ zzIvW}g@7+?>#L3dE+ud2xr&_B#Z&(ao!!}ltQ-fG{60#gAp-4~2i z>Lvy1Qgi(=rr%bKrss0BQ;Hk8Jl~Dy_6kquBI0XBj8Kc&k)T4M9Z&R>#v*=r7_!RY zOuq8fZG}Ge)q(b&3A#jV^>L6x;_sX8q4-k}5bQ9TrFzltbD#dIbNKZUf!PBG3q1ojdpOP-AxPE@Ref@&u zXP&&gDo#XgeZw_j&-}#zrBu0k4@1vol}JGj^DV^;Jlpo;Nu-L{ zP#^Kte9_^~#GYDg)~#|o;m%}X?S>@>+FHW6B)WN(%f4LCfw09#rp$|C0}^PxP5o3 zwmU!_&s0*|O{xZN{MEU2ap{<4yiIN2BI=mC$zJ%G_-zwrm!2=#pr%=8#3pku)XXXJ zKe9YPH$El88h;nlUap^NLqyGM7{Axqn>^GH_+Th}<^ERWe9=w852gm0dOGiS5jKo< znzcdSGH-Zw;6t@v<@R_v;tJFl;Z}q!o&wn3RBS^`ith+7loJ$P4za101b?Hy9(2kk(`1v!L zE=ZXi+=G`W3$%uO))9SIDU}nd*}%px|3j01*`qA2A5W3DJlmZ%xX3~@h}Tej7Dxdi z-&cf767*bb%Y9a^7K+X0pV3!3*nI7y7MiY^-q> zM@r05UeC~NMNk>po0~fDp5Xr`CbX%|l*voZ*U!hA6n7e|NHv|TR~X5zD|v#1THm*kU3S9Bla5+CM!ViCm3PQY2-AggIK}sq~mn%63mypR(lh)p6go z$lxkquHED_|o01AaIs&PPIc9($$BpRSb`zS<{E-ek^)jT>ccxo>?-P?iy>= zq>-j^;FWp3e_Q7tyWEh>{nI|xQHcupRFqaDh85}$bZLl(k{+TkZM}$<>X)~4zBz40 z_rGm@lRWmwGz=^*uBOjjYo`f}yop~CZOdG}> z*0z$_!bj2AdHKT9hDg=`a(H!BS;NdVMXC zsQpVK(eoOfin7wk1nv=M@j|^cAC?Tr#*RL*bzXyr>61kkgY1B-!a2p|3e8NIj+5NQ z<%&lPPdSoz_R}xf2H<9^%LL+U>((n1i4rRPR~CXyRB+K{UQ|N2X^!2|uNhN1LXLM1 zTUH>Al;L7d1oaEV^f29if~t`+A9xGmT*A)o;y;VsGC~8S^xG{ zX5abYy-{^zC@kLV0bn~I;;j&v@55(QBGH|qPk3xA`@1cc1NR03dn0a3gAM^vLBc!e^A*1t#fI6Vwq#>dfeF=KTz9QaQh3;W-sJaucPw((cxAKI5XQwzPJ`Z6y zI(zkox^2aLgX3bfltB-T`!X7D2P{Fyl#Z24ppEBV78CbhZg!J5Qqu*zDi3#5h_XWg z5D>fYo3U=YAaPfj#B3E4=o3zLSk;9ZzJOYmoC1zAGFOAo3>e9wqNlh!ZmmV?3&Eaq zxMfWX#}yp~N3mxL-mdWKQh_03y8N@;d(Lz*<{BU!>t=be471kWtLDc};%^rw{Ex`v zteGJ%&7u~c5cE7nZ1Z*>sX**+RTq|prpgVio8`WEv&y)^spDz(fbmFl08P$$#$zjh zD~gFyyj(tOs!dS@rRo^?F>GcCf?vd#D6v7la$LO;eL;AA)frh6Ic zW(BDQPa17PZq{&QsJq(z*JrpSs$)8_%FCs|lmAZrsdiji^CC+bV9aPs4=>G)q75?& zlIwgtmwMu7#+EWH4)@D%I7G(oKLfPqBtKnuUofcV5x~A&EPgJ8bjH7GaX+2-URk!u z1anIvwvz$jFStB?fQHWveTgdwT{Tir8lvZ7sGLu}RIg!B>|edlC9W^PN-(CXyDOyS z;T%es@RPCP*+b~2$J5P0`CQ`E-X|?Vv^0k(A>15GfiKHLZYm*Bz2BxU$8YFa$Av__ zO*DwU#+|2fnD61}I8m~O!3Sybi%-WCf7l$h;8U{w!%OM^vI)EM8cv08EnWE0i%x{? zmBovGwxTz6T2}66q*h9S^0-vTE-~Gb-8t2rrW}~1NRAa;eOy>72};Awn5R3~y@hZ) z$bG9tL0nX|w4jeC*Ld88JT8#KKw((!em*E+{xVcaA(>B3&tFHP^l5n$$c~-%U z&_`v4#=eH0Ss9B>RP}Qq_n>Jt7^2m;SmNQjS_OtfJa$JzQ=YtDYe=HQtC>CCc;fPE zt1r!LbDO8F;{@mg?l3GTsXex|ic@CSEK(J#_`~G<3SZT2enzMxhH1^^=mLs-itjSG z+^~82#G59|YKc{JqWyCW7o%d$@>Hk_zGZb_-Yjn{On;X{y0T7Iu~B&gYMiIubX#%g zt&>IWqp#LvZt)>#dbyU62mO-=XbKt`Ol8|DPm_{v1x;r+Mo+?SHsgscTdpfYdbvQ} zO=New&-aN2Y_&5cF{KVwvbTMPZAMI2&??_SMC4jkW{NATkyW6E&Ky3{Y2d-lmjio0m^B}+mi7?)1H?eFh)U980UPdHF@_f+u0TiF z{bUK{!b8{Y2pSle0WQd_fT)`uP|R2#VYMTJ*A%^~ZSJf2wsfEJd^8&B*^-MVGb|fQ z=)_}IZ1U{wqix;RQuc|<3^^ZG!*6i)oG8ZlzUae}{l_?5I&}RdWzXijc`d&j&a@kn zq8Tm(v-W-lTv7Vli6nZ6^_I4#0Oj5@Hia^{-$O#nFzQR|BC42ze3#usQ!rhvf9|eh__vDi(WZ_mdF#I|x8Bl9?Q|JmrGyoG?RX3rgnYs8dD+H%~ z^;Jw}p>7*@kKzzAS$6kj4#Qs1yoQ69G_v^1{;qSqHb;FNVK4vWZyY-PpJ=h$c`Vi# zewhXcV(+~-??V+Xi4C_d$!a02-H-&7_)FKF&sSL$_T-uDHc5~y#zwm z6;tce3y+ePLg0Nv>&Ct<5i$6_+w;q7SM0rI47m2zDaPLtCMU4Rfi;eZ1#=ygTgGt; zroB#U2254YvN8P?Pe(^%u&54g(SV}0l8yTQv3FaLc`K;wi0 zRTS63MVEM}Y*t`U%?68MV4AOc)i?E zHS55GA?qAH2CeW#9zbQHcO2YhUKx9HnN%%e{3KN~+IhVBtI_{Br#0FisRp(T(Czf% zJ5MP?L5YWYDNmh%P-h73s*~Bz6AYg1Vg2luc(GmN`pvxCY?abx1*1)#NhNk&l%5x<=8n@?pbM(Sg}aU$jaEw$-K25OAyplL;0w%heb+Px&(Y`x$xi z9$tWQ0Q$_Dr!sw3{qtO58Jl+=+b3%o4qA_U13bTH--)1~dAw;bSSFhBUFn=eVxuaA z2pJgxB=DMwe(rJ{22K7b+bFh@UyduRd&L}XK*(xZ{vv;C6NAA!GK{Lkdm|7&({6rG zR1_<3YWcp?kEg8p#O>a1;~d@3ksJot%VJ}?XejI0cnY7te})#zKwbMNHB&Z(NlbU^ ze5dBI{QaHxFXkSngX;Ess)WIX+hWp4avjSi4fG{I6?Z>mklXV%DfQQCiI%FCr#ABk zI@S8_YI09#bGk=eltEr#%wPQ;EgPx=%pOr{v<^5WUCV^8hCDqhCsR6Ku zA-Hhk%?XdKz%w7Amd=jIH0?6Q@>IESu~UgzTHVL-i>*aWs%fRweZPCw`K`k}b(Zg@ zG7ZYE(dGMb!Gk0thp^bzeD7?tNG><|y#kuwEo`mK@w+T6kj})Y*vFVIwKb~NiSV>8 zYi8qd0b?Lh+)KZNz@Xyb0i-l?!++9;g%n3&X_xDuTiEYn$_45Y$ckq8i1AkD961k? zLk!sYE%s#tvB8|o&hUg)bLlG7&HtV@5rat8O6I0{l2oiyCCIax*kA(vc7s$AqMZN* z$_Ld|Qo^?dZ*!?R#o1ZOohk3^{@t?`mj4oHH5p{FS&HT&Q{3#M!k*WoguLVR-D=3x zFHXI!u}BGQN1yKH5t{|VdU)%iWuLGIkh5SZy)7L-YkD&qobf1D(y*)IOE!A{js=$6 zF~ppwwR1TYD+~-`T)knFeb|#kJS3PkS?NG%y1Fp!gG6Rz?kyou2&tvtd4!;im+!P? zey?ArM^h~j|2p)8UDJUGt9VOjB!iawZY06Px*@+dq1wt3-bv;hIfT|>bL07EZ?`G- zuXRs{(+iH*`_;Qxgf)1cWyYrvGk{R!YvP6hve-=(qSlPb+UG2C3I)%8VsL8dW!r(H z>4tn;C}ok-jy3Z{w$?yUyixjAX-=OE9=n|L08^t}1U#7Qxus8ctrSUP5bfbk;?lEv z3PWb^#OrD@cw~^SOT3W$El#30ET-MjJkN^O4zUBoppAiQ2Ehs4S$sLFn0AiYTf)>g zv(>Fijw4{xlOGfk+5J{s1(e{*W-B_5y}~jt|1mJ)ZB9tA^JvAxy2pM;hqVpBGXl?% zIA658>+5IhjZO(_R}M>TQr!w@UA8@8RxX3wIPv=EkUKHsAt=tX&FC9a4jJ+x1$orp zo@tPd>{BZd+-tiI1`_xc>e35~Gd&Z4wGpxJtIiRzG)xt~8hybD@Zx>x>2w&W?lhwp z?ZdtbeUdN9KQOoXDR~B8S+GDT^y>_DnygJq^0%?$X8gpM12;sfTtJoQdMq_mt_)^i zTi*pIUO0%UB&EAhq5Y%$_;==(h+Rr+o^FoT%_C>4kNp;Ly0VhCC46>vwwL1;^F=oM z`AIPEHd|d%@#e-zXI!wLALKqyJp)m?Z_H{?3D4S{CQ0%sL{+!Q!E8BWn;7<4Q1Pv2 zrAX7ge37(fN+4h=@2tdaO!#K|Pa^teE7x5Y3}~g1xZoJ1^LAZ5cVD_#>sYnq%D?`{$lw~K+zfz0A*gtZ*{GH~Z{g=2Zj18%fTpA6< zksXyN(G~7T(9`necKdEOl&U!N0l|$6 zgRplMvPEGPX85fs%K)rEvFQ5Z^Z6)s=4uuoT}XQ6nYo{5u26(!TrvI2nPM}VOYJ&C z4Qu(wa~AciS@1^m=coE7M!qOQ*#i1z%cBK@HraG$hKVAn*1}z#YMPeQf;x|lzG?Nv z?Nm-KhZ?rNejY4|Ssg1tf|riH@rxSIV1~>AM#w4{rN$V{+K(4=TMAe_TULc3_~2A4 zpX$4_dV0~Ey4-&SY{!Uc*)Wdtk;?Y**y$5x?um6LsGX>)D8u1j5h+3I)9=jZ=SCz? z?38fm_*0cL{BGRTZI-9z*OvwgdiOl8S-Qzd+AVo88zOnUnF?OorQC;W59TnX$}L|I zd9#YUbl0j%5eD0q*}Kyws%}*iIXJ6Wh3`ptvc(QQ-Fi-qWhKtURbM8hj0(Iz z=LD+pIUvk_Y@2(r$08#X{b(Q|#vxuvx0)ZOeg5NFgj6c!*`u1nHLmW$9(ZLu-f{9! z`=j&+yZqRkzwD+m_hTMqbkNLd=12-UI<9V31WC+_-JrXUnDMlsfcomH-$-tw-X+b8 z8!xsg=SftEKGbQ&F=`F>HN8x{xy^ZPZg4ka z5vnmB5K1d;!p)ht-^HoO1`@t?^IK!(^Es$#(p-zfak(BpdtCRF(*NM1&nwb#jz)_N zz1zGNvdDk-d=&(y&3{EDBezggH>cE?RLer<6u01+M_uQ=5d-X|Uo3k%R?jcS$XQ}~ zy*#GEi#sm}B}gMvIk}Ck^$at2^Er>J znx18DbM>-!B|o~bz|cMh!7AD3@LJ}O4}&tqv=syG|F5YV0K7aS+O64yYwuz0yxoYM zomdEOHHUMu=Cx~Z1;Q&S{_iGUa>(Ya!`;lHsRT?g^yB58RnZz(ZO^osNIq#~;cNWe z?lkB39A&a6UTu&EY$)p1?`3zhnk~2C$6VVMxaR3&pS(RIqhsiv=29sdDk) zuF=Jfk?f6W(mvdV>1Ez7{G3upd4|oD@Yxdm5A<3qc1g<~wvNkM+&QuHJ#SPG8T?=V zneA7L!PwZoG>f5t^mHwxNx|N*DZ`!5e}7Kv!<_)WVis7hA_jhB>l+JtSEvMpUS?iE zOF}NzRQ)e$BXgYTq7FtY=TSh*^c|`kUBzOub%$tpG;isgptuN(W{=oZTbf=G^qy&f zEtUJEj$9)+&eXF=Bux&dRsbHIVq0dfl6UG?0lF*_siJ|XyUrkOyP-MptGxhHQ%MJZIyw}RFQPxQGBtWaOpv`1krnbmm#&YuY{5zK&}2hj9_@}D!6v}{v6CU z;1eqqR1YXQ7(bD|ht7An5mYUB8)7Xkvb_6I7jlKMZ&a;G`k?qr`Ry?M>8Zj1e$V%hb4zXY6X z8TU$nsPymgG{BLR;xVx3c!i6<&*b6Z0X)FCR>F2;`@U4M21>LHo#VYp;F)I?Dk!xcr=+Hde-yF zE%ox>dmhIjDP&};dwPAkHAjaOWvb*R_k47eV&>DvhO1q4>?JZ3|9lwSSv%B_xW!zK zn2v3;1b6GWaOqTO=s2b|FAH^MXXWHgA{53KVnl=CXOU-lXliz)Gi)3gDO4e|dLt!l zcLv1sJgi7*z2zFoRurZZKXYSp5vVbfSLbOA#i3Vb6VpN%sEp7r-L_;L6j}>k8BZxv z7t~!@#c->#j!3;K)E|CXczK6^=0l!GXS$M!usq zJA12mgx!u-^wYPPVA|+?z+U1WcDtfBK2d~b-^)2XVd$jm<0Rz$mP6`1(wO^}`klA8 z-xwP4=1W=YWj011dHV`6}s_KRQX?GXnbAN_h1(d ztLO1|Sdo`^Jm9fh+Ld~UH(ojzotGA=f>9AhAZ%4Y;YGeLRM1oj~gwUU*1TcL${uZ3}1C>xhbPC{E%=}mOp>`PF#)o zhL#b+t=v7$(-;DeE2qdx$p*xBXnC`)A?fD7gdyK_Nkagk-N67yYG29_ra9jRlU;$n z3Werg>9)}0x%Q@A*Olj7tZ%GAn$HA?E>cbEP?Pf@lxE~byebzpW zZTbrb?18>~e(4~WBX2PX+1Iu9f&h1B%i#-=rN(6<0ruX=`h=eIyzd%SB^-ZGw~Yrq zK1*>Uixdp)TqTER{ob@bu3cFDa&O~rM0Q`;h_aV7b!_iO<~#wGmiEpij_pj$#bRyM z4&ghHg@%%0YlYa%FoAAX4`#Zzuv@Y!7e*2fw(s^??pV8D64m^y<6=6ao&OM+b9D9- zhwEg^w+)IG26*(pCuN7>4_+o_T5B&~pA8nRXNBP{gOY~li}KfAINb60l+4SzS>$(U z>zJDZ+p6JQoeH4H)FQHRG#aTpfowCoEvBR0;6yghNBfkWVpRvO?A|vL7;Q?OS0BLe zxi-DBNIK7K0#AKG7So=N?IR9+_wO$KIB5fr7~7(sOfXEDUAd6DCzH?VoY7JC4+X?U zFLQWRTKB-E#^oG`%RE$G;=b2oL=iAE-oq0}XkigQb9& zBI4Ua6@-K}GNh?A2#lzpY_+-z&FAFO=mE#SQAX)Qkd@j*yqnAIcQjEUV~FTn`PcI< z1v4{rYTtKRHJ7{Y!NM|xbEcCfLD2^$-t0QX8n1cSW2)QMp9gC14(hq=F!eN#16ja7 zwS*srDjx|3lGgUmwQI9&1K(FClEo4;3d;p6cnf5&GY7HA1Q>59k{@b$dxy4rI;P4k zoNd?*H1hCYju>NI%JGXFuG1K9!EqvA4aFdjM*y=Ict{Kqm6en8!Nl9DdoLO(SBqrdql@QLXyr0Jd)fE) zX7d!+&KC?dl6f85faf;~v>(rSf%6jDZw&Y9A>5H$vHpph7;n?mRM@JO1St z9FOkB#nppWH6y_6mm{g=#zYV=?l1NR?1##+!M_{B<@odRDvA0g9Qw;ijWO*tskmY5 zRAbCbC5$@XyAo_s{$k(s^Bh#hz0D94C?Z8Q#b@W5T8on1-u~3{`Cf%gpj(syw}OBB zlJlJ6Ijd#dyEh%&-fBkJpfV&WZi&xsIO7Fm)ph&a!aAS}75~zOYEf8jcD4qm#PT)| z4Q7{A@rtQ-Eng}Mi04|e6s!fb9f7D?ZE$jQE;+kJF}^>6>?HqY!Y2xfagCx3YRAr! zjHV7Hj#Frg4CVe%)7wC22YV?3OcV#M_H@j=O6!qfSjHM{}gHJ#Lpl zp>&CH-r8HIF_7~kK2N=h-V&hDu>sy5m^28Hmjg3-{P18lv>+?#L26!Q-J&W+@4+?wI(1qmjJEb%<>fnxVK#l~N9-dT0~f6@Q!75yuQ{1MS(e}MA-sisS2{qUl_2LIyy|3?R3j+kG+ z2mmqv`RV%j@NfL$KNo>l>SuoTJ%G+wczF1Q3l~i5eGgdPnY7z@FaAMD!tjf-To!4$ zo5cq^{l{(hYsb9J!UD}J>U$vz?q6B|xc#<-=@`722P~{8J6pkuATN2)apn&a_p84~ zxGG9LTIHc6a9kERmxZVLgR0B>(hn@8uNOgH!U{P>&=7*fT=W4*tx|lwPyIn#MRx3; zdWZ8vz^#O+F!1ZwudTkw*^($oWJLTy_|(b&Cs3v>P3|NgOj{n9cl*E3>!|?D`wr>t z?F|4)?QCr|=2NtfHN5dykdKQP?Uo;mx+ZGzsrY{vziMQBYE)h z|Jg$Q)M-U~DPhG04xoW$8l-f|lm7 zu<+rd97qu;#qbQ4q{>aLYM$;DJZ2_u0F3i<85JuR6J%R7zcg_E z)ciL?u41V6h1leEg*+^~x4Ym7z2j|UX^7hBBL?$cVj0LW3y z%Gv#~c|=eCI8ZGGR`Yf5ZIa}#RUt^me7I%GLhM*b-qO#1nvW{YCc%|5YM4QuGvx8e9OQ^_BWoI`1k*Uiy zMjcC6je&4PZ;{%Ve++giUtWT+&B}Ca0K2^Y*VNpc5QAi|`_kHj zf!K&WMcY-NV5=brpfmyY`7ris{W8*TDc`Q0&ofm>06IxtU8g3EtOBZOB)exP4tM%x_g6;* z7va!La1pK(B$3blyCQuBO2Fi}GvO0aVi==y8v|Jar%@Drm^Q|AhC!Oe)f-Or6Syvw zy$&%1x30+tHMNyDLe%sid4`6K^$Taif<#bIgA~2uNh!zK#P%Om`W*!wMgj%7u^;EM zYUQHV3`bCCo{F!u&tCTSNw}f((lo#V zGrXsPf@fwpKqdW2o3@LCF9`Gf1B? z1if<__ucOEmrbr>!8;FNvb(%7NAp3kXb@(^ecvkYU&i>*m+ME1$L!<=9> z8Ecnt<@n>Q^q9%gAEpGS)TWlc^~dhMds+3V0DHkyOpsrowDewiSs7JOC?Ks8Qdyao zeyWKCqlDmuVpLvg!da5}GrkWA^4ntz)3FtfJ&L}ybkay?ilHU8;LzN|5ngPd51&q) z=@>1C!gY{#NC3{MMDUDya9VNQ63Usg^XxDHnwn)h9UUB#tNjt;j6bKLaTfr+s=Iua zjGr&sSc&q0(65$97;E10qA?>oZcnE_;;Ye)0oAZ(Y8s%wbz5wG!Qbac%vMK?O`^j2 zu4KFjqFh&M*BZ?jUwp$b6P$V))Dtew4AX|UN;7_goFBrM0pq@`>MX(RjYk8bD`6_Z zthqm^el#^b(zA#oTg4?Ka(xX=bw}2)MU~muJT!#)3>O;-gVcYwU2FEKa+2r;3&00W zb=p{gbe(3{@rp55n2am=p5A=R?MWvJRt_;M(mU}Q`KDTTe`5=17VvI*7H|ZP?rb}C z=v?1|8pqU)Cl3S16N20hCbhaX3X;Vt(6PmWuo4M@E0DG^1__-e@`wjaHTx1q8?z;b zbAuynX2_6qb!yR1H>8X8KF~)W^1O{uj7<{e$azJ(tmIQ9JlUS7sevUO2oPaYums=? zJC`)*M2ofhcX9mh2;<2Lud`)$Pd9RZGG0uTv*lQ%FXYKDW(#H^G9u&h~76Rz(%Ovd%NAahgLX>4F&}|Z|(3VUK-0Nft1gf!DY_@0CwIW+p z^%#pUcBh>O+-sLg9b&J)Yjk_EEmN0qoTlCzw%*FHGPa2y@k^?SXXd=`_io$HX(7?R zGZb9st-rI5Kv?)ca!-Hqip}Ezi3I3>Sgv{|n2(NZ_UlHYhIh{Nn^8)sq zEdaut&#f(o1kf&fp=D$a9kA@dbNpW4$wG59=c`ovVLmK4X_@aV3bt1t9c;GWcahs! zt-_3khbWTiL&nxGBHE3)#X=IIb#jT_Y0}taVNHy#{!LTHqZbYtmC!cV%Z+1g<}#UW zgp}j^tpQmEOLxS%)O~tiDub5Hbp|}gC#!%YoCL;A{=p1ttYWsqI$2v^_6HE&&p5Ag9Nq?4caR_KmCGHxT(VD4P->d{+U&edH z5PaU$`F24LB^lMUzkD@=DqaF$pT1c^)a_Q@b(F)`8^K_GL)RFch?soEEaB%k0H8RY z6B(TrI|DSKole_zaff^N(9U0E>F&i&ECx_J+Mk)i!$a zGdSLiUx~rjd)*SY@_O}6g*iKXDdKv^&R%)jcwKf*!I5nK z0f0^;;r}0j-hS_VR69fKz0@!4;9%6uZ8<*wUKx>autf=aN;C>%o=I*}x*ZANd*e}d zF{fn|{f{j3T0$--HvuTK_+`|+NA?jRMvAUMqnH=V7*$lS<(pyv2290x^+|=gbv5Q* z=wi=TshuA44a|ZYP}4?qc&@)mwp$@J3uNV(-R}U-UWqFD^s0q}MYbK}&#>Z@=|@Dn z)6%njM>@oHzYon9vA|Bh{my*x{K#g57e9IjnZJ1?T*w{_N^CKzw$Q^vVPtC;5)}mHOsO6y`iOz*l)3AWdf;Z0)X(EtyfE4@G_Xn z%It1f2O%pf>#e}AnA=zQ@A&c7P%*#nx9fq=&TuqN%fe(iupknqPC(PG+~hQEce848 zS+nmUdNo8s!BQxtnR2Ccz6V2t!NSsFZ?piwV}Hcb4fH)V9=UYY+HZPM$_m*Glv+#o zVcN;dh;1X+o7zUQ9B{38Yv>%FNv%8EeyB4;jtYaMWY1jD?q4x#vH+oFOD4+u)9?q2 zEAvHZl&G0a)-Ri5mqmT^abX#;XSXgyh`3Isv?s(I7q>|WJar1s8=M^-9k-J0Cu+TY zk9=2#-XJpXKZH{XGv2p+?e1R1)OYCfZfTh!lyNSv%Fk-@^Cn@M%dLMop~y9E1SQ(W z8X>bv3*O!9H!Uy`JJdG(GR#8G6il9dmxP23ke;#D;25n_7nJ1}lqv1FfBNjNnQ6ab zvfh_Fp|Og|{PN`v;hDq}B$nF>-D$2X@`@axfGdzpRAmG>g?6J;oSoOOQqEFUnCv)t z8~Ry23WnPTFlt7*S#NQCkc1lyI)mBdh#WCkdPnLr$j7_h1*_jL)An;R$8vtwvRc&z zupf5fa29l%yB1+^E#=*P53Rx{5k^HfkNDT0xAD@@o?Z?<78%-y))A>;g?T{PxpHSK z2Su-Y+K=3Ph-@yCAtTvl#JJ5J(vl%wBk*1SuqTexcQzoWZ8h&^b@jcY2dp9MJe8 zSQEnLT`uoUE@kqHY{;NTv0ikdyQ{US>i#IGGYARQ_lt9w*d{6pJq2S1ulz zI9U!CN=<1A8=GN3>rs^iX*l(^RdI-HU4^86cPQt zx;dRR?6U;Z@gADq?M$}pluV)_kq`}Vr=O(KAm=?Pi%foDs|#q+JUBeU*YRkifIWEk z$~=ogbr8IlSntKJ38dboa=!w+tUHEfpST~`N16{qNn#d=Kw2^y71>TBCG`gab&E^e>V8s#H@pLFg;WKcBd*tZo^eD^EB;mX6ZvK~M9V@V< ziLwXp{ra_TkN(Z)(9X>`(Y8(Br1E*0@nYSbx`Ndm^n~FK=C9edk=)DyTCtXtiLafC zBDXhN1V*GpMv*IY*dI`kyg=u zAd-@@HQzc;KjaPK*S-S?*4XLzIa_mk`EwraDxNt#<7Gz-UDk9X*AYvh7}K#WnH`ln z5knQJ;ln;}Gml4CMSVL#2L`39YGX35=hruv0>haD4PU;%9?*KX9yN6BWi^hn{}Qmz731vu-rI-rlX)F^)%6=b~-+gH#CmuP8;sUOiBUARkkH|u9-u( zP?oY<;T%b54Im)<5PD^GW5iF!W#GFW0#RRI5g_(K!8;K-l2ebm$^^krR|^^XdKzKw z9(*^78yd{F492a7gY`#vvnhz$zPGb3Y7Zy@M;WK={McaWxm;ppv0={Bd=p&D%RvD-4DQWk3ZBiH)g;6Hnf{PC(!*JqXS3fA zOhDT;I2-hs{yHSNtGq_yjoA1W!h2+Hq0hT%E?!rYfsfd!I==Aa_W1P7c83`=O)4B^=G(DnSMq?SBN92dO3XwpRMg3WJ+qx!Q5vYL7U##MR#SA(- zPrG5>zCdxfWtgW!$a6A~GDvFdLaHfJ0AQHNmMMKgzE3*&i7vA4&*hqyIawTbVffUI z;%{ShD(HEt-UoxLLYf>dF2n5;7beHsI*_vmF}g=VZ*a={~zxc_C!%#+1fd}7Y zLpxXKqoEmvOVu$Z7mrcQ3UcAOz}E^y3bEVY(k(JW-50o@E$>u42%M(-Ykhn*0*uge ziAR%HH}(S|>uQ`2?v>Ylz0&R*GxBD8vcX&4fl`g|Y5=J9SECK`5>R^*r4682v!5RD z;&%p*c7CREY8NYF6O50ITR7N;b+tY3+DMHYXnF>c@kPsUPk_j3yf3MH^S*uHH``V- zJL`quCfALjz3GRp$Im8$I-Pc|%sv_aI=Jc8Ib3f`{P3hRCM`vmXCql0zFnEGL+uX8 zgT!fIYc8bQSVF`E+T?9u>a$g}5ZHAF*RoQ=9jk{tHiqvBDb|)sFZ1ep8BU3rOeh8e zDlqElhJ-BxhRs;@AT-Vtj2pVAb^WNlU32ho7Rz=aHMKbCTNts{w4_r|jXWbYO=H0{ zE0v91<%`AZ@>xH`deZ*k=90~Y5n>sNl?gbzOO>+!D>!BDn70C43FNolfCUs{oB=^nf1eOU$)U(pvGx_ zi&mO`J#=3VFN!eU7<65IASlEWCS+Fm6v8=W)=`G-`0|oxcTywqiNS)uyDlNidxi7X z#AZ)(ei)cu?137R#pW9UISJyjdV)m{;l&vh>m7M(_&2j%zv_BSKW0;MCqK#)+VD0M zltlvP4-b_>Ty&4Y?0mjj34du>@nSQL4oBRex5&1$xA80KO62qa>=*aU9X)i%(zJ*L z3G&q(-K$Kg+V|Xeb`xlO=b_`K4qCqy`Fy1AjKO4WN`3xv_ng_3p~Ps~i|eyA>U71s z%Pl&CBVs%NOy|zp4ZP*WAQ=GVK9ZMUL_RJY4+ zTiqIZ#sJ`X{p}Ta8N%CqFg4GueW|@eL8)qJ9N$~Ui?TkR(HLLy>s(q+e$!;_*sO9IDWR4zX0rz^`v6iu{9raV{cqkY^{uN zXfk1%UzS1uhTo1oY$rQXt zsVM?G%fHa3B7r`$flJnn%WsHKvoz;so8L5od?8d+j_k+H*(BInqd#`s@U)0 z8n=CFn!fC=Q1q_6JU2}u`=nh!DGCgHi3$nqO6ur(vfpqWBATa4e*b8>d9h7K5ICU_ z!Dz~Se-d%a;)6ehQt}uP?rQ@SY`9HEO|~$9ZEfynHJ6u*)q1VXvYO0p;uCP(Sm=%i zKjqT+oF8VldUxn>AmCx@{2k=h{-@#|B?{+_>mB&y7#cyx0ogz)k=V0CE=}K^d;5JI zob0Ii{e^`{5Oj-N={Z0SWb$UwV`hFmI;&?aXm>v9t77AA7bWWzA7#e{;kDa9%gAo~ z833({z=hwVIBS1s*In}%`2GYeUd{MxU|Mrk)s*$+ZuTXddj-k9&)@wFMDUk7e;Kt4 z9~*eo>4kw#^0sdkJ4|^HJw668Voi&8}}GD0XX@+)aK^kNXHmo=yxTVz=gHf?Hnk&9Ijgotd*iz`G$bf?EC z*FkpPbLQAdTT@;>c5RQx`?A&oVdr|d(Ri~Mek^1 zb8m^UZO2*3D~?t=X6)hwhi~g$Rnak{dxQo5tUJ^# zWhc4>Q<5aBVo)ee3VPT6x2pKVp-AB{@KVRk5}IYKJ|cLy%j4^@+38)A>So2Z)z7kF zQ>1uUU^LxU2id3Gfud~QdEj&i!T6uOjMcS-d5Y9`R8a&4Ignp>^TR$rPg zy2|ya0!?;o{WyRHlhM&dC#en5Gte zm0Oa1H{ZS(13KUnb+-;ggv9LF0%9$JR`iGxzZSHce>Q0NQ|+ylwTsR=fI}k_$Rl1Ri@bT%_x~{V zmO*iDTeonO2o^$c3n92$hno6dba=&7IP}IH@?{urZ&g_-iQq17B zP;ql>lcrNxR%C5{Gd4MSw5L&2%T`cgRf5hKinO3-Zgi>5yV;+O=ZX_-U^{Q)i3dwi zQP~hw@fn|ml^lnY%|*CYN}ET#BGu)`W!}05=yYf{?r+q zyaeNi{}<&7k7jx+G)Yqu8rn;pwi1!oNwsT5&UE6+)yL2G+^&zoTTN8(lD)l4Ro$J4 zlA)iNJIZn|F7BipRgNo9OYUE!_urdn?fgh7L*_4hF@(XG)qda(e6U-0TOSk6gk@sS z@yV!906YiIsigaWeDZv?PgW1oM>77dtx1rwE8j}qMqBr?i8D4Fqsh(g z5_WAeB!ga3!UzWt(n8CC;)be{s`8BenLIAM!q2b!k;Tp~77AN%>za#-Vd4~9)1C2J z{GRD2kjDjc)^9Xj6;JCk4vT6(zEP5SaKf6O7g6ftJR2|AY@P`({IK0?ow2&9z@l?w z$uM)x-RJiHGNv?tYj^0S+|=0Sq0zP`k(uNQIq{#Nvi%^S>*nl|nY_z1*oxmNkRg$u z*`(3#9X$llH!)zad~u^*kx@JJ^3KAFJuixm0&yIB5(ke7!um4d2q?!CygYA`epQ_6 ze4{p>I{455E==)lH)fYy$=7Z12whhqk2>2te5rwWvuC!lG1j7fRj|#`(SiO#2xxh4 z2wyW6ek{_V0eaR!ody2ow#13$j|H|yHF zt0VnSIbqNy>{3$RDA7-zC3^dx3fVkF_w%EHt_3iUx_b}IveT~vC8(-BqSyR5Ar{Q> z^9!E)zN^~zdONA&WvTl(>;`bX0Mtb5oEqGw#+~E$BO79OM?uf%>4PSl>4M5UV_^rE z22x=5SnQwx{ven{s?P}h6CPi1^j_B3%t9L*_Ic4{5J!Xa7Bw$Q)p@5>nFANB(ll9z85Sn(J znDr|>P--O&YfXCb=f<3EJ>zLnJN|+Z>8NXo2BnkU6h5zCcjLcKBn&SdS^NNkQ~t6W z@O3Ahii&*OfuvjI(|o?5k+K0Xzkq-UszogPM{{+v{Ad zQDHua@jJn)%PI}pQ~(UpF8&PqyoZHD?cbRASixu2 zXVop5-Rp0!uo~V{ubezYWc-ROAB^0w(yE>nBh4@|VPvRZIbI1H8E6>;%ETvXyG4* zqrVMllyqi*6JbvRq;R0f7sG@kxx8Bs zz@yuG4nXh|6M+RQ0c(+Zc=-}*d<{3N%=7{~Qg=UD!7aPTfYki;$TX^=((SR~pHY80 zN@$jZk!p?a!c}HWbfos*5KMrelkT zU0o@{NJ9gafVFVox!7_Bx3{H*Rlb*31LE@MwgjuP-*+2SADsnlm-}K1*Q1cw{yofB}21tNPoR}4_zHE!7N}r`im#RdGq1q z(o-@n-2J))@hoz;+D4_K5m3q~+`#jXavG0XPPjI@_cz9;X{VMTd3N zO>$zg(@nipaeC!Yy=sg{DMf8EjT<0 z?#(vBd&@9+ehv%>cq&3yv!DC%n_)gxxCc7@%%%vxh zPPo)oauy@zLl7Iyu>7K>ubtWLLdx{UchGiE7y|AU|RKaD@&lpI~;6fAEw9I>C5 zp`bd-${euHt+CO3%XK-~#nMQnB1_$&G_<;-r#V)ct_ZLw{H&^qd)?C9ax<~e#e9S- zR9AiCV5h%uy^>qTIc^>XAV8f3qDIYCoSg2iUo;|*m(AQyJ7R5uMd)94^jkAF-BEiO z+`Qjdf>Qj*4SkWv7^v|(JYN2&F~59SDw$^LNjkHzfS;+fm{`{!4@PE>lCt_Vn$$>d zcF^QRY)lN(*If}4*Zk;dDWy-b`?vtIdxg7de2r|#zM82mEPfjgcJ~_p4DmZr1E_Z_ zSY_eD`GB@MrS8*9ptXM>@6!#8xwOR&Z}d^?UICiB{g=Phd&%vOEYJ(HEV3lbH4Ugg zmmRK79iWeQdp)h@{gp${Kz9H*eEHwH)VO$?O6}ybnftJ9(-pg%uOo>xJPYdk9Q5C z!8eb;{~*ec3!*5Lnre2btzT*DpYoH^UQ|0;OB&e;cqTN(Z)ScW8fF@k|60GndE7t) zyt;wsfMoJ;Pm|Z$)wz6oaoUs~)F9}GmvDV9r`~AYnV)`$`;py5oK!t1|?FA(J7A{eNdxY(=b##&X3o5zj+T^n?=7vZ3hr)Lua{5JO~MCf@O0m- z7vl*k3h5_x;WjK^<3~>~D#GHW2X*TVFa02>pPF#5YH5Dga~$nu9dLDhw+V`Cs&6>y zJ2fgJBe}adGy-Rtiiu0^=QEMKuLc}_VDYMuqB2kS^1MQ4<*r-rBey%`enr~+!CGp< z>(_ji(xbiKJy(l`ji=J&3jPf90{LHe6iCGQNIK;PjH#j%$>*Zj%LJGhDGfd=hr|DHUYGbT+cp(`t5$^k zs(8U~1nfX$5~0$>bTh`~SFhVI(IQGjJonr8+6z(d;{_dEPV&bgTm=)jRrseD<$C+( zb{3D-d)|Y(?iXyY*W-Iu6p{;N7ZgtLNf~Eznqf*zqy?PoUO}r9>Bi($551fH{!V^G zu2ukno>D*IBIqyhO96sve$D`!fKo_KWX%iQg^4JKPd#ZN{TGWF_@Ni;fdQydStKo0 z)m0wW7f1Doy{<97XQeMyUpP&ZJ;!hEf^p9->Q~$@X~}kk*N4lVlG3LLQ5h`vo`_Yj z$6utXIbLMKZySo}gN5O50-8PWPtGEB#4?b<8pT|c0XstcHs%-7N(_RJ3-lk*3bKEv zakaFtD8B!yq?mSh*B4i)-_rl=VJzm4MIkgg`mdg#0i)GB$>^yt;w3I&A=~!e=g-cq zq^iF;%{$xPYB?AwDrV)sEcASE^<-Qz(DpYCl zeXt^=UQ>R+Brz;aCBKlWJ3pzIe_%vODS3M{GP6(@6P%F$&8IwrP+Izyiy} zGqbU@s-z^Rq$;DXpt%0%vze##8CIUp_l}iD6tNis(V3*KL4veTWKLri?pK-RCUIfh zO}d}_YhJfojS|7O^>*eFR;E@7qmDUTtIXYfb1%yQ85G~b_|jRG`0CJ3biHG=g?R)XY0d>+ z-F#T&f3q*t|JJ!b!9iB=`jOmv_B?ZwhU&ef{iDNtnL^_Su6%!X;_FvT93c@$>;0$D z>#4Li0)_X_8Udib3v>EUG^9&iv~3;^R5Pv|NXkS|VR9}P8jD~yaJyz7G2X{DA@dn$ zzfp=c%*&FfpP6(7ab_~!SCoA`HH{5N-~X8TC~K@Gf@oas$LG@)MEr-Ggl*oEUuxmg zMOT_h6p6N{e2RJxT>1Yl)~q&%paw&dPKP*s+1}=v5>^l+URU)D(sXH$5qToR+D7Bz z&HOMxGb1?=`|isD{XY^TZ=I)!r&tj>HPuzh6CN~$&Pnb9?12?SE|B|QjMB&W&sM)` z6s0nCV7i1zsZ6o!Wru_bA zACW<-N&+ukbqH0i?X51eB6f?UxL#~kH{{_SwHGd3D z>!Zkik_yG&O&ld(*d{I&LhnBqY)Nbr5eUX3DkH!F{xR~&yxD-^OTAMlduIo(*WAQK z%Iy1&YyZs-x{6juUcj9qsYiL>uGlSN@w4ptwsYi5JfjQgD!P11$ta93(A799zX5m8 z$U@EI&GLO07|S6!9q-=i)T=}L;&*)Eq%D9wSN%oWm3W-fdGb(KEVp)X9_Zm{&ws)T zGn^D@sZH41T=b3cDv4;vBydAMmW1z z6Im0;&mBcls$L9-CA3qGp)?3Sqh7>vxO<`zg?%~SQH>XiXirphh!+7JbH44qXOH4CXirKHL2G-p$|ta~Zmx(0Hno3%Pjt;ughuH?PI4!$g4d-3+vp50b|G?DuEy&ddGEq65!r;jk2tx8#7aGtxT zyVHK<4H1+n5fH9{-1Z9CLI8tR~G&k_Pex_gE=)wt&DVU`tpU<&UGFqglDCmA0@ZmQCL_ZrBNHlv?%;q#g~#VKxx6{PS{w_y z9)Q0oD`rA3a3NGUe!mU%Ie3g0cllhvIPDv0y;oe9{|o<*2G`fJECu+LR!Ue<3I4apf}K15Z+s8u}fIXw22#g>k|}oL=kbwCe#bM78hN&^L#LJ z=s%mAY7V5pp`p8+L*&vQJ?6F8|4c=av+FLM7k5jG@DS-m>57WEE2;MC&#U{rie*%3 z?A4U1-)htY&C0KqNnYR1II%&ejeB1PQ1KPEXPGfLQI*i5pQe}nt;!fr07^QOVY`T1 zdamVu@ASqw63l)W$xANTSc}F+V^CVa{=jW}iJMD=qkpZHK33*6H91YkPW>s+A>liNGJM7sMk8Ok<4xP-qOtK@?aene2$ZMG+er7nObSk zXQKy0@s;BYNinWlu(W(HnGP1{rLyI8)O zdr#%F?7FR@-freoh`FGOs(T^r{mru3P|;uwr3PFO%~PYX_IIGN+OCc=q57?%mXYLm zNrMF_4Jh^NWR~l~q#X(C4eHf8FFc#GJkJTTHiXP})i*BZ+|TmJ+%?Z??*>e^DvO?s zb3Ps=0>*S4tD^n1T@s&_Kf^lH09dZEvEBw+iAA;I;(Nl_J#;3N#(Xu^0RQtJezGon z>H;g@o#vi#M}TDnbGJF!grD_X;lfkO%3?*b&UL~ol6#6RZfy>|LGAY#W~p%uB}JEV2s^Zol@*$%#Av`H}Q}< zDPit>`Xz4?c#%K>5-&183Nn{BPS5Wd>)M#$c6|>()@8*Avz@uQvfmpIH+}wLPa61_ zG+i*S6{3d+X7+D!bK=y<+F%}jBNlMaC!cVZ3SN#jW}fNI6(^>X2MZ-~&df&9@i6fx z&z25Vph-%|(JNm{KCI|bkYTG#6P?Iy%r_i*e0OC8{AB|tbcvX4fX5O}S@$vV1NFa@ zseoME8{*FqfQ=3UhPKUz0}b`(JeW3?e2~V2&MUh^)FBY>Jr?VP>9OUGK$u84t3Ozv z*f%YAOPk8Pwi9~N}3C=2=_pZl& zZI88XkEL(-WK4vM6iWSA6hQMj)?Lk_-zhUG9#}6P_^ci86?uygTTb3^qK6;^8j@Aq zjo<@6D3GMo%CX(b0_wMC%R&8_IXGg){qI_~qn5ZR^`4%qfJ?6~Q_j+QjY1I6fQr-r zl0<_#tN!$e$XgXOWQ%^K(P(9X0@K5Q_6xiVF*!1KtBcQ?Z+Vg#T>2iIdTSXwqoF0h9+Y=7y zW0u#oM2GWebm$j4-N$D?NW$VTEy&;qf#xAkclt|h*)_(tMhU#HWyn(3YhAHZ3P=s6 z2VIZ{U2r@ABQ?3bxhSTg+37x#;Xx%Hn=j^J@^Pum(2Uo!q)zr>N9O|SLH;#Nc!tl7 zxQ4&9!|V!)gQdabL~&t~lgyAzNl9iEL!T5%y6Rt$k)&jS->JOcGdDH4?8UjG%A`_(LoqUq)_es5!Th6Vs~+t8|4L6 zHnQRRz){)32rN~>Z3DcT!1JI9b(>a{2w+hw83zHQ3K%{^`He;(vIa4VP4Du9cw|t8+CYp*nES!al}6c;vt-FR58QRE*ht7-^BW(=(g2 z=lGj@xbn5DhVftxcT+2aRq0PtYvtUJbRP0_9=db}uSP_4mdxH8COtRncBeK-i)Nkb z@|EDitHqE7lSMBtJ34OV(p!ujXQlB6xoW(=E9E{|=y(vR^kD1ytSz&@;dsEtH6E_6 zl-5&N+px0daet1fIxcAJ!Ju`PVXr3B7j#ZZU-Vh^m5R^{cdhy>m5)n(^aJr}j%3N( zrqSD$-5F}OrYf3AobawB1CvDl3HvGhreEZbZ~X7e-J{eZ7CJ+%>BD`&!xhN*c}hHw z&dQ>6JU~8XD!1u1FhXc~FdFnvf@jnNU@6~!( z6kughbtwfFSQrnM0AZ;|J21*1l#? z7lUt)ht^{Gh8SKuPy{<}C!N2ly<-QmG~aQ44EOu#maDDpAZm;KdDL|+)aQd~LeX+$U0G^iGoQMU zHqBg|siBk(j@8kjx?vUmfVMo#0MZomI+ylzWdoGrgls%RK92brM*%RbV8}&`Yf(iN zP)7ttOJFG>AB<}J|5>?#$Zku+tFLnhmuf>hCo2Ox!(?_s1gzh#HG{cLe5MJE`Sz?Z zSo~9Mi6{?*$<9L3cf zOCrD$Mjc?vwF?12uU`vJHUyZJVBUUeJTff`x_ZlyTY!z9WKG%D@db9DbO|7h67qToT z5JCOW+suW#0Cr3S&Vs4w&AZRKlo47_J|MmSrDwYW+W-G?ar}{u|L4YFT1$TK^!{zL zm8qHQ{kq~uFPHq4mO^)6rEof+GQ$i+w70Rcz9Q2oacE&W>He6+b4$_xPWqFwrIBce;ef zTA@!%smw}ow@7_p8=?IvLR*zw>~0DNmpIpDe(Q_jj0`iHXAFoTSbib3MIofvqIO5DE5A zIRq*Cn|AZh4*5@Ato`}@S;^zcgGhNe1eip^N5-*hw@??*d`tZw)ssVv2lEn-v>2c4 zPnxBPu<=WzI6~}aVS?br_Fbc8ydUS-_0j><9p96?&`5q+!=L`{cr|G7#wkjQwN=hh7HiLYcX)xP*BY#AK^(o97>U3 z-v|^JAk1Y8bR^8>P5MS$;=<%3$1_WuXjJd8;+?K{s~SRFt3S4+JEx`)5@-P3D22G3 zZQBJq&ng#RKX)bgFWS|A1`VUiftgh{aCLPJB8?>Y)RbTW)BQ2DY6vf!UCy7t%5J;H z4ndY|jBiy#_8Y>w;@h*yfy^*lj57m3A8@Fzw!fJ*%9j0OaxI7)`_d?y9P~s{>zUm= ziXFa>D5}6%Xr~vU?ba2)KPiOu)6(aBYF+&2o8sM!RRU>)@l1jnHD|~PKATbjwO@j(i&rf#vzXr$Hzc%Bae2we-X+1Dgk5TUFtxSn zc$^a9kYN0+#b_66AH^*d&HAU|)|BaLsAeje^U$szNPS=69)m=fV{_xTb$jht zHtN2DwNN16e$R6)(71M{r!U`rH8}C0R(~q%0I%m3bhz%i35Ezxfw;Kzb}2TE{)^)B zKZP@<##<%r7(O(317VGkt3dqxBCePg`~u$Ri!|*9 zgMbAJ%9OyXP)cG=&K=1`*Ka`kT*b9Coots{Tw6)5*}b&tsM63)BoVrcx+sK{9%eb`lZn2wc@~wHuRiAneV+Tmo*FQWSSpitk0Nht%0aX4eI8nayIq*nh9T3p z-h_<^!71%c)=(r*+y-aJz^@hVByg&VQC!<#$6q>63Ko|Kcy;{g=hnAEzTYIzh(IDTgc` zyYv$@_J#=h)EGeIGwm|J)&>xP3v6P*z_gzporwzY`JF0e&Qchi$v|#?Wwl0DzUP1KtE+Rr(+W6 z6S9^0mD1ue&Sc{=1itE$h0cK{EYBHsI>JQ0;Hy|V!IYQ{O7kAVJ3eh1ry$H}>?g2U z(48~ChoG!|5N~ey-U>@VTK5|y1$`06TQxLU?O-wvNW_&S#Vts~edGit?FfVWMX|BK;=}Oqqe-}iW`uwMHLN;5-OsRMQN0yQa zcBv2T)MCu4ZoeJJYJI{tvu;fj?67FH!f2zyRo%3Xh_ytY^AN6JLQdPu(T9RrDCJb4 z=yqp;YEd-&@|x;jwT@-Szps>1+`YfX_9lJ#|F#Bt@TVuaA(cvN&c3TY>HxSgO{8{9 zG(khXYsCNxTTr*v*PvQ(xgjivO!OFqyC%=IqO(8il;)i0f!+M-h)|j$e}tJ_S%<61 zyc(U>ZOKfruUTY|#4>4o207yxv1OMrAw<Yykyzp(OAn50kj2 zi9lNP!;!v-4a0UYD>maf4dJ+H%(i8#Bj}R@>-!$=qm;qg%n7ogOMAsMXYX87j_hcj zslKEgHs3v#n@-D}RP0dU0Q3`*v+MTAIC>N5pY|G6UVA?W4g4sd8j@94SH1IiB0#cD z`){kc(Pw{;e;z%ke<)r1^3NN_FH|3nrr5AS4Zs#s9;;JRWbg$hdfv$RsxPm&49Et! zyD!5}*{`~!C*V8-yMfWlg>y?GE|Xh}2!6R}12mrnS*q*JI0=67T!sXOub?PCI9u1m zZcGttvRO<&%gSh|b7?nlNWTYgPAy#J2M=L1=vkPAoF#+$M)b@Bcc!(pJH8;)4g^FW z6T5I=mqwG1e1sr5K7E*yG9WanO*VE;$aDGnyl)fQ6@#>-OHX`}sPgEX+&w&lKYW?r ziHNBqX4SOafdj#plvnrFgryj!Rq|8B*`7VD0;@+2vTE7tzyV~cZnke)A$2S3qL z1-`QW1;d@V*lE!P&RGmbWrkM6!+y9MH(v%H!ybHR z5*CspGh1bP7P(Y@9hZPiPu_Rn6x=k98su26{ZpjF@Z&VQBUUThl5;VSiG)%)JGy$> z90)p$a;~!-2Fdv}hh$mMpQ1fZiw3SDh(%FP1zD%bCMti(Sd;Wv)8LrEpr15YP>Vx1 za!0>EEBPfp;t`kB_q?iBnD~-jn-k|UFAQ4LmUn@dxVmOham2x(LkOTnt!eIE^*#U?815-W?2 zR*6xc|B{IRS!!?DNDRmKW~SDKHz$HEjlPNz*ojT>}vIsQnvTU#qy4bTb4f$^9cRI1+vPk<`BOW9d=Za~PAWB8xHSim(#$wt@>yIO=W_3sg6e&p|mRW}@~C!ToLKBOEXXiqps9CmNtJ z-ODFZEnC4(D8xb@4ENB~+}!TCINU3n6ZLF%oE+cW3E(367@r{q@_d@SbkWZzdkj|qfqOH!d2 zPRH+^=rLfD=yv|8vuptszC&AQ9Ze28CtX%xo(b2EDmPD`$`BlbiL zwyX$VB0B;U&3e))mscZ_a!Z!)vlCxvFSqQ}3-7%!wP(vqLX>&0#BcUDgc8RdEPtKGlRf{4V}v1DgTKwBjqm-;;H z(UT8?c}L4W{<8Zldm8;yB236=*v4`WJ`KJq-$NNH!n9>9L|)GN=c*aJR#5xXguX~24hbt0cVLjEtS#CGknzYzGGQKjd4 zcz-?5Qx$jf^z*INdH}$)a3xr2RfypO@;xVrYhrv#(Ea*mu)`vGm<-H^#cJ4Ka*tkd zH_hUqJ1-qADp6z*lA#H-w9G(w|7;ZrM+&k`IDGg$&`MJ6BTOBRp1eZ9W1yX0a;_in zRIjp&Z$7VwkI*uem*!i$cRH(Un_`IYMnVs-`o2Be^E4LQ#a~#cCVZE!WixMn+aRx+ zUKFi>To_Gc9Fm2G>3yqpdsfyT-Pf6@hRA~PhSK`&Sl76B?1)hgiJ!elLHFgrChw4L z{j~&>abfb;qz3AaNcj}OqeLqAT-tE6?ko-4RB5ptZeD_8Ez!r6Po<@rlX>E;`|a3_ z=ZI303~c+M-g^u$34sE+>nBCsN>-CzVbd1vGuWGFt8X-JV`d)9&feLLoz=WiIJuD6 zPWf1H)?E;WAf~1-tvICx&LnkmS19zDj7@hY&=a)>1N~QxmXHvLbGd(^MW>0Dq5=O8 z`|n>Ll0WtpTgF8XHf8?l;k-Y0{+zA>DbP@T?gE-&p-C?~*W0z;(2(_;+MhoM(DYNU zC5DK9>D5Eeco5IbKn37usCd)aBQ?^=CUgg&H_qs9>d&R@ZuVN&?(7s#rUnzLpn|sH z^z?&qTfD{})0^OFT^QF*448EZ$W*<0gAmCB8Utjc@c>oQr5xFsz>$-Q#p8IptVZI; zS*j53W_qsc)~?;XhMHm27b)1U5KXQc@|MP$y4D`8a}iHGd6G!%hCYKm+v_p3r_vP7MXZqN70Z4HmUZ4lTdhEw&@oM!C#A;j z{CYuF`2wHZO zl$6`+7jtkqU@!Wsg-kG@uML2#x2hkttvg&^ff%ly<(hbBp3>IO>NQAYwZ>=BOUPA5 zQUrnoHhA7&39al?reBf#y$_?3fV3yZy85N};*)=nYno#jW4oTeXy7|(&CEjAn^&bR zGg7rg)O*LQGb=|u-H8D3k54_VPV89z*{$l+Unn!Qg+c^p@^HTWfMX#ho*z)cr=R8+7?Oye?MXUeA_L#!0-v5!H`SP z!(!DN9m8@h{)s|wMJ?ex7fqMBFXGAFor)^! zy4&kqAC=wlhu^u&34E_<)-4r;YcWr_Ed5k#u}M9EH;XX(3%&qM2+Hm;_ zE_w^z!9xzC-wAkpX`dw4CaD0&UbFR(vj-&2VX*%qnzWger`YHNPf1uCfaPAyn58sb zuXw!kF}Y$OmN+Noawxyem#@jV<}aS!NATCv!nl3Eo|CDSV3ePiKTSj0K!soQUPm@mPn z@F{USyT@_dWG>m3n9*gpLou}nVozFa6(rdj@qNJm-mMLvy+v(xs=icmHo}4O*6h+C z6C$<{h86L5blBqnUuL)R-N$_-hg}+vH8mF@H1dI4PHwY=ImP1b!5>hm zg5(;Rc!vyxUM*t>hz_RJ4lgo|+3oh5QE6wPj7r>u-~OWgnC5w%mGzpUn%ei`Sp$@x zS~@elx|#^2n>67)lSMN1q)Z^rT`3_c(sQ?S+2N-KUQfyS^XK*{t2{29H+>x-Zgif` zN(39DFPb9L&{uvss5b!57~miM!J~8Cp+Vts{E@l*N#yXZPfPky2>r% z6A#UDAJs?FBpBkOYDvRV8J;ky@YnMw=oJPF&Ut#9K9vZ7^MthoHqF^jVFSM& zvlknP6QH2qTeZo1OuirZ;ATAk8@-Qp!+Kq*$?JOELSW|j{Tj)?t;GOgG(@-5|{-&nO71jWQHh&G%ThQR0$L*Wjl4zMTSuUYvOG?`s!9BCo zEweV0q@4Q1)RW)3%=jtQ<7@`yo=G*@vzi?oHWc6Uu;L4x2Al8q3tDXO?~&;WUd6rV+0;eO#?XdRSycvz*1APqSY4Q$_V{ubgek?4Y2j>56zL-5R7eEZcva}0RNqgG7 zCAikuL!Q_hJRDNm)Tgs$U2jMTL@4GYzS7C7OUQ#V!V++W>v_uKk%og{4g@Up(mHpG z;}{lZY!*h`I1(p8H5=9itL=cT*?(!r- zE?*vjZ}?t|;lVTxhINq#MNJu>r~X`IM`Xim6{b^%6hk5R0|p|+IlV00`e8Nf-39?` zsj)VL`KdUc!1ZjtTMfzAfu{Ej05pUJpb1+rep z5q8#{=m=$bjlZwhtMDiOhVR<%5*T5Y+T8l3w)5S@oU@SChfc#=Z%H53IhonY>B|Eu zyhYqOAqsJbnqI^{r~Fdkh(Tbk&^k1<_74_j5Ee`uZcS^5Hf)$cmSk3|w-(V_5FO85 z25;EE>55jHk+d8xRW90)al+?}75vsXhfmba!Ja$N+a;CSL17Rbo;tWf`dN0mg3D6k z<|dQ~|Dhh*lPS=oT z$17M~Qf@BF3e#JUe}{BK!2}0Rxk2c)t4oq8JvqUTpk8yAP8<320Fvrx20M_X$udUvzlpK z-x!5bJxY23hXU<>y8-@TqW>ci-%XdYB>fv4{5JwQY7Y7Hwt7;D9qWb{YV2`LQfuBi zix&2zzX`ZUUKHO8vhIW{R=XAeMSl{()J)Wl?vMlNpb?s&9@oWz5-gPB*`+#~VJKl| z5{O|MYMpfsy4&CJQ>8DW7d;pLal!P@-PJ<+zwfTi3U};KyO?YZIPjR3S%c~wHxF_o z=Le&Y(-17!?xtlY7j2qlh{if@h^O*@S}VZaFem$HJVguUU5nr_ZL7 ziJ0-(nPQfIc^0TnkNFkhx|AhsRK|e5?TZGlV>7IfFhng3K3&W;(-wbJ|8V3ZP)R>< znj~vfd+dCM;$DvhF?)Bwf`FmBoQd;OQ$T5?b03Z@07G&nL-k`~f7?6_NSglX)OaKp zLWb$No_4tAg=#19^1K2qdog#lIKP`mbH|78213oNWc=4c&WI!%jWsRjr(J`oWe5bRptiw!sn}YEyl6uy=$$R;a&G3e!GnMy6Vo?%C9R+9MMMvRgT>$0T+`Xu35fC2sM7l zlXF9e1Yj7|;`WLX@*&zWZqJ-9m0!?3iqEQmz-hXsz6thpl@4&B<6#&}I)S-G3Aum| zdqo)1DAMhHUDLU&nqE37OH>_o3jv;1HQPTSEfgFgyImojTty{x4K@s3BcH z{eWyAg3fV=)}$=db0_985x_rj$D>2+!+BdAWXIWDaD!t34zQ%v|{h&qZLN~Cg0lA8D#Y167W%b>5 zVoO>p`*d34h|P*HM>s0D7tVlLQ%}MP@$Mndc*>T%2mTt80A z7>xJPiNiiK&~_!DL3Mex%X*|#K9cnpAHWTxUMmlZG9dJ)IO`SdHo35TsVjSyb)5_i zty#HbEflu!n($~rF_(=TfWtFJIvCTO!eINIkdMJy4Yf-jD|RfYuWcEf)76WZqkwvc zXO$6hF>!!iRkzh3^Q`j8?PLtktP%;X#Qei_)XPkgXLsL)XCM0sr{O3GW$q_qi1hh( zYhh*7#JADb77Ig<-&ueC@Srv~rMj~jp!Ays3?0D-2>>X)DwU6J1kg8pgD&vQ9H6hf zM7lxQ*whr?{J)!hZW{kTb#Zl_j6_8Kjo7SzB}X~%{u=%V<_WGESrFP<<1Rm{LMYr^ z&IfLNhCCHmi`XJ^WPcE<{^a;;_9EZ(!oQ>ResS)DG^0_-mPi8m`B#tm^l72W_0jIv z3;Ugn$*qio^FH;<748~JeliE)O8m=8JYvU|{Qw??Yf@kD^)(D9mY0wqFz3!B!ha^2 z9U0d%t|JH)UiL9Bx=wuuKD$qCIuH|kwIefFAzJ68G!j>XAC4sO1$bZKY*}HfXn1Ve z>O9qhoR6UuC4iM-O3Kq`TAek+6xR65hN&Rqt--}Dd$1R;%bhF)UzqeQxssQ%v;l)( z736(3xA^UNsV#Go$`gcl`JQJ>}brk5csN|4{)e(DFBoEZZ}7PpIp z!=QN100y&{)AD{00&IV*=(hpHC}j<1+YYC#W?TUf7s}p?Hp21`DuOIqzJ@D#;tQdQa zbHM!CEyH{f*LSdlmE!=Sn1C@UTKI@+bm% z5wZ|9g6|N7G6Q;tB#2_=as&clCe3y$LD3Z-Rwmj7fB{B=@$_?TK=}CpE0G9Cc${Os z5~0czdYXB>v0c(E$x|CTr*~GXcXtO(U~ea8#c50ppx0>d0sJBiVvMr z#yY!@TdIv?i4toH=<8za4xvNG%S<6pKL(mkc^$tqd%EyHoPU;czmfdNBYGru*m07Y zXql;qNMb2+p^}}Qv=TmhKK)uviK47?B^6s>xdm?$RcBB8Rna*S0-^u?cfT9`KoIj& z<61BOX8f-Lb>ZD5x50wD!NFo%?wBYhJMzr4x%AR=XbU9^o)4?r2oY`aY;A;>b;z((Z5pGjMyKIVA{y;<(pK~eO;@K)=eGLxC*(jmS@ zT&tr9!}Hgo>tDRpaR%Vwdr^w!G4utpWM{XzIqiJ^TuZ4?z4h6W>IU;hR!<8M6tb+_zLT6c)B3dc555CZ8M4%>$lG&6?XF9$=#;zm+AvD4P`?8MZVVieuy2NXtQY9)h+ER8hs(RrCnX z7(tA=;b&){f&ZCC5N39?rAiuTyIVEw;_Y0X0Pby5!vT0vXt@Y3sOF(JW4=` zT)$hSBri)~@m3m;eh*>g_IyQ+a3EWM$TVZE;oA@)J|#yvlLC}q!P+s_ASh>sm|kwQ zRrS;eB^d#d!B?JLh7!4bJs3MLKi@w+%o8F(YyX7CAm!XrubWq1WPgIf#D%1LVJQtZ;7Sg3^c2NRL^8g4y)_jaPy~c?j8R4ZC`2cfE$%6z(;SE#67A1GoH-hs&1=6qsZ-{JoJ9-7ex)iA_e^?5hv@xjb4&Sdu~EZiB7Lgk_~hY z1j0$P&ePO3n?#B}9<-sPx1rod5&-Zo-~8z7aezEga4&Fr?I+4s16};%eEPJc*gQ@% z5l+*QKW0%aG|(^li#CfzA5+_CWW;oq*DNl z66%~jo_3A>vRcYwwK&E_B|7T6>lVpXUr9fQNhx5pyF1?}txP3sdN-uz0V(p~Ap(WG z$y(^Svm=1rJ>Y8Zz9Aw__IZ@6(Ul$>#DO9S=Es$sM-K@DKl&HP(V+}Ck zy}6dk4?`YziH6T-xCmA=R_{wD9aergVg2u4f12=bwO)=jQKI=f0iX88dLx3Qzw-1PkMo75yF!|fA%mfUejF*!!C%*W3idbp z6c}bl_Opx8ku}ZwuuV#N!1DT@tLfzHW4!WrE$6`e1Hz;PZ<04MPT*Q)?(5qOdHg4`3-BvOu|^cW$JNFy=-oV73U>#)vMd6Pc|5jykRD!%d)aO zcz-dxCcF*8Uy6oH+~i%cCE*!3a^eh>^S_tPM3&2laP?6f|S)IL-%lX28G zZ_%HKHlN%S;_C|VJTVV--kolT`lJP{hxkR93HlAJJWKdIQ_RjLHTm^{&Ytc&SK*2ZjeAOX??1lBLH+eh^~CUf#O`O_NuQHW zPcu%X5)H!|m+HNrSu6Cz=JbB?Q4DD~i$FSR)FQzqnBWK9?)wf39lN8##!-8hBY=?| zK@6L6$K7%HYCyNG=ubO@&9pYt_`hNI@0F6q2VOe;ie$!4dP_Mc`4RvdiVM z%|hYD8up7C%E0g6zaQ)Nc)xy_;H*4su@tGY8u7aw4_LX|q#A`zcv4Z78y!|=I>lxU zVedttI+~+s;|vYFa}*DbQ_TGmw|na=oxyAUVNio&Cs*M#GwGI%`EPi=@Aih6n@JVv zOU(gyEtkw0-yh0IJYU+=->qBX^wFnHQ0PGM$hp(TzxET(5b-t=xw$b$$kUmqi*o!N z0jKn1eXy#2cN$aFVn?Ui_;-%r%RtcB-z-bwD;`A@K9JmKur2a2X)cI!xt?p9j}MhJ z#zTeLYgt+KW(t{k2|0es<27`157<5OWJ-kg99Bx*e8pEo%OLxG(%W##%j^jmw`E-t`W0PrXgQKun>gD(&hIE zyH2h$v={Mbbg5u8`U>e3)hQ{%^8|(Sy`^CuKBK!x^u-cL|6cSuM3yNRIqy3^nyDyh zZiLJj{ry<+{g{;($%bfyi6bes;&^z87rSks&5X2PV&pf(>S$%W>9Lath<;3Qf8mz0mvi!8-Q%CHHE6LZ`&uQ(%5aW6L`%fbM!KCgeKoxM*h~xul zC|{4c<7BA6+|Ao+v-X;>4eXRRF5J*BNA@6%%hy`V6VR&7nz8rc8VV1{Ybc}@N-DDlb@WDXfS!+QT`otp7=_-7V{ zwdlfMF%f^QbdQS#V?ZrUZ?coZx>aavxI-4HlJCfqxe00hfM{R``4Hi$bF3s!3aSjB z%cWuM2}A$0&D#{^Z2!H@G@=x6XN}uon#*`$)1g@e4uynuSU9N}P}3}PYlYvXON-0; z8iS@%xXz{Ma+(Ju@v!-7)H}l@yGJN76^ z|D7*j@)@gQWrteCu6D4D%n94|S;jTT7%xdTduQjGg#TIZuN8km>9JEtvUIo56Y4DN zxOW>uRjIe|F!JI67ZnwCHygP^rspI~zj;TG|fx_rY=r;*SSI2uY|<>NQOx;SZ9_~qC>)wfm;yYw*HmyJlq9A zYzGVjGMK}U%dF^2zArupv`dYjOTw@xBi;+wMt*yph8YZ&@g5JOohFZ^tW!{SHm2uk z5^c<_mX;9V^{A<;U}UFLB2Md(XZ<-!$&4FQ?88F0(uTTvYwZ-=FG=gB0ncTwf?$k( z8*t`)`b`Mj?epU^1q%n+y?q-`xS1K|uKY=a>96w4>m6}IO}e1*@OJA^|}Qv0CHv#eZ0zBA9S7n77;Z`8M3ymQMg{e_)@Ax0JkNG(mm1)|iAq%0id zOkRuCa{_NqH+VqcPOrN|g<|DyxATX_{GBQiTkVlOo{lvVanp#%U3woaQ*wx^7ME;2GJY^Oqwr(*mAF)>yfM4d}Ex$9OD^~3RO(Z;2!%*CrxVl ziYVa~5#HmDndqfyYBI{?sbK>WQPy8~{v{u#!Rwl7C$%WzVoBRquSQ7XE+fhU=?jn7 zh60mErV=mQOw7rtSwk6^f2rx=BheQIhIx(Enooab{mc+(7s5#Z1%}yF7tDieD83@K zC5PIbAyEY3HK`13NbGY~tQf zXqiwIDZk=)V95;@b5&AAtI_yM^|rp<&7kEKX>w<}W4`5)w#&60@cz;_1uYr+0yBw> zlx8q&OWMjk*-go_j8OUwwkH4VXoPEMsoeA~aT{m+U~IoyC}R$eHg+Zhd(3cEVJ`R`2zt88{0^R{O(3=+25L)Td3VEMApw-QSjL9|u$&j>Lvq6C-n|@Jjy>(v_DV4+XctMxL^7JYUtGaoZ9XoDg1a2Ki+0yUh_D2Cb~hX z)s1s>xPNI2t>k5k2#POEt0oz!;eFM@%Z?x30%?#~d>*kDRZa={mVD3J-)0w`g=)+k zGl~IGlk?Q7r?%}{WTaZ@^_Uo(lk>|Y`1IE|;nF&Vd`(rwU3AD(Gm`wm6s2*L+ zhla;baqP($w(yQDjwnYbD{e-2DgSVWB3qbKeR<)RrZ%N+e4k2EZC)Nz-Y$-GsziDi z>b5EETa9;;7NH728!J4UVx2CAp(>fQ33PH4iq)G>Dz+uZaMOMHwx0J17-6BYA(55^ z@BHeXKl2B)3f&)0Z^A)Fe)j_k)dr#u4`-oPgqSJr;S(3`Y$-&P!-?$uahj(6pWbv( zzm7k!qJ=lcpr4L?;IgA(2C)!L*oxomE+a6N&Nc*jmiEOd&W%04CEL4@8yRwMt72=X zOQYiQA9g21wDE2^y7JeIVIKfGKG@Zw-Af-i9q^`JS0F}doR*)B$ZA0Wi^W=ooqAOE zZN;B#9`*Bt5YX-4*6)E8UuO5!eDCIBtH@aE=}{q}lh_zXCf@zq-CgXjWfYb2X03%F zqd>6xnH}I&%k8K~R>VW|*sEGfD)s%%PTg2+iMftzFXvbPFBDWVJEItfIQa*_2LrnA zua?2jz`OCCHn44e;!Nt(I~_a0f=@51*HNHSE@T?<`w8;4g-7FcXH^wj^RGC%oVTL2 zIl7-GLg6fu8Yu4~kc8>SmKj!{eCX&-#_zF0aucU|=D$pLV6-wyj)8y^(ye>_oY6RC zXr9_K)L(0<(_c^6(*%eoixb5_(0%zHaK75lDXP^LS(qO8>Y2k7SppH%~_v>kn#DH9VJe*igHtLj_^*HsBmE z!kbfabCocf&p1k7bxu6xBN(;tP|c^engcGAbrhNy zA_RR1NI1(`(THJ(IW8^Ls8M%V4D^uC9>;*X)06UL4N?p#*sv=&u?-(FA7qhCQ)orU z@Le?&dh&kY)%>!}80zzEf_u z5r-@C;t#j?iVDN(f#pfEX-&BkNxyU&w%e^n#9*c(y#=QQQm!PdcZ=QkKa-L6M_Nx3od0dDF9bTgKo!)<+>M}gLN^30nP2P zgYk`(l;RxCs$)N099zOVB~V5m&wLsw1EP)bbz(mv9&C+&_fn76%V6NPQUbDtD`M~7 zi8jX*JbG^@r9S1ZCBY)_Rq2l=MlTA6-(ix~1Ye*Eb);tH>9BS^JS?{&l}m!La&P6V z)PScn4X5tg={*PpU*oIpQCx1}CvgH|Yqpj093oDN$jQ+fbf%$sK~KMea;=Rr^lRQP zw_}4h#HL7>XNnGW_SDr|ilcuAVzS|UbS%J)P_J2oI_J_a;!w@<VGP;K-m#fELj(fl;+_bb(SB{Y(&e)MHD^SEao0@tqoW}ugLtT9^{Lmz^Ln5gt& z?gfDmE@efE$&LnRBonG1uO^*a8txz7^`YC4p2Ea6WFbFl!!FIawyCy@in~9JxAh$3 zj5+&kLTc}PSTj8HR6A7TcqdhTOY+Ui0zL;g@69!6ExXllls2;E7N`x{#e_5fvZR4n zZvrE~*&oijf8OOEa%X2)82+mj*LD9z+~eH1*q|ey9F~Z)n;v$>@~5`#PXTP$C4poe zzmytVAwG$+smm)2!ms@OTiRix z@HA6hPTdW%o@?v~t4MFVx5+bR99hCQ@%#X~gwB2`io%}Q$)(uy+(=)PS0KGUFW0b# zO$>|fbjJs4GJ-{|@g_)}F~CJU9Nh+_2U8|z))(S+c0KHAO*`oWv-8)X_?5S=F+Kc6PFutvzXy9t9RNGw$zNdJ%@e1H|Tw%+_4YG zm7s7k`xP_Mmb*y}+FOhUy7%r^d1xbFyX!8!j;A!&3M8PdGk-|jZ=ny$JX9&0OQV6ERsZA#hZ+^RGPfXH7vVGKskr=x7q zf&StD$x=`ym46HHU{(n*2#d}T=r(*j&H{^PwtEy^O_zMpk0FtFbK3NV)}vLLY*fuP zbS0(-hoV@LS~ej1ske2%MtgMVi0M^PmTE=Ml+q)lXzWaJ3*ssFO)RUoGPJMgcl|ZU zsR~gGW6^bF&x~X*vJ$*){}?2FhNf|1SMshozi|}G@e&lUZOwyi)I142o-2$NS7ix5 zj_mbujH`(AY5EtX`+cCOj>DCS52ZzB3QxByZX49>6!yEH9JpJ_jhe=LSsP`eFXchJ z*)k^gyUkgp0j)0jvN;7s#4==#{ILiE3b?e;pv;|ji!>yu>7 z{g&Nl{vnc@!KwC3STBx8Rd-4&UhP*uEMpSY^4(Wm4-o?;NzWWYoLNfm61<8bD}s;4U5jtLMlv@LIo_0>}_$OH=`mb)JUV z&+Ucv*se6=#bz+7Ns^&2xjTgV<<_lOE^DJD+Y96NlGLQ~XFxf^XR)#3H`|L&v%WI4 z$t;MexuUXFT4rOtbIW&D&xaQ2i##Y24T($Pmp3XFna_IPo4;~;-zQ&WMX#OKZ(Z~> zI{Vf0gIh0*D?!=;Ee2tnk5RHlwGCa-GxNldQK;iaX*DYyqQaa;8n>R&L{#g%o%Jdl z?s&5~h>7{H@?b~(<0-_Y8)5e4(taNMiG>5gi&pB(E}^pdtTWiL6iC0?EiSVrcMUhN z7z6?a&S%L-s3c=Ax6lNJ~2qT z9G7u+J?Rht&tHG3PA68NyBi1#SPi(o4e0iMgj{bM2^o3Wf9FfvnWPQm<;EfS@|lmP zjIYjEb&}6egm2Mvb9Z_kvTwz11Fj|)<%bH3EOUyfi-_roh^dL#?MiqU%#@YIQpo2i z$@(^CzUUO3!=WfpL7g6cXy95Q{h1g1`hf*)o5T{$VN|X^`}#2pcf?}HNS9}mhUpy9c9KLviL3o1o$&* z9k}&n(KZNzgThaQsS(;M4UDmPok1LsG54bVb%UAo4*>lNJ^AJ9@dLS+Q%ocZN7%6$ zauMaYph9%Bdh?%!tr1mInSmo?vm*@=pVMe`-}MgQ{Gyb#LeUn{mypp9D+jQT_{DFO znYEP&VcAw?Mc9>ZER+apF>i|#jN69URu(Lj6A$X`aCIpJ5EqHaEX||~@Xr;APxJDq z`js$M(y>+il2IJI54-oSSw9w4F(;*NVG1f5`6&eXdb_k9Llo0wNI4>+`_X9gH#YvG z3M7s}C|f4P5sp+6vr}OrQnnkzoDRbnHwiPTMqHqUu6PWz9V)=~T7$Q*%CtGy4a7Ph z9%^e9%Jvgp1>GWn(`2KBGxKmw8<7&jc6i3G$n$#Sk;vn5v}(Kf&puJ6nSV0-9BZ<+ z5xFDrxB(**=rRKQ4!lNvA?n2{$D?X6s-GO6WBNESlL%Dk_0x&n{!ILh-*qn<+|8Hb zd%xnMfN{d8wnCVq7bHn-w7LBw>Zs+W>lS%^rn)Lx`u(`_hY(2n*5yv+(+0gq>4L?d z87qZXijuBM`YTVArzsk0Ma9I<1Cxd;xCnFNca&g@qB@6!SltQ`)z)DsR8U?5N&j!P@{= z>a^U=EI?uV+9%&glTF6`H=B}Z*?N&)%D4ps(pg)hRyzVJyc`PUN}RmEVj$T@$%jF^ z9JIT;$`o~Z;7wn+l5u{fnA@L3Ddl)S!5eu&PAlEhCN7f8&TNaH3mj%)cW-|<{@Be% zKXD3CR#L3z*&kZk@H$=^CcU1X*_Y>E>KJuao*B#`JP5uHt-h_3un~I_?%iJQ5B@_8 zYc#=-P2#Z6Ohq@WMMYp-s_){hyn3xnCyG-2(>;DSl`juj{P40m`?RLbauCd8!AGA_Df(<)ivDe``s( z9@pO-pAsIQ3TXpsOgYp`d}OaW+-#Z_&pJR1+PdU;QmaPYeJz zabD+mBGze#onUp%Ofb~*(oACzdH>j633F$;s!#GciG{l;Vq!5` z4tN$^fUi0qu4bN}t|bH$U-sN>!AzYQ2tJ;DT%r}^~&3mXErA;#}G>DOOEBM>*t;Pyvtkd_wkd9 z-4;2eoYktRa#Icq{dhDa-M!;{_r* zvDec{g|)QxJLAi5oTgRuV!M@VfC6W~&(<{d9j~*ZeJy2?W?|rIhS986ODi>Yg~~&T z+gTZXveb*ocI`ns?4Sye;bmFfUtbLU>xN6O$AMDU(bnW0{_zvR+I?-OZ^Rr5e9du% z$%>s6 zrj^W8%rfB>A>f8Z=_{DH=$p9TLsG(yk&ye<3_Oe|w#kT6!Jt%ne4y8g)|W^z<3=$A zrBOy5zA-mb`p|2zp+n=Eep0ysw7a1cu3fYb8O4Egy|K%nu%n;Wt$H@#s{Ct)d_PO@K+Pr7l_ z-rka&C%W5+**U|O!H?k#O5Q7h_^u|zb%F436>5*+COEI4YLcF*xr-`1x!1_v4zw-a*2Hgjkfkm3z3IIGYt`h*k5tCBA=hu3yyt#4HRxIk|`s zH5_7QF~#f;&Q@L#@|?J7;F>%>YZXeSYJ$baMZ-pkRq3s}9&*Nx5jMy{HQ!jzB_+j%pS zyfA)u5uBtI+FHn3zOxam2Sc!iJ_-oN@X$|jC7!8#e3NbYZhbao)z|N~vz%51T+G%K z$51Ewrl5)9fgxS!YTRJeBd*3!eG2cZ9&_R-V+4}i%tx2;-of+rm^j^;TPt=pN&yT? z+hIrf!Y$4}BI+7eBIhyKiH3ry9%W)1*2qA4%D+VPq@yEhGXkZg?ew;Iw)mgnLM>IN zYkQ0Z{9|TXhefg9$?zUh>f}J>bXMMQb`|U{FZ1&OvtaG*5oHP-j$~wTQOiDUZW!l{ zeQLPYF4uUlfa>xFr!(?od0a3tt~WT8+Okiy(bTh(n4iUUzi^HaWnugEd=bjL)obBG zF7V*UUev3x)j&9 zf;3J++>8t(8{q5WEGk)XT?WI64T_)dInaY9P*sa*evSV877kk`%FC_)%peB&B-xyi zyI8vGVcV9KY*D=P=|UabukBPvV{-oNVQagiFlYpJ>0otll|4)4^OSnNj5vM=1Tjr@`x3Fgp>vhtJfeaBsSO(&Qoj@H5!As{5?S3ufCNH zq=|nnTh?s1J9Sqv)U^~_c6S*!{PtpbVx^JNWu{$m6}n4_fxS+*d|2^!>iDri{+bqTKM>+z&BqO6KIWp)@Ca2qcK8iw%K|SV(Rg^ zoVQC%tf{cYt-#J+4eC~+pp`PnNI>ISn;OH|)Me13iC??)Uaw@$`h3W*_J-77GbPWu zqSS~-uux1@HDf}-3Wue2*D>%UambE;%#g!Hp#O%o2$^!6mXak}bkYFmk#`$aw{hdV zQV{!Ln(ptY2;H?^DATGbX%u{M{F`f8nWV)*H}@m+PWK~5iDb*Qs|VQTp&)C`!A zJMNL|D|^5zhx*_n9wdWJ|G=}CtTr_tNtxr-btW|}X*kN%<7V|W1gC#3tM@0?`JQ!U zTRRzHr2jF4)6)Jatj+s@N|+Kziws0*y)&l%#M^8frvIKIEaL2py$^U1j}UHUFbBND z8jPgotBdsQQkzJdhW#{M4!@F%5G?8r2gcM=ygl{64a~l6`0m}+j994~c4>zP`>GqC z;IIddA`s`%dYJyc;p;F~D!SlGy5;3KH$U3~=p42Z##hmjp;Ume%D`04UupFZ!MMK3 zm@X3))&OfqSx41CHPF9Dyl(mknQ63UmivfT6h(>HgG<1*koMq<-Q!tuAkQlZQL!aE z*fv|Z&RNQ;MR1`*J*nXXHs6;PmD;6tmzszdi|413c{BZb>QPKe)Nn!5Ydw;kn2`yi*TtRSCv z|LTmu|I``V=0?hsHIXV8lPu@b+>i2Jav+&&f$W8Hu9FmKSd&s z+9o1kT6+dyk<>mmgLU|aMDF6})a9URpMBe}bbOEdjQZS8?XM(SJqi6Qjo~Y>Ud->8 zUaM{XZ89d5#d+>qaEHe3fXCblkP7&^Fhhp1TEf+nMbN)%uBGYN?D(`^zwB7$zbV3D zc159t<{;p>a&s5(><5Pjlo*NWdVA=YGfGiJ0c>|fzbQQE^BseeS|n1!#kJ(zE4E<5 z_!?MA$)zK9jkmf9+>YJfXGw=khJRQy%b!%@PLKF`>oM~H4? z=IR<5VmN`jGnF?&Yca0d818-VKC*BX6y?h!W(A_uvI4PtCVx($2%*WQU|r0Gsfpa zXE2cK3kSlCmWytX!k%YFxWF#bLod>!7U-ezx)z;LE>y7zHM-BIo^GtfURPSu-BBj8 z;)8Z7@z2808`Fm%S;4nCMA?~m#X~<4x0MegAEsoJzsJzsBI7Lu4dHP2=?-~r^wXf~ zwtTmI>zj_H2BG+>sZTI2FV#H7S#iNiMlq@ks)KS-G+?C25xRZf%M1rZe5O4ge#ysL z?Ut$UTH`4KH6jWZikA}pIxMtE-N~8h1FTp(|2Q>YcM3ty1T+T0k6d<85+*$8Dl|jb zMww&;du8UkKz*XIQY~!q#&DWlau6_i>$laM4GBMKf<2$255=MyI2b(mdxzjBgWke~ z3T6&ThM>@rOF{FQ?DGSU412f#C-|7xQK@`7H5PYo5LKSf1)gC9(xJI*xnMxb2Lop; zkwz97A9eVG2(&5yP6a7Ma;19t9c6gf4gN*4z4JwT^rg0e6h4{8<&qC?%UzQ&1-g+D zyM-iYOZ{!Qn1xssc%Z>%Vy5vn&QU-8pS^_gT~1CVV!ch6v+2OCPb0;+j^ng3mmcDs z7N`F(`NT5YKu<%}^US2;5WVC9N{x?Y( zE~Bs5(kRXYf!fz!LUg5Ex_8Qxc)f-WYRjmE@=mVI zc5pHl-Xr~RJe(gm=aTIpEcg~~(FJ;o%A!@|27PPv_{g4&T1>Zm{iMb14Cr4j}K(zb+2 zB@{;MAe_;ze`_-_>=`;y%VG)HpxTD2RDu%u5(4whqJMoGR2~l}VbzADKHeQ}g_$Ku z!m*I$Bt@_!uNVHC`0zTpi^iXr--lf;B7T&eEexQeKi_NyKl@!DMU$=mvp0A-SL|<$ z6RsJO+8l6HIr{J2e9Q0cz6OvhWwrEvrlT|5hk*lHx(w#AKHX;p_l28?Ic8+m=@1Yi!9x|XCB zcMxPWvD!gMwLA6lW_Yi6BMS_THGFLPX94~OOCEOaXj~Wfzkl?s_Ip^_U?E~rj(Iz6 z@iO1lIv_+NcCIVfYG%l*BjPk=Jgr@*tIG>ttpUKSP?bUM8z&9_N#wLAsZ#`EJDe!%PAwTcW~m z5Ye}20HJeVI1`Sc9(Fy&wzO)F87nb zPmja<*Q;q9SyUX92o(;XBUZ#2zP0#j`l#X?GZuHKEl%&Yy96sbJKo}I%{%+S^Spzi z38;c?wWFU~4TPD=6AOzf=JKYm{%hBuo^1RC??&T|hX&pUM8=8|YZ=-8PW6@f62EUG zv4dp>G;OiDMQHB`xJvd9u0BTZKTb}vU9BfqfcREjlrolO%*f0}qsxvkDM_#KYAWEC zA`=b6S+oC#uXl>CJ8HW{+oWxb#t95+RVRQlF08?AYWy?s7m-BzZ?JHJcV?SZ26Z z*|}&IKq!Y{$fbRHZ)RCrg8(vDhQY+eeo%DLHeC29aO-8HZ zbu2XYnA*{{5K|y)UIp7T=D-zup|!(9WWMEGct47_fi%#5-2+F}<(CoYdPQ9s(zUnq z{)KZ?2IP8O-NU)o;rXsL%CS*~&R^lSh(pKS@HC2rvBx}J=yl$J?HYs;`S+^TiP_dMGsXJexj*<-~&=m4W zj*pMCEN&FsHJ>-lG_N`Y*aLSpxlq#iIwvQsu z9^62XI88@7IX{*d*`9%cupc#L9U>@5Oe;8ObOzecP2#mS>iGRACoDBV7!#Acug6UQ z(LKb`yjaPx*pw}FrdLlbPOvvdm@q7BSa1Fs+;jQTC&-X|z69$c2^cLY97_xy$5eb4 z8OwuPvd$y&-Je50k22uM%$8=;I|izR(37(IYwY{p7=aIIQbJVsK+u3Hi3;q3Q^fp3 zgzAB6LGUP%IG8MABHBpyteZAKIe~>KBF7#6);3d3YZ2Uv4sg z->RFQSmK;Xb;N64AvA7yNdD1@fypHyZz8EvG^8DrNN z=1W9u#<1YZ%E^x(%tXStzZcQVkiXlWjf_)eO#4cY&r5gx7vUy7`uAjT+eA3QkIFm{ zD67w5z7(a|84rli95TSSwDywpJ)IvNtjwh6F010=o629h5avM2PDaB@8@N<==EMZ<*GCv*JgfiTX*%M z{jMjbT zY7WxHi(AWy&sduGXfLYdJv~?}x$+2cb-nqu=3TuUz_eP!_iIUew`f;@?P@OQs4aBf zSdV9;NR@Ljy`t^5ve9gvA}$$$&pQp(XyI-VEe+K~S8Su%t8MYla3Ur5?Di}i-iJ}w zmSJ^Iw2?D#aq_OhJ$|)aF&xumMRK~a*4k!XE@^dvRk~uTqpQUN{p3m}{?53TN{r6> zPNu4hY17ChA4TWD))o4q*={SiNG7vbI%&T8@u6ZlGK-Hb#&ShowbIj2>FIe%5k$7@ z^bS*-HOd#G_B5JX&*;3{)+l7^(CT1PslBI6gP-QnipJJ-&2XKlU2o2fIH>VD?XPew z^YM_;sNLtK`Y~b6+5cd}Q+Xm=blSgdb)(86#Z?~u1iZslRQC1%M8GcWEWKMgwfJ83 zUME3vwvNZ{hIi9_By=r?Jm~0mj2D;p_{hD%6DXGooaB3Y^|HPeKy}yOOL3R2tl25w zB#3vFD0gABYjvc1365#aZilk)0a@dj1gLff6Lq#`ycQfHAc#Rb88+msT2 zYQgMv8KuvJ{lGRCERRuRD@9z1UFB8`9?0z zhR*>xO|GqF)fJM8X+gB;&(1LNSh2}T;3`TPDk#C2wHaahdHc&JEm3ti2bJ>4+zEMW zi-Zg4Al_eQxV<<`?Ql;s?Cg5dBRx2J?l!w+v#jQyJirbs9So=90LL;F*JiR);~!6E zC`&{)%A*Y??Q+^wdVC4)k-_w>$4nDX+Pbyv zX98mF(~#vVfFyQZ^K#wMzo&K98~(fQMc8cTB`wQndabP) z@wbi8f5F)=qnoe9)Rbr)C+x))jDD%Z%gDZbT(0=V=Ih8iXcf*WnUKcoMZS0`Rp2%r zxw;V=Ynyp8gxm5qFCj(F^~zxn!k__$DzR z$^GwNPp){4YmClEJzg)xZ!~3>(3ouFd39~Hw6v=o_A|zTCkuJ)?pM3xKr(A;+UA?$ zOx$tSMVq_Ih4E@!B%;MzU_qsmqyOq#5v~m5XytGjOB0-@(4y#=Y)<>lt2NN|x`sN9 z;yH6=x>l3#FHp(09KDjRm-2(56NT+2X+Ziaf z`H)dBo8qT?Jv=3i9v=nvgE+iXfNJFMlWDI1VIKn?02?Li80ap%D_Kc8eHn`f`6bPUy4g_<=LwT zYs1&-4B)EmjhV8Hp(B`CmJW>UwADVTDCAQkabaSUi5%=nt*#!oa*cYnUDr7n3M&FM zgoZEY_`MxvRRPT;JW+{6(ZiCGBOzOmHGgt!DhcI1iN-Vzzs3^jDSqP~L8i193-o*x zb@LQ{W*2c^h3c>xKDVny&kPNdF_>EzPEDP)#AcGDLaMta;Xq~hZcRz)4HZi~O$cN* zEx~8Wh*2Gr7&aN5T@Flya@G;K>xjI2>u`SKVd23QfxFW%2AY2tsU1sqb8lrPBqbu` zk<5%wS4&b*PDxTqNYY8rl#h+mr5c?GOCA&xyHT1Y`gL5#DTXZ;jbo8{ELk#cdLSMf zsx16c3 zS%{-4(#~)YzX8~6=02gB>7R5`jNUdu_8pfJo@*V|wUFl74c?QNh+l$V78y)AT@M$Z zZ?c!>hW@~cg zoCsHk`6H? z3zk9uN-O5LSv&Iey6tu?+f1P)*W(BKf)FwpW&Be0-BZ>E(!*!4r+|(3^%9?~!|qit zo_TH*rzwr7KBMq!eY=tsL^m0Q?)!-L$M_5RF?*+ronUoUiG>ogSqkbP1HCbbfxF*W zrmLehRQL}!G@+qd%*v=$as1EijHH&gLE=yWPF!9fclw7rE9yFVvr-s2=jJDREt;>u!!*ORvN9V63Nv!o zbk5nyN_(Ueu~CV1_dCkdQ=|B~2F9$dAKIKtv$2Dpi#i7*>6|gh$~|iG?YCS=EWYs) z0`#w_MFgyjy-g%l*#l4L6227_C>$Rn50I6viiL+mpyWa`2nL~|GlpUHK{3Yt4y2_D zy}+)Zv87Z=Kv!;g}z|--wnx$I8 z&rwtm1=0tv?80m@OXGrU^U|M-%dsq(YB6I}#!qiHI%5-0(APxV&(_>L;izF2*YEzN z29K@di{-Saa=VsonHuyW*ow0?oUZR9h?8}6bH5l5$^%<}suQZ;Xj^5{Y-O;IP_(}H zn&PfzZhU5l-=3c%?Pm^7H| zjg#*YKSG2qtQuPIn(r{G8mRZ$MGE=NN0aYt91DDWlxs{9Y?85wjLoI=YCT%U7_m!5 z(jdG*@eVixmbXMVjdI%_KX0s8+?nka`N^;aWFIVN=z?`L{qImOjpSZg-Mjx?F*s7H zSr>nm2kIC~7+E*8UmP2~A2lB;!v-p?E1oGkSXK2l!g0@f@r`RzXI?T_0Dt-3R|xU@^ zA1%&cOPhZ_LmrjEm{T)dEdK8C!nW)ErR&3eC-T=DI&-LFZd)&&waHSwefp~V z6f1mvin*3lO=&Ls+%=&y(qbva;)u9-;8IP1VWNnKV3apC{F@Q%2-(6S)yj)~=peE} z@!OTKg}3TkoW)U#<3*>dwadAlsEeCqDg`l5Z7zFf833UAmqaeq)~p0Ci$h*3i%gER zA1FMSu)jZ#o-}WK(<9{VpF>CuM#sxpMb%c$8~=;Y-Ed9+T^=2!4;TFAUrTFnbIXr5 zK`;V&U(<&#Vv}FUZGBB)p@yTf1IX%+XPo8Rx1KK+=3AQ>UG_3hNj9feVsF_ARmUr=!jEsmZOCVu`<7{b^|Hdt zMc*LM91K8M)qaq!`vcI|_pSedO`54H^~(v!G!7xicC(FLlc*46gxTeO{LS?t56VD2 z4Ztv=yR@w{hu`V0lh{AdlD5GTw9*}8=JK9!B(s_!bU2xbofs=m@0b;32TQDWmr6O| zCBKkIS+7zs<%1)=%pvuJ>+y2xrGsJOElx4qUE#}8Q8i=$xcUi719YUAHv z;hf=8UYsuokp(_ER<8-`d$~jihnYHZ`8#J9{UnF)@o4i9O5c(_@06GG zRcodjTZh;=KSTQc$MO4nT(O=6b5OTf9;EoU0py>DqQ*}n#sNWCM|)=G-ddv4nIx?g zqMC%!6~iI6L!lLkQe_3^Dser>m(PFVZ0@#VN^Ol=%Z!UVYRf7ri;6niy2?w+vKwit z3Mt!i$ttqNGnHaebyMPWGZJ)=k~2|>!zZc5Epdy_GES}14rR*dx`nS5^sTf7F<1aY zp#}_(>O}M4k&gHLtL#5B9vrvfpT1T?gih?DyqKrPr|ugl%fv|eu`z?gjrR7;$WIyJ z2m9%zk;V0X8#GtgV;^*-x5K^V=Au~yNxBv4PMrmdmgx_*n?GWmx=Sh}V2C4=A!?%z z^vHz}4ZC@j)(9g1GLjSGq8rj(d&}Nv!{6wjiNv^vo@oDlNguLKIw>{fccM0>8IuIsLgP8NWsrBraGjvlC>qxWF^orij* zAtdU{TCKJ|Pu=7~JNa43{tU5d{~4^H!p`@<&3f=Z&A_~>n5sJGmztBk1~*|JEGNGD z=$}6tl>G#Of>jIT!ih~8orc#tE}%fsVMJ%U#csqy?Ks$Ye&IVWma}op@mcXGSLv)R z2(IvWKptJoL~F8gtlVZ@&%1kk^6F@j(|8{W*D7_HADBtQKKe`crcf>x&-=D_SJ1tZ zuIz|lQh)}Z_1Yob4Go(4^&Tudlaz^e{zqX{)%kD{o%y^4^q-_N!apIwlddZ*;sf}9 zXsK)&Hgu~-5>5efCnFY))?8|w&wMr}AfoyM{b7flML@6pNMi4Ejc4d|*!el&4c?QBi04aev0@)-BWSp|}Ca1>S)><{^smXVUP z;N=ZPj+RuEn3q``QOA)mdJC=#e#==CRID0z?=sMXi_?9j<%wgu`K!kA>r8F&NNPaB zD}7}ImKvh!RGj9ViaN7=@=Q9mN{aeY=7KXpm20c>l%1J_xrd3wGRuO>yn@o=y5i=# z%JPcJ%v7xIYO2!wUlr9v1?AK@rS$ZathmHPjTjwmCHYmQd4^dHwvD(A#h%HCo87qA zCAajyf-psPy~7MpV`I_+wGl{|KYts0Ea_*g#d}TRe%t#R794k8m@AlIbO2qi1Phjm zd8p|ZT#!Q`u_0TaJ}6tdi!x|0tH(B4!%}^Ai^GLGsM=dUUw!KACD!rJJ?W$YC72ID z%EKoAFeZJqj1~)sNGa?gKQc=U;L4idBQ(^B)0==8&n4=Ye^xMRRvWKOCc-*(xLOxVbtWZ|80c zXrH$C#wCp_}@kY$~sXeHKG3#8=#*qrO#>x!BPr>+1ez0K{)(V zol+6?>X&m+P@F6LzIzNe=RuYQRJfZ;&1W=pZm-KUdw4qRWxN&XjERK1lytzH*so`o zF0?mw*wsn6B)2unw7saGEEhb`*PKZfxpxfXuC?Je@KT=WXhv`PxaGTB|CqkblyYsd z%%Wqhgv)aFxOGfX_x_ut?hof`=Pm_`|`t?@q-|#MVE{|z>C%j#Vu7Ga}3W&%VV*~bHp+qQ5 zWb9pn%sv#3cD1e6t>jf@M1@2Z`o)Soi%dMeb_V96j>jSAx7YuS)Py{Jti?o}#SB$E zJ>8|$0M?$W#$}WbHRX~?mEv*az`dd4G#CWTAkpMO?0pEMbrC`doch1~kVR9yAvpFS z1hBv20#K3%s7zCf1|)-5k&$-n>2=Hg(aYJ8#;!>9m;4>Vq;iVe(#G1t2>opg(OVWW z<>Y(t?OQ(MH_jou)cqyw<^_+S#7q-Qz2&3jd(A=#tVaK+Gv-l0+7KQz;9O$RTG4Gm zG6FE2VryKKpG**ZPJuxTJ6<-qUpK-OfJ8_)vpwie@89RmI$|jRofY4VB|O2|*^y*e zWU@3aZ=DE>O**KG3!f(QGaZlG>sWlWB{T|nPc77`owev=;dI`Th`!5{JOCWaumedDh8Q)ykG6?XhlY9or>mVMn|zGfzMuQi~y?fK;CmO zc`jw^Q%O{L5rM8PXH~h*$>NzCwbvVsE9(uJg2@}M&+vF-tzynE0hL|pcYjw}YqdC6 zo`2hB**KBMp9;wov;c9*xz+_hfDA2sIS~F6($Q=P2Ph<^LAV6Z|6;4fxLELb-5D+N zK(S2QL*RRvb@%*_P#~DbR=d;ss{f8>-PpAf-(2G*;iUnu$uj_ZIreS$S@B(4V0-5cJ_V+FrZM2J(5>Nvq0yIVfAPB$rhEaX8xo z09S}+QOGPNKQHTEW;Vd#q@MyedSqS|Lq=oA7SkC+!J9}PD+-bmt4TEr;I_&p>SMw* z#NGW6j_9&hw9|tpY{^W~>Xw!w`=zMfPx@2B9Y;}-fS6J^bzp=lPK{;3^|l@d!@Pt- zA_6VDj%i10r4<4~i=6zJ@y6g1mYPcvBbF*$1};2#)?DAM{5J{Rc-5&{{D{FNN;x^! z+3D`ZHhu^!tniN~V(_;ZGhL(KbV!kck5A2>t^UEHs*D zzio_^XIbc{H&|vCc&C<^)>WqGG?Z5X+N;`%N@|)astQWln~EEAx~tsF0M>3i*Cxst=yaH}`1l&iDr$)V(?{oi7+rsf1eM8&rH6av z7`F0AlKsAT){s;Gn#!X>i90^PIQU)y^(T@sBhku}W>9l*sj6rh1Hl zJxVjFE)y;VwRJ+OW>jPb1_GqKVAejD)0lvgj{}=0noyKjy7DWIA1=R%%PuJ7nyj&J%6Jj4Da9Fs(bplyLx&&G9$gJ}9SF1W?)W># z)gq&BL2L_nb#r{8Gvyfp-if)a1y4nKA9@pj!Hw}I=WNxp#cErLwl*%9BikVg^OLJ1$*8vYK0 z;6<9T-5IRU>zg)i;9tpXGs#>NY({h`Xy&8q{mUgm6X~Dv88R;6cTGvpLbKv~4giI! z`u0rn_~!!B0A&@4@Y1|pn5CnBzhet?dw~dTG!<1%c6#PH?JTWy*|CWT$8oP)Rf1*plk`n(k`%Bz|hk85^pIvtyprgZa zXTAI#F02oUQny>ya;z+kyV?mjllJj^+XoDXU{>Pr2A{Up@eXGBMMpiEk)FALfRlcD zj(u)*bX;kEOkHJOYHfjqbHtmEg*P3=65%|^vNv0s|0gyg+m1?Nq+5jEn?qQVSvM(} zlYZsywC|CC@YoA?nr$SP*DJb$R5T6UM5#pv?Y&xM&&zJq%q9?A6D7 z&r~6dG1B!cNtW`4v~)x`u4ssO<7{pCqt7+!G*yEOVt2ufO7yx++v#)WytMay zm|+2pgpPqV-DSa+wDtB4P7$e5sgb?oqZ}|Lw@L~*lMH@YJI`5(1W^Gk7Q*xuh^6Sw zhwic-Q5`|%JVL8{B0dg&Ml2!?S^90qMBwNsq2z5`m1B6m?!cqP$>J=&H5Y-zE=I%- zWsxb;$I?LY3dEA#mtziIL!(Ji-(+q4GIiV4fG=ife>9O}x&HEbE?fc^b=R7&c+@{p zjaMSCoA;U@U)M0Q1u2}>x*7k+p1sTWv-#`bp!yf}KOyG2;J06!FF?M~z-(lUamJJbdl7@xfMamt__m-(&vHC;z>$#za>a zJNzz>C$opcqjA!U$%M2)f>8^d_k%{B*17mDR@7332M{guDhtH7sHMg(M03UUK4}C} z(J;c1O*%*zHB?&hwO||m!fbPSnZE||MO)o=wcSya@zwg9KIPp}Bp)E8zaJ#6;8#(I zY$`S3#=x1fb-WEFRq*<{Tb<2eH?-X~&r))Myx(rG5450t>jN%$|2WgZd=|ui75FwO zM*I8YT3Nm~^Cwxp)wc`%jlY;?S}gkH^M%L{rbT-?Mg6Rqer}9HvJX9EAw8N00GNoD znx}G-tv5$RoJbXe9Z^?y!j7mlev%UrlCZ`T4Uu^Ee_xUSPmh!679r9oYOm+2C?zcE zjQw5kgZzQC2m2VI?^{8XuPT{dz26Cp9eL)=q*w zYzUfP!CvC&2+n(4B835k7G5TgD1@3hG>r7;6k&Jq))!@ZEL5C;o*xifLe)ls6p=V1 z*#Yv9X4ES%N88_Of?GI#Wb-UpN!Lcu!1q3V=hp)?M%k4S5D_u{$xOmkRmP*6Obpp8 zU$U~%Ov%nCZgbDQ`8RVqwmb?KpLe})pkVm5siWM+eCG1Cq#*o8YOttq?#&-!)$>Pd z>+_38aPTuc{6oYYD=e!iOH$Cmu#iFX22MKH#w7B^fgH?z&NqQb{LvyPra0`N=Lv4- zr>Eph_oIH8WI7xG2V()A?WwIy2_?Fz$xozk@i;06kk55H#x9W%hj=@W1DLm^eYJ9e zPI|NyOt;E-U~!8qR#Zi*ae=<(Q3~si!i-GgR11|}`-RJN7O!Gi*sSPV4r(F%(P-|? zMHlCSx8PblAGqw9eoBT{%fyXf*A__`6*)25um}wfyC~WB zC}q#2YFzv_?@7?t!TOJIewB52lJ@&<+T_-P}gdMUn{dF4`dE#NsT zlX<*p3Sg>~`*m#9_U#Q{l*d9mvuZ@>!w%IB11d~a9dv6{trj7w25)i$*pN`!Py3_HQcJQ?p4&(~{9qcXM6pugNNWoLP&I z>+6N21`&!Tt>}~ZWh~FkRs&8jwP-n9Pty(;!=8DE*{C8k*NTVNYbJ70i^ak6L+y=y zNgMVyMv?XB8t<2pnk%eb1~sR~g>q+4xuP+zf&#QAX_|_xw>x;5teFl6Eusrsl~3!v znYHI`=8j{Tx+}xi$w+KAz|$?yU0G3`?0qho(FC}Dbi*`$8G?5?)ld%9#k5ejbl@~v zyxomGg?IgG$iK#vdo!s0$&~kKVEi^q+@6rTN*>2F6g%2F4>#JV3?b1j7;e7Vi8`1z zp$Uu80lq~BH!lwp-yEB~vUV&=3iU+QNYeq8)+v4Wz#yUNC#w6DHBSnR26 zE`(BxmAi$TwMqng>Q>~#J{ft@T%%Y)Vf7=k(eJGIGA>3)WWjCMN7m$>mJB=nlLg$srji zC{$Bt<`{e)duB#j;s?=_lbynYQb^wp^{sVnwM12aC?E#kqkDD-0;0g^iXii)+WBhP zNt#0slR_J1t{so^TQP;{GyaM6)~VT7s962NT^;#X%SwNG3ql|#MTnhdpb0&oym$u; z8NPNV2=lEgU(XD`Taqi&$tI*LW}A5F1-Gva_-!kh(ZL}(b3@)xGi>3E9)v6z3VdUN zB>eH`hI$jw+nA|;nwEq0ecnNylfj#c$c4K^d2!0!sr+M2dj09=igw{_!as}DI^UqP z{GILy#oCamEX6NhK5iw11(dVnorVZoUqDNkWv)A;d=$h0SwtK~cqAZ$B^pXYuhn!6%Es(^2_1?$?D~yzd|z z1%X28PB>Rn^n!i7R<{?`3!aL4>CqN{#k$n!_C}$gO;Gon6rt;BU1~K>x}JMmTaw&l z`gmsYSxHamjJ6JHSjt{r@7p`dBu52*W4DgWydD(1_uvkis9FHWSRt-DZop5L zgFzNa4zK-H3lP513waW{9bQhovFjS3Xy4@`sk1qZ2g16qMP_f zO1F|hx+)fDT1aY?3pUa!3j^M-fj1WNtx3#I-(hG6iX5nCB}Y-1+T+|=XbpQ(W>o+M z_r@j}k}-Mzzj*V2_Ufg9vDE4N^U%yc{^N-(VMFYq4x(1pQc9LuBA))#d{Q`QqB1hk zW!9x5Lt$tkUQo(>x)Husl1_%EBDF+e1B3CxuT%7tv7@B&q3_*)HYh#_xMTTEXZ|{I z#!HhJ`U%PNzKa{_5kw6ahLfg;hzE%W(}1ug#JEvX&kzkC-f0$e%+GQtO`?`P;|In?n<}sY8K( zbfhsep21bf#hI7N!(M{RL(enAx}rO!Kt3TgAY9i`Y-Sb%(T8x1xrG*S(~si{iAk^cR3Cp zK{{q5R#;B-uPM>+ya1w(+*0?ezt8i?G|8HQKRmVq@STRheGo%a`?e5}Q{)(~(3gCQ z*zv^JCw@f5|JgOuTTQ9O!+cS$f3rwkO#jPHjtVCgmr4@0U+W8f`w?0_kW{Py_m z?TYd^epWfnys(#f);#Q-Q6gBDaeI~;A9d9;;dBFOOFN)G=?Ucf7z4|lqZ~7r#OUL+ z;~%~8GU?m(17t}2e~u6Q=Sy@02ldOPCm1NsBp3O-fMFK(CCprd2}@0^Lv!UIZ&`!2 zE49ughOg)0bRSP+uQ{zV?Gbl-J@w@~Bj@X@AGr&=WtO{`m19cf8j>Yp?K7&tt3}tp zZ1ctI6`zBFty2B!MuO3qMCr;QX1p+kw`Cmd<^bGJ{U zzro6LW|%UGBnI_b+3`V_%f}VrY`$I(=25roD9TT*BTWW&VrHy0r)zN5lU`A%dXt&8 z?gCxnT)AKAHt9`l%dSGl|5iCJXeyeQ=H|ZK4vZD>X+{s|@_D?CxmgAR`7xut1gt+^ zE5(NM8*Tu4M;e)#N-L#WX*`ecp!EesV~<^dOuOr86P;JSkOeZtH+1bS-e?P(<(~wA zKy@};8lTCg&5w&4+fHqdvvPx+K*p4FZi1!7?ng`FtI!{DGCY_I5+d-^_7+e#>Wn_L zKUt7ZR(>^Bn!MAXfA}hby~k~TG*Nf)nLcxCAmYp+VY6w@aI38|>6T+a70qvDAbVxO z-nc|vKZJ=u^gk&nneDvptrZ@3UxDAr^ee=w+hZ_r@>b@yiWgYf7R$gO8weYS3QJpQ z$H`}klGSk>uFY80lcpsz0QheAP= zl>Y6s9cO)-Rvk+_v-{|5yuwy(Z=QV6C|si^VNcuMUC3aWU%NX%d5sjlbnn?H42&^u z1|Al!vV1IytKGpzwu^g}hXqS32_K{1l_1Zm+Ga!8mbrVC4iZoDIy@wse1IV?pU^5P znQP|9pWyiXxrDIO%o>KfwVu#KB~w+^34A_}V^oqc#mjv03Wc2`1vBr5Or)see=Hf4K%w-xuk$;R$^;Rcq z&)`5yVMYOi&dee0Ni$dEtFxIY*uFQ%TQ@7YdFJg$@@7>X2VaPc5+*VaM06ny0ejE7 z`90A}XK>7(9SR`H{<^4fEnY=^#P8neSI{ixOurUZ)Cr7;0M@w{(0fHeDx-*3~Vtrv)=gb+c%OBW(G zB?#C#PxJM9I|_WL!t>a+yPuYQ6=?BndK@+xL6+$wPlb}rV6O6s`uIyPj2bm7x?5i} zqyUv4ZweBGyH^hx|J`n zJx|jz3=I_@y(`%pNQv2lL8&_gKVY~X%lnQ&ohePqprK3~-LtQ-%*~l5WIR>PUSHLf z%+&+F4}?Sb=MgLq202E6#1z60MHW*{V(^7^3FZj6|JA>hGY|=U&s@JIl={c&Cc=ru zh51RObI~=!jFGI3xtBItRth3kW{>y?nkriXT(qi-T*92pULUil0aM8(1sHRL>@P}j zOpMa3%)?X;<+*tZn(=?bEti)BVoB%`+kvQhZVL6yBmx2gieh3FNalS9=Xh2zw-E=k60qm8q5 z*3QygAOYTF@c7^p4&`3P8J*9&`q}JpYF*^j3WZaXsU3OhOfPDb#O_^5j|k-z#^ML$ ztaU7ON)ZRv;XP+zMG)xSsBWGD2#@XStsN4Ax^^*l`mU?ojfk_S0Ou8r*?RZQev^GW z)P4sUd5^rPn3V}uj0L7}zq!oqToTVK^@u?v;Ng3l>NBV5%ks#S?6uxQL`+ChzK!=q z3;N{8L6@%Y#~anBi}U|;?0o+}xAlAZ;HE!l>{k6L3O>2`2(ucS!~1PMc&;%^{4u%Y?MQ*5}oZ_)$dt@xg|B zC7zQd<4m8Qan3>jixDS}&{q&)oG6okF3Vz6hPC&+b9nVlmL)S4m0u;sa5QfJ5T13Tp_)q6`>P�kGPkhvV^sks*k8N3M=zmFO&s(A_?xaY~%d`N^;+{ z2rQS;7o14Ae@F~D!eA-VrnMa0Kb0s7!-bXq{2l|w{k4Mqvv+<5{Nily;OOe-$=U3= z(&oP0=H83={=Otn9U76RSS<{Og?)N*aT0n7Iq?046pRQQ;lahvZKau@++V!2$Bb5P z#6)=dO@mi<$=fd=CUqdcCbTtgaG>zcJ0lOS_L|)bb|P`Rjt}K)>?Js(qi_Sw%rly_ z;I{zmEdm$U1b!V-yN|;!sz}5Y^qplzYuWg%Zbz4OlX#xTaW-z%!XzM`1-pt0{mwb4#94k0fKJ(OMQet2--f+*wtSJA`98 ztUj%y{kxbHyJ^r2tqdz4Q%0Tq&}rWccIfFdy@aKvqOI|q*$-VBLh8%csM#$k5Tha} zue-jYA<4MFm}4@CI2lP;tacXd#(P~AD>IW9~!cVfmD=;P4PRPxE_ew=@C@0fc`}$8k3gHOFyNmmWGZl zgBpIMEg@V^O;ts}sVOL=(NRiP*G|$#5kFws=0=Ek_>X}5t6WYDrZiUC=oYk@ z*Vjb4?8|RP@L7F(0Wm|6e7fkafAfCL;X&8<^W*4MA|iYvB7l@C{HbAu6fToJD>#&6 z28*@58_MrN0NxHR6!Wc?E(7@=3=Em0KN#qf8u9VfB1oW6$dc?Oh}OFpvosnnF#kH% zV#Ly%fwqX-fg!H`sSXhr%mcnlqDQpb)P23e9?FF27D&3V2U zZO)XgocrdqB^*5(7m#{;d`bPzRhq}i%vV3eXHy(E%%TEoeSz?>ld?@x@l zke+^sz=8N7C>%jfb9zkb?r9AtPKs$2qMb+MwDuX364q1=b4{aQGS;hyqiI50wT)!IeH3rch3g(WX4%-Afw0{wQW`kZnM`jTYYy~1NtuVmtY zGl3Xxx)+oHkmVH*c=WGrv`AI_4!7G1gbhZWWXt5@D~nIVk^ebcm7f#a`~70ja0wY< z$)miue7X9Euj0S}f`wN03wkx4F9L|4*NgT!jtSFBQ*~i}_q^F3SL5~Yd<^6D>4f)@ zZ>GuX4xYj5wgM-%;s^+qLjT*a1;KMnjpxv{4#R&@!{0<5g+ub)LJF< z9e%p|_6SJq@r@OAZ}3Ju_{nv{D8A42#PTnxS(rSY)=BmoSm z@u~{5!(vNY37QcgRLj@ez2b>(f4B-ba|hl?yf0UF+d)jJZKIMSyF2;a<@7&N>40Pu zagL*AIGMpk*i=*aVq`HGuvp1rKs!nt+LT_VP#Wg2zP%kvW@W^cb?oymjJQ*aO2m{m0$wUvyuBYfq&lmH-S}zvM?1mi&*(+O}Yc>=(ifceeIVA9KT|Q9GCL# zTSwD~+RP&bR;`1$&JTGJeLWj2lT z_Pu%esPuWcNB>~IzXvWzDJcYn{hJnUqn$venH$8GaG^0;gb#b5XVOazUI>Di=zkm+ z_KXzfY^cek801m>{Vv7opevDW2#2>KZf|SMzNlnP1sT1c^HF-)G-{@AW@qY53Sz*FphQQK`$u?ze#U{1w+vG-M0?Z-m8P7Q=8afk4N(Tx*((#ZRtL?E9#NoWPZfn)lT+oU z7z-9kJ9+EWgZfDaW?NjxkFr>qH?XVTf~T$oc$-9q=p?g9-w3stlOq2)ti6@U3x~v$ zqk#=Jf4{Cy5az97r8FSQ%8zxQ4DN;H=7KZK3VU9H1%_gR`rV5TM2YmoFpqwFmDd1C zd#gNk=83_hzxT6!U9wyFX(Xp^=h^($+K~VuV1>zLDx3;|H`|3 z$aNQwz2jPi(u{eX8gKWzA6}iW_rSG8yg0?}sX^cJz}F_u*WEkzlL5pBJjqLTHf3yC z4jgpG|Har_Ma2O%TZ6bmaCdii2!Y1k-Q8V+26van-QC^Y-8Hxe2yOwUznOdQ%>OWJ z-FoTO{m@T!>QvP}dvBb}y3|e-xN4hne}>_IUyF(Uvv*$A{jiH6_e4fsZVh_)=Zcu2 z|8_xjIqTx}6!V3`1q7D%w)d6j6BiIMm;F2am5o(zM zbEt^v`w(GLR)P)Qfn5T1bS~VZz=;x4iy(`HBf?G?NoM?-QhgDRgjq5{b}} zK}tgSco*Zz`Hij{OBgG22FtTmo$s4b_fg4WE)GVF2*jshOhZW**5%Ep<^4C(G4FYa z34QtcB=EPtf?|*(;%Ba|Z!*(~L4R^?Uu9ccZOiO@PUH6(=uiscE zhIn&%;zLew#ZE|E{1Is3)FH1>Y}*M?5k3h;-%!w`Mi-LF2W?%?V3XMp7b3h0?ir^v zWc^jdy#Ufp8V!ljDx*P+1uWD(a+Jyme6OCr;V9JR>T?iYmkRbI$8O(CX}LKVX^?l- zSv;2Djqy>`MuO-v3}hq%k^=vXc3_d^V9|D^7->TPX35LuQ_BBQ;PrTww&p9T3PbsS z?iK!T4k2j!{@;6r|6@|~GnFCYm`Hkj$ph);J)M%&c7NFIs)ofBvbuZV&7-@+_urFR$ z54~m>xn>yJR10ZeON6|@Bg1lYp^Mi~CR|fq;QhVpSI*K$%~3*1S5;Zv-BHj~R$8Et zm_05dgMOTbgQbpjgf${ARZ(uF*qM;4udSw*qpC!RfkuN+TrbK;?oiB`q9FSAo*xt( z450Ibi6%c<3W4a962^f$_buQ%PLwxhqm#pqr827@%Fshgo+@i>H=_=pJW=8!#E+Nd z;yP4a2e8w`m|@Bao7_q>GDl8OFJ|ES(k{-eLGHufJKc*7Di0Vi5^JPRqePP@td|SZ zFET6>3<)=elw(4-wHo~1OkCU1T~*6c(I=&&OEJR<9Z7M~qDnCmkC4pni|(Jwh5xzd z%?F421Yq$gXbXmm)f5B9BF8e#%raT8R0e<#CvK={-lCh5zCdMZ1-w0{nIM}g^bcoykm4MW(h{55hM<|GaRv!Jp9iea8 z!Q6xtuALbh=wNQ7g{Q^so!S%TP*=Dy%W9{F#DF{`GgZIBdgab22}w|R+|J;2Esvzd z_**tY@?L5gH){kD1BsF0L2w)6~uo-V;U=*q1em}K^Ss9D{aXvNnO zc};vM#3tRrh8r+*zXs@qdnWJ`Vzi*PzO>-Y3J_Vsb{mI-b> z>>~1i+Xehr8Lk)jKX%&xaT#GL2AmsyKe{5@(6tnD>j!fjv@)I z9FIOxK22j|B&(#}Z2?4C&YwlT*9)8r6MFjWXV;W{#EQ@G#*5 z9X=unfxWnTw4rh)?B#mQp>q`QubAL@qd4=PfFfE#l*kcMwlg!B;8ApTK6GkDvC}&# zB<#e2()&`&ANAQw|OFh~X){s3}#ZCNTtjWL#yE$dlU}p;Q!9q~yukTG&b} zHB(pda4<<4^T7NdPMh;C4)AY4Hh5q!G?7psQbgKMPr`9srrMbW-_ z_mO>g`+LMrt}DceHMLwp?2-c2)pt!hwJ6Y`rs#TUvHC$y_xqHHtn2dppA|U*EY~k2 z`!A#w?=X|P5|I$6jVNCPZ1>Q zkXWa09zmx0#GZ<7Fm!ID=tYqLCdrPuXhKdqTVRE*57Dll2);LYvJZWD59Y|S%h?j) z1!Z{Qk&zlwdZtkkxy}sh6T^mvOlwWld3lM5J5qbBzLx4cj#gX{hV(T1F>p@$~$jI8PNTq@={Pv&_Aau0ceU zF_fxlhRLnY*$PzCEEyeTFEaIl28sjau}Xk+k#s>y-mI!}nwVv$snlhbcZFsE8@Xy) zDvFwNF;ukk*oQ|6==}N@R0QDY{=AnUjG^!$V!0qVaH`D7le0Ep7DI(kk3Cx4gf#*Q zCUm5v5t^DKX@-3MTq1FUkUrjVJ7E?}DP0deSk~lDN=_(of}+W5lpbMBYj9Ate83X| z{TSBO_4aSj+pEuFM*9mCcyzc33?CT;(RYZPzeqofDaFxc;}y(giVM(`MWFd&;`pT% zT>*+dI`YxvJu(t9q+N)VTVys#q zO^aa1zRi|XqmZm-3-q-&vwGJ5=qePX*O7=HN0VHoUP3fgo-l@^n~^6x8W*`P8+cCK zc|tSR;A9b~>`CqmK=vJ3h=D`q!D^AS!kmT+n)0u*$*7z%(T>*TCaM_{bVKp?u@$qpWDjgZk>|CI^4*_V2$9v2^LTXXu4v~Uh8H^Dgv3vvcx z5uI1H2Yz2F@hbBHQgl#?8xPlpP3GMTreEKL_Yv>KI!I+fekiP}otOin4zIQ?YJVX- z99WdysMIPAUf+yrhCz~fM@KPthv#slWWQtcQ1AE){MiVw7A zP=8z#Ycr(;@@po}2Mu&kP*84jI$eP}pE|D_V3)T)=Qb&;KyLIP%0rm)u3z8V=+;HyeLtyb& zGRDj4c7Wvl2T^5%0TE@LLYOA(T5ZtZHO8;8JBaEi$Q^vTUps_#{6Us@#D*k9JG#Hw zsC{V!BXH)6fb(S~e5Pf!@j};EIaArzfI)T#TGFOhO6>UQ{UvAs{@e=( zLyE*VGSy%}{V#AKsUM0V-?q2rFwSp|55L_$wIQH{Ds2dvDUb$6f1`XQWn;$Vm&1=N zuiBGGDvNzEe`vN`)i5_dE`d{R=fz{@%{wy$04(-47;@z zKgXva$#W9nlB`)N<_dlOLrnYa`(9$1E7Vx-=;$~jC1)P3$~!IB;K*qIgW!X5>RGyU zEg31^&+XX{bIng|{ZomDK#&mdBvKCnSr|EB?ItD!qjGM!7P7gEVdfrTQ?$Qv4zeiB zEegEMx7@l|U!_ldq@41IIxgRDzX%n&NBcbl@$8E(hJJ<_)h}h`tR9tATUfil7**LG z!rLuHD0TdTSQu=|0T7P_Z-!IE9GMu|o#YuMS?eF8D`{W4%RlB_R!JGN3yEf))|l~g z3A-J~^vg?%yg;-*1=&~r zC&@P+S!zEo{$P(DqYywba+n5aiSD-%DIKu3pyDwuw_CAGs}( z>MlNe`B&XIn%T~oK|(z*Kua4SHL`%KMjbqAvZN)5pQU(siwA)wOSvCG?pX*&{Uc@) zYthpLh9zbcO-YLoA~volLG+xHJXypf3rUJRSiHC?QjR-g#{6#xV{ZB^8h%${y{8#= z_^?SbAE7D=RhpuSOUz6JqXKO#KA^u~zW16~DIzNwV;MyfFiNvfXaY|z%^G%qEFyx6 ztI4>*AtF&x6IV<3t&Z{Nlp$T4?qRXJJ~Qg&u5@`i)$CUVSe`g}Nm!B!06t?l!55)3 zWZ!U7JS`#!w2ba(X#Uq6vADPiNioJ^(D`p$6^A*Gb2`@T`RF)JLfTBthLBHK#u+PA zi|t=-vDXiUN6+koPu>mp9~(2Nf35*fE;K$q3247D#lT?kC?&k5xAlrqw>aDUN~Ef; zm9pSdV>3;wI6$)9<{Q=-Pdcf|saJ(3!lfPaBGk=sf0A$x(vNP?G4_~8P}xV|k)hQg zA7O#|kip0DE%1CB+2iT?ynG6|vat$?`!xA*f;@dn;d^3V^Dq_>?1ZlT#6IL`uABpw zAO&BXt;&sf2J3hQN1dt5uqg4 z94~HpCU{nXXxX^~2cshL8VG$RD)Vj*;WdBfD~07PHB#!}ln8DA)%p6s!Ep0&e^ZL+ z^F8|K6+bN4b#C4Npd|eyVgK3H*{h|JfsBF;!9XoGsLt;+fvS4DEVu7iR-41GpNH>r zpYO-fB)vi(gA2v4qXEI}UBm;snG^msC|=D7rt0B=Zi$H)fEb}LH%>f(v^@^I{q2!o z-GUF1Ce`X_qXiIUtIvT<~=4N=hs!w(fB`xo>9@75@cK8ho|zU{=XD`nzrB}k@9xgRPXIaord z3>8ZvaT-b>ehfD*=Rpg^2aq3BV5(kIWJw#lj>|D;fI1UTHI%#wj3&@Qkd!jLtzcx% z7@=;!#pKQ!JtVM=Ws>Jh@kIkp6|v%h<8n^#jLc5F!Cy*RPw!3QcaZC1qQ%}14G_D( z5^V1#PCrbsMB(GpGc&=($HS%m^`n3uH-RqcQs!sZ_${EFr$;oWT5sCu73tM|WI&$t(60lJM}4IeNoIvrxQuv3!4X{>Mh>1~xO6hcw2qk6G(OIy8~&a7pRXtl-jA zgWO6~s-wtWz07Efyrl6Tx`5t;ohIa%{Dd=+3BM-Vp9AGpG`LGE794Fb@^Cr2v{5cB zO_HhSGNitcLAT4x9K@15gaf~c0GLE14Gs; zC0VxXCUODfcW0`{2D-)>Bt&=KKp#p5Q+kRn8Uw8v@|9%x@O2Rz6yK<8K@rz<6JEI{ zBA^})7Hp|SXC+=O2hvZhDb=C-gT=fewox;8vo3j8PUzibP>OhGqK3)wt&qbk=%Yr=~d z!o{r?iyJpnp-kphiry-1ybR85ve-y077?U97xFpZYf`zGvzdvShp~=?22wbIaPe#6 z&^p^jg}h&EC>Jy*8bi9o5WAQb0zve*fy7%eY9QGWJUNA@F*^2-m{F`GK0Smq$-_G> zUo=fpWB9={U$j`7Vi#yL>SU>+q%$P+VCmwe2sipb5en8bF_`3Gqh$H2A9rVjfy!#s z;e(v1T4Khow1m0JX549mX!D-NW~~9jrmzQq?tk6+P7ygxv4*5UO!*18;3A&sj`cld zU%kSDG1GtJBgo6fI~M;M!Q&*R3e!&EG_Q(1w^FvX94&LC!?+&3 zdg#{mDx(=ulY-pmkRIuZU$7QF?(nMVy*wO$KJE$2`s-@@NW0`Pb_0fKsb5D6YNUu2 z(f1Tl_v1ltacDY)qyu#q&_vjd{@O`g;+t@YZSzPsXe|9f2DxPS>(hk9*Bi%D`iKYEC)I(bI8zJKW~iG?oQvF;Z!$Pe zQHxDo1Ys6qG!~Mj>iYUUd?V)F2R6>uO`IhGc&PyvVXtA0J<=OcHgy5{h~M}Kuw3ZD zT>;omViz1NVQ0MD^rN46oh_NrS<%8w)Qgs?o|R&o7RfA zU-~vm_8NvRGmt=l_z@hQAXzX= z{w=6-hl`b=#(a&LEv^f)2P+gO-g2_XNg$VGZA-F8i<)PZ+Hp|{WKK(&MsB#7Im?4& zT;wE)fwn0LlgJe8P`v02tSNip;y$ll1AEMe$q&*ri-8D{@w2hA&_1?{hEZwLV`YJ>RZ_-}gRm zZn6#0aXOXoq$y&(Zi+NCbV6i&V?s2M zL|Yvkivi$}Fk6(_^}BV7m=;$p&!4j~&jvnzKbls(PY=5Cy1n)ul;&nN#EHl!rI8qu zLe~N-^wng(;V&^qI|i6z@tLVx|56p#(1q_}{iZ)`i)}lEXlkhb)joW zk%1^aJ!Z0ip#O0fmI*Dc&Q*HBFFF+z^W8@vo@j@)xynKt2bh6Fb?U1kBU-d|_@Plc zyHWapzx<|+770YYDx=y7@V8zh)L{=#en}aHZXTxuxe4{?m`NdVS*hH`o=0bT!|>EK z+3j#Q8XuRYLhqccQsFU8x!&6zLsuzPJs!7rR>i81CftRJ!4E>R>J7KKsn>+$SIC3092 z-`tQQK(i1RtyYSFh9{yT5C7ZVV>QgKt)$-UC_SAW)SlniT+E+u?{nJF6#nDwVaT!9 z`I|51s1Sl6Q?5Zo!2d))V*h;xFf(ovqc9+#pF_Bw7#bd(@~nbND;^^LV9RGz;Me^X zkN@k%)b6ie@8gnbYkI9%#CkP^<;Z7CeTyYt6&&^wKQrfK-2YNjy6|8L432HYBnEeT za$N5qPFn%zs*)qCFs)D+vpWYq=YmRQeg$JLRALmZ81N3448j{avPe zNBMgOd2Dma(iG`)jdCmVg`lhGH<(qs?T*e0E(QS{)>DF}Ntp|rRZSio5i^%4dWZ!K zK456H_a(t*G?+n_1VBrJ*knAxHW0IeT)H47m{bgnR`QS^`;;%{5G@Rn4u;ekjAn(F z`+I^iq$yaGC@#tYZ-A){oRXEg4eBDGT%`(Vt>z+J6+lXbR8>~01}%+GNef2P40nMZ zun#6-&88FGc|>1Ewnhgh1AVB%m7ZQIl`@f}zSzF}5|PfDxbAqejfci&0w&L1#xOZ0 zj2ej@?h`KlHaZ4-Cuif1x1m#}tL0ce4t-ZcCfnXtai4rFAL zg`ulH@F;z-Y33}h<5VEntb(>t5M!e*nQDFLlEBH4n5{5uRwVtHZbF5&mVlrC?QhVB zW%28~a3Yzn4j72DP6YwPJDw8INo!*=Txqp5n%SoiO=G$0ds^Kudgr;>Q0dEuo@0t( zQy<&6hnJpO1aMacJ(G%jq8L~Xj#y!qPJh3RCYL>vPOhQhU{N{sqeN=X>MiBF}n?1JW+@$PX(8(+2ToYNaOl=V{w8@MlDTO zSKsN&@uA_rXMexfl{D2u;vLUgaPUBq!6igA&}92x;R)_3)TFYc>;=F?MfHS%TP-3L z34;3G0(GgpS0MKqmwOv$`0JyM<@4<{-r?(MI9#(+;fC7Y-gwK^Kp!NYj`*V9<$F?y znP=XZz$EpDH0^-1EXI6zV>*ebc@6zIW;7*D7ULtT1imDo0jRy4roAO|K23Kn?&hou ztgTY(V3bt*_UX?qYROFlTL=D6prm)@mTUw*vSZ@SyWJtudcSn@chA&YSX<3jSI5$Y=IOQs73)V!LDU)Zc`Vnc%hCw4##kQiJ6)YLF3|wVD+uCZi8{MDZ zk}Xlb-j;s;cs)9iyy@a!N5fXq!9ysu?#T!j(|=nHLofQD)qf{`j;b*{{HVLm%CrjdA0wZdYIBi zWvMm5gIkhjPWYy7(>j+q_<;sH2)Fq1!ycRtT6qW4%JSF@V~EL;OBCD(LN(U+Q_139 zixF}y(;=9vmiC*Q-46P%g$jNmkcdFG2`)D)M7}na+pnqE>?L|&bs!`^<}dZgMemGW z>0|?#Bb)>I=qMb=Yn|;r>+@@U1|F81Kefe37nJIp;{~GtS9enhZKk^86d7Xqx|)gd zN+>!`@kH$8q)bvxIwL|#tCUjZus}TQeO|RWW5V!->@7b^?et=_C@5ArWHRXQ2@lmoC8DS>nz?hxr!1WWvYtS_=&@;ueG|fqtR9zdNq?$Lzes#!+FT_ z0Svp*;BYPTNHuX!Go89N1;p?gF_*rdpVyX|kkgJ}Nyb!0vDU4Kq2h1X!b66Vgxp_H z(o5i8)FncntWu3$y6@CUb=>9jKI_lm`Q7dL`tSID%ut~BW^cIv?3#)|6N`su;GF8V zvhiiS5z5)Q(D7H$Pw#3&4S-W9W3vRB4l^>n)YD8%ULFZgAM>oO$aZ%vZ(UgWD_`Pg z*bAxz_DCg$yHg{v6h}EmMza+o^Fnz7_P%G@LU$1u$+X7$jJ2sYU2=zYxJ$8QV-gCk zDNVW&!+}8YBe6uc#9uFp;cYaNCstykLv=}+SXf(`XG~3pS>|=CWyjOzBDZWH9Ik}e zkkvdKGaeOy(X2casZ9w@)bof~OrYN~?#NA^8Q06c>Uf-fYIrbHNYut$4-hNZkXZhE znbXDTW+uMYCuWSUlm(R7V~6LVaQ|;~g9+woSDcp%k|Dss2||MEdjhD^=jsGK(mJv1 z{>FPeKFD(Hd%a=#`nNUr<@C0u*`}W<)#esjE1%bv^s=HdQ-@7w;YRP9S}yvQ-<~73 z2$yFyBjt=)Ia&!ONyV#|ziB3QC7e_hxD27?Fv^Lkt*2aXt-7{qUt`OIb=umrzoGI4 zvGGslaogp5Iti-J!+c$bF<<{&Hy4U!K9z~gRb~LGr?rv0sHLs9wyy2h(#h{ndD&HW z0+)QXSW0LaD)#lbV`O~>8@3{96ghcgH}=tLG1gFtoYI7;79FMuQbt85!qIxv5n-g@ zGp!VJHch?(Vcx@5Vrzs!XQr6(l}a;fn@Rw^CW9V}arOdw3c}b5ZDAl8S4=r5^|1h* zHIkUnPJ>qh3cB$x%bYb1mx*eoA-0m~`%1q92&QZMzy`{d_0IVrqHLt~z(wg~%-u|U zojjd{mGa~B^6JJVG0$oeLetxM5#nK5(5x$rof`(|oImq9>nU{?nuK@T82zvA3gf)> zRq?v&E6O{{*e(5p8hAwcjAi)kA_U5#>-Pc)iiPYW@7XcL#Tz4-l~nTh4RJVSFP~+S z^3tf;waP+lUnxN=kABtvbeOgNbn)Y*{DuL#!c>o=<<6^Zyg9$F4z z6$y9zkLK40ZgVI=hQ~Ta)6?>)=j6eWsD_-w(QwafVzAgHVyzH~@|%1AF#8_bz3>(c zxSR`n)fP}P=JL0FL>r%jtm=aP@`ae8;Brf1okNaB-G-2|3#CWJ(uI}eY;=BZHd5q- zO(67VFcVG5;m%3(r6+q(3OM(XdB-5M_7@uWJ7V6p>lUtqPb!{@qQ9kl4y7dLem}Lgw1hHsboye9J9TDHN3Gsfj!>Cb-3Mq4GVlyk zv2N4>i1n%>Y}CYAU`$twz-yv9pd&M(J#R0n3pE<^)p9h&%~rF@OVK-vYK)gQO9WO| zSQy90mnO$K`QkO)+&P)`r!6iPoA1gwwPWO{AkmN&+BJ=faRW?@!$#a0N1Iru`jMa) zLVSoMaUoHW((yasR5;Hn7!b9J$x;gI^JnItNV_23I- z;FKxKtDwlOBh1KxV3Y}k*-%}HvSHw{3whHm(BdTBVM0~{p^8MLs3L5YG{G2!=WRj~ zD!8Pr=?c&agnIA)LHY#^LAZJ6_b}1y6sMNJNQS&ejJTFq7YJr)XiKzk;Y}gr`-1E> zG#l~}bo-jEE>}xOd^RT;kKQn3;a7#JD|6ye#KNTZ&qw!8_Db5dQ+33) zAU!90I=3WqT(-eN?CD-;YW`JUOv$m-!_R)E|4tr5_Zu+@uB(GVUqMrAM-XS3D4s<7 zIusA?fcRUw_e^%T)NW9F0=l&gWC)8%AXc?6B*t>NC)aoG3UD6AsR_Mtvo+gul~{U1 z0$sV0<j=4HluIU!vqBR?CbfZE$d7;-T6R!GgH@J821958Kw66+g|R{b%52CZu*bmA zVc}$=mFaO+!RjHvfTYDD@BvONXK-jS*dr~fs}y4Ma1#`mH^gSrO{`VH)|${d!3hXV zwGvhl2gWktO5R{a%cPijxHQ=BFw$aVXo38Yo0}RY%a9e32NA3+k!GzbL^V7%hzR40 zfFznjI@V%NnwqlE&5lw}E6b_T9DRF8MC2!zS1pU;U}TRybQ<*ax;yQZJ$<5^ z4D_W8Qabp&qR0ESkWu4`diV)uZnZT_55~!@&Jr&d-^WgOAQv*FnF1md`Gkw9sNrcN zk?k9k&oj|?x2M5Z4$HVaA<(`kGFXzj#;4V-jVB$9m7LW<0gMng1&v6V>06b`O9n>w zqUotRrT6nV#81&c?D4t6TjG^zf(37FVG`I29;7Iba=-T@q3Gh@ITgQi=nBm*`X9B< zn1wb|>GG;a;+YkGv^Jlut6Uq!+ORWt`AamYb)ZMz{ zVeI*D@}+X=BNWyfC!2WP=`rQ%Za$J@DvKv8xvI#dQuXj+;STxH=lQ1l?RS>{>t){8 zQ(GO>v+|zw-v_{d1H7P51F+n=>SZ^zTvTW%s9bPR>mvnff)trRGlJ85+)s(`oiF#A z{;z+cw~~2gf0FFlwlc|VXWs0}_Ab)I|$;FM`tfa!ql9kq;f8J z9dPboYb4C*HPGDA)t=Y1TTj4HFM5T>ILKm%uAnw=2`Pn%o>GRwPwtTc8rXZ<8KU)6 zHTk(6Mt!<_adqfm$Al-+awX+MsB#4$fvwOYbga28lXat5cqJGc#|=Gt4^rhyf?6LV zFcD7FQs=qcC^};;lpuQC)%^2t0knC)4@tvQeB(21ElqtETHHj1??G3`OjYAgn$00Y<5m zDbaC~=Dy53o%K#W{x`Q6t4)?P%=&`MeMN1pqhgj;=;Q6(p;%Q+T~}kHb9#b8&VT-% z9R&`JearK@nqLT>l^!ELb=r-4d~^q*TEi*s1&{dF_X$n2Fih4liZlz;>%c~N3>2cx z&lNrrsn3yU%;Blb;lZ557T!xL_bKxl!69!3NB=Ae?8*=L?%5B9!8sVJ^_V#OCnS>n z%qjf*C^JY^Rz{&^Fx-V=YywpP&5ml&&MYJrp{WU-0LN(mpM*9E;;|`}uY~fh^7>Dx z2R!f|Nzy#DVMi!L!VxNN!EJyTGKMt;Bfm}Mx@O<`a@c??WSnfAd!2oqKr^LjH*w?1 zu^h9GlgV5^)z+&m#ug!BrH0Wac1yb+O56Pkfz1_-T_4D#3+L;@F!xf#i3FNBx(tV$ z^ncFlG38P5L!~wzeuRnlAw(bytfVf>LFs>*w5@n;;*}vH2=4IoV6eCFXKKq zIK)@s9$aCyQ@-x-|0V$=3^jE3{Hp(aO7^q%+eNqsa`A4)V+qGm9S=_2Z2eaf?))bY zKJyM<{2AntZ7kfXvQm*8`F!v8fFLipUapR| z&|{0^u#uvvkA%9p7vh;0kzUSOf;4CpM&;(M=P2y%oqjAF22D5Gb3$G=#`}HtLMbZD z2}&4^DW<|$E;JtjHN|>a25vFG9eW6j5Smpinw(U+GY+QX0;3pPR2{B3K)6jhGM^q7 zSjkl(1C&FgHzw>)r@KsqfJY~n4k^^L43x$vwPKnDb1+@}UQo5!k_M9ky4FK%obip3 z;A$l4h(h-9r7+TPiExhu=6+tscyX8>2Ez+3j8m0eCbe9Yx3BNL(E4ke81d)nX-2v? zXW+0*UfN7uTTSaJr7g79*ZbMpc9cNlvB;&fhVV&6VkO1c{L?I(rbD@BjzOrEMy!&J zE02zxl#L)O!2{y?WpzH0;CtQl@EG>FT(93!T&^;)FmYe98_%a}{8sH76|(!$@HHHI z_`y9DbtS-rVM?P&B;;ZCXMG@1Rq~10saB_pysBEKbT$IPnCe&dFbxZPK81R>G6ApL z%ND#L!;vYtuO!%w@zu7-V>a1Uwy{|+*1aow;Gx^NkOBKFRLAF4{=X}^{8%*I3{nD? z27=`0wW2Z2)Lh-Zzl+|74N)oZ?1Lgu+7qkK-=EoLgS zbJ<@!6p%33{rTC`lw4OEOAQ--dc_FPFLPj^OMy}p+`PK!#?US|dutt~_--ev&=j0%Yl4P4}FOokrKwG0X-F zeezci<^FCI`lq7vUAGQzhXBvd!@)-ifiN0a`>`iCWVgVpx4-mOzZ%%vaiy54nzou! z>*@@8xceNTK{N?X73*;a*4vuWa)cR{yFx>2g^U(CzAj0&GEt!}eKywun^6~|6Yph9 zNQ_O()E2DZ&=Hv=1$Ej(m8Ao77w90-n7H{Y>0rDy0_7ayea{Gs9R?N?&WI+|fsRuV zD!g<`VWbs60zL!~H6N-)rbY*uOeZA>4yHgGjs~plQ7SkFg>omi5N2ovt}w)i3a-ki z?U5F?nY~4)a&^2V0fvk$JJ1P%+B(HTdDI;hp>Uf)2!gk0gqBId##tq{9Vb#vq#S>w z84A8#L9F9ofdVsH$t+5ci;{eNY}a=7AD#_qN4-{BRxG}kwhBNg;Oox|E*g>;&e1^2 zik?E}=6JE$rOH$jkjQ<#azy)*yX6_ls?aN{OT6-M`ItuXE+V zk=q8M#Xqjgg>*BQ{Cn1p+ z8V_4SJ>iM_N-8hV?h6FXk}P<~TAk{Gkr2?kD1j^RTg6~+MG7;ZTZuq2YUKmrnw3R7 zsD~%SV@_$V9jEzwtoJWh8#$ugBpX$zUq}h?4)TWx?ILoL*2j$)Fzk+l?6TKKp|r*W z&;*^}zTpmvQAG4XW9c?1F%X-Qq3TMUd+ywsGBDwUGvP1^%%QZBXqS*wjo6FlQ#Dx` zel#93gfn0JUFA^F)DeC6cwDdG8CB3*?`iLga#)~Tqot@^4$G~k66jJi
      NQ{dzps zG*r;1bP&Xe4Cw#(UmuQixmY(h0{UIw_gGobt#L~7dCT+en5*mMO}Vp3)FCwX6Z%<( z=RqdiTcXSNQ>Da{2(>F*p(RVD8qYcSe1O2JZe*`Y{?1UN^j{(QBaV4RAFcFTpLpb# zM#_s!C}3Hx0viWdb9u4e+ zGNbC$vJP?(Iin=5Tnb$7W z5b2M>L862;ig~F;lrF~4-Djg9i)M^bS!Cvu0pB+=ww+_8z4i}d03 z{CTjxfDRdZ7jNz&9x%$pq)b9gylY@8ddQ&j`T1tHT{>v|7mvtLD4$k!<07x>lC$-; zO|7=A`n^=xrdGTeyYHc5B03^!WYjn5qkJ&^fV%rHeVkidt%$LjQM#|#_qDvn-)@kv z!*ORc);%^hv;?|TPUw65EF*POB?o(!%*z{lcPSy=ggL{V4|lZ(ac29&XvWXou7@`u z#XHKwb1m&0gXA*a-I<`Z84qp)ax@_oz%KoUmD3;YfjG=pl68TWsWG7!dwmV!O{ck6 zV|`8GZG$c`=b>#M9Gh}J2ud5Z0SmDi%>)+h4`pypSpBW<+sou6Vi8rD4@Vqu@+l)& z?`A|KoEI-LIAuLjiGaw)l*)s9d=^Tl90U&t0wN{Hg%OGEMks2`GUX-tT_$M=)(8zb zoE&amfPMnA$jpL`{I=C1Y}pFyclS@~EZ-Xze=T_5T~TQMXm{ElJx_Kd>2o?fI?ft{ zePVLd%?fNC7$~W*b~k!E_>+_T!6VfEl$ZDAe8K-Z8oCFsKP;nHkKrJJWj z@{bN@{m+jPj$mCFeguAZBPMhe+HZDBQQpmwA4r@T1uX<6qI!ECZle^L2O`_sF`D)-;G(5s5z`t%MJ#Gygg!uKkAvGyAI^~Y~XZaMg*xHUer>T7+{5v8PSY-s4hJBY$T zn25@Za!s@|WJs4uFybZn?s_hIR%S|8#k`C%glU+R>S3s2&4KY_306RM05vkOBs5^s zi2}H+H}l|O!Q{ZfY&XA>c3yeWSf#mq^0Y?28e~>Rw=Dy$i`oGFpqt0vCgk=@y4c^q zMN3}iz$BwHnr4f>N|VX3?WgC*)79l_ox%3j#vO-zGLDGP&-XGHIhN=+L>nVo49Zy<{CJ|^axVgnej6agn7+#@=nt39Q=Iz) zB9bws4+vl1@o7SixMvT3s=eo>F+C;mwmAVNfOga`I{McL7TanF!mhlJ2uq-Ro-O!~ z5u}$Jm8&P2S3bWNBgguq#2>f%UmiK5gK9>Kfp+g0jU`dKHMxs3F(w{-G3>X}b2(ibez$^ObIFE^pi zUu~qWih3`mtmJGZ}G(dXm~7tC~ET`XKu7XmD_)r=U_!%+<^W~hVa3;8N3#cPtl#mOYgNdZ) z#DnGHY|k+jobfIaA*&*kMdHp>a8t{hoT2pcB??PcM>;j=VCt-e1FQj*&Ajw$`2Gm#3oydJX7FnWe+Y7(>#5Ek%1XTiISRml!epGz%v~uKXO_@vu&9`K)1<8=6q4G zxe%(V>%Y$?lcwm*i+S6i7$hc(aeUyQEZDPrdOd0ocMMBr=SLXn4Tj^i|hmIp365uyz zSKFZJL)o(y>%IZwQ$a>hA|&Qe1ck9b>P;6d5evo5D9M@M!tmGRr_P2M(6^9s)FDZ$ z+=u}052ewB1sx zC#~=6qwn)>m*ngAXKK~h_Q=BptI*FwkQ_TVRqFm`!LHz0<8xi{CW19}_ zc~Uq|t|#T_1AL^lBq(9!B}hVj2xpyORGk(ugUWt4O8RB5SGk z$z$<!9zO5`TFtu7!EW+nj#0J^5DI z69&$Lcw{;xhQi(-7@ebfNW^q)j<1j4hB|A^lc z8^YfX*Tp=j?obB!Qwz{Ban+O}G`H5(_y|nRv3$2r`$K^2ef&uGohi*eOTqqTv(NY4)(556>tV7hP3ZMubn8Z+|L4_F2SM4K-j8#^ zM&q4X7kwH$jZ|uTz>+5Bb^5mZ;||Z)i(#9-=JdnzaL_yLU$9(*@wwrB3dt*!(}R+! z(&M-1S414at^dzv_jBXF(d|z&y`Cfx`)IG8mSq=gZ8zpmw|>{NcPl(xclp1*TD>0T z|LlB&a%I+b-=*q_zmA<*G=Ik5zl@~$f6n0e^S)1PK{^swX6RAu=#U$X^eor-R;a$+ z4Pw@nxZLX4|6$g#;3(r|KeW#%5a8`w8L#$OscNzQ_1L&hjkOYH)|QCJ#j6iPjZ*@J zH9Rw=n68R?ql!sE7a7eWAIBh_j43@NGZ2C=)YIkt_#`y89v5v16Be!kVrZT-xTxIA zC%*a`kr8bI#;Q#K0!Gd`fQA^>Kdh%Ua&>>E9rQJpdV85ne@1SbAmQ(wI2aFg#aLsV z3wIKqx}_{gWzD3p<#3zVpKr){b6Zc7yWv4u4)Q^cUK+s@S%Zifuco*tTs{Y};1Fwrv}I-rHZ_e*2EjzcWTgeq@}r_gZT{bMD#xFi&uC zxOsrY9fe?`135c@RyFi%=8_wQNEDQ`qR#?dids;l8hCDDO*vW&0z?Wb4%9MTGrnB8 zuv}RROx36qWTub`UDD#tI9(AMs5+1YZ6C!C87L+Y4SE(%!VzgmkQ5RH&QB@NvyluE zDF`AM2*jTf?gund39?w|J$cq4GKjpSGz=nQgk+SID!G3Uh*`2l{me<}YaJt>x|-^oc+48fy|UI3?oY?{R~@LRhvyrLF~| zrz!W0M7=LcTi~CXfwl%Ta|NT%YnCZ@Z2ST5E3VuKa1-bcfYAPIE0KeDiraIbHqS!9 zF$%ylj)PBBuSJ4A@}XzrSrL=A)=tyG+}#`6YEf`dm9t>Q%`T#Y#I)sT>hl{rAS0=th3;KSRzfh5h+b6`-gf z-$>>a1H)#>klo^u|Mv>{jj{b}OFX9}IX6n5moL=IjLQS&>uc8c>#6r0vt91;2L$du z+mYKNO3hEj&wN$~Q}O!gy~bKP`-Eh9{J%+8G+_kefF*KgyI-o6(pMMHQ*!ysf-bF* zqld7bs&pt7Ga@nEZytJhT3JatX~{Av)n$s==({X(o|5=k)?a6qw4GQBEXK;!Co3GC zmoMp{14i5!kF0gk>HZo!c!?h-IthAB)RtsFEtX%@NE^wW8ye> z{PqKNM~U>A!Vub!8a`ySEQsG>qB0^+%o!^(t2cdC{!{o9^?2jQtBh2tAod(|7xKPa zl7T{mAQeWDdyt`iLXZSZVXK04e-D%LEgUU^$TtFwt+i(gh)EI@)DFMff~F zB=mrCVu`ZFLaIY5m^M6!MXdY)pkOgF6>4-Gx*$}n0YkXhIa(P-2GO=J{~0`qx}Bs) zC?%e~weizmy2o7Eo>^qFhCGnW)%S`(Lw;AHgq%r7jYzbBK}S6J9sKPT{8i$IC<9Jv zIx+hV6&6lr8VVZ5B_<|4h<|ClVW+pC+nC z=ca2`0(Ma}E)lu%-ACa@u@n}vmWYFgt~Kz-U>fZY;(EDZz;3?4T&OiFZB$ENneJZ zGLQQz|M8`!;&7j#q+$gh-0`>L&B{|P6(e=`bhW%*tiCgF(z=9+t9Eb5{_sa*v42_R zv9zX>F&(mMURXum=+j+eM8@z=ceQEx$UhtX+l>Ve?e=Bvbtih)o*W-;`D27Wh*443hyYRe}n^ z7;zO%faL)^5s(Zeut+gDI#Ff7FZdvH0f}P8B5L&CP>O#_VIWlURH4lmkiZg2hik7; zXK95LC`ILSkx4n@_VhEv)$xaM?X!_xar5zn;wcC8c@UXt1(>c>h&QE$ep6P61As9W zHa9t`87Xv5|0nmOq_Y6?S7|@t_%HVgBqPArGKt|G^S-w}d%c`6+phDJyy8fNYsm%3j0kH?eM})v;gs`j^g`G;s;(+p0HK|e)|oMBwsDE{J317v!E|96r30R&3CUQ1D8+1V!e~&VpQl z4{eR5?|%8d)%*0-rsvp_tBdREAF>PeXb+amW=s`4a~*GwfkCbJpPim(U3z*v?#{nQ z!s*uKtS^0SmS?~t?@l>7s@ih z13hb)CHWD{eNfO3L+KE{$E4QPM9xPaW>-&Leqc;4l+BLOHQgC(OZw`5BX1Fdvms1g z@aX_pt9Xezd4>%-8Bkh)8Y;j0$Cdcc7@#^|M(+N*FaZ(vo-NzAlnRwoN?JRsj(>EH zzE+gDgPzXZ|LqU?E|-a&$FR!}3hylNh8|GyId|?kOX^z4 z;W84ezgBc#@v!N))jS=I<75Kt!gn*BeImnGqsvpr6ZER&G8WTVeE;ycQBiB9TAkTl z;9P2SxEkF5=>CJQ)m3IaP<@mGucC7vsb>54Qp2E$z0iZ$~gf zoP%Kg)FC^4CKEa^eFhsUMpy&G5G&3FF%palg4ANA3ASWFomcGscQO+>pCSql779j~ z(%OYK0!X4^!H39K%^UcHOp3T+f zZq=hr5mrq?|CmBXnm+jwKfmBc5!4n8B%)#;+s{!kNKJ=e=1}lh#GqAKD^uaw)^UL_ z&HI8FwDw@ISVbU}GI7~SQM<%O=B23dD|Pxb$i`%W)`f#&gDV!jwo|#K+K#`I5BGLf za8bE`MlTWS49T-d*|=M3RgY;b`4oD-?Dh7wAQJk1KLXs|4xjsf?K(a0Cbae`wz=#d zE>X3nVi)i=k{#X1+>J%=$&R;NYjVC1j?8ksUv4SXYITLNT3T$z z#I;PIWg`y2-NxF>@r|_Xyk4f%^nBPa%iqgUkX`_E!PKVb)#U(xTfjj6m;crNQ1b#L zsQnl{i)`jR_t%w;d{u7mmD4n1v?mXlZH_a+s^bUbAtnxCwSMHTA=&@)k>h>Md$IMo+9Z5#32*Kt zk~WQ~=7TofIp+4F0~q@N{Lfe2e~*lmwwvv&-m#y8_q) zeEmy=|78OEE^nFJP7pzrxw$MpTY@9=#&nDIPT)5cl|W`Mn5EU&4lLRgyn0cWx878MvKnrdNqPNl$g`+@*;PW zOsx(VC#TAvSK9IO9c9I4MmnDf{ckyySKSj+x<;~~N{YgVtV|MQv{N#-Q!@9H%MsGE zqtw)eV0VAzGBc5%%Q?MV1RK?y16*y&?XnGZZPqF?jK7^l4&18u^r;*gVR9zaqBHiE z<9A{GPJ~P{G)yQDsWV}daaai*xbcP!8CoK>}CM!*_0&Maj1gN4IEg2ON0u-ag z$`xsv;&4QgfJ%XY$bw3VS{_S7h=B%(@Io2jhM|*;e?`P=q9I8)}Cgrmaer0)59A1pf*+(qEOw z9t|FA=z}h;C;Gva;mbwH*nfjH)L@q3fy!u*+i)b%#w`vUv3~Aq zHqM1=uvf!P^+B9bv7GgEb$&wx>Nfn{p9Wr3_Xn z)5Z3R%T?InQ8I4N_sPJv_V>%OowoaP|CrU4g_?X%n_Z@n!6lAvhXATdi3qpTV`k=a z7u)T*Jpae__p9NWs}mz@wfc_e$ULmOl=kK$~O!A@^@>4>;`?6U-3i0cP!_?<5rW`}>R8UL9>8J9ZNBPG!d;?Z#f0WV6Z3B1=q znOkTFznzJj+{|^JcOFcDcP+HU_7gk@ zCShlQi;AAaSS!O=&ewR4?79A6D7K=9ULaAg7v<2IM!oSnoEu5 z(j$9Su+%9jIJofkd_jj+zt3jM<(eHt#a0!WmxUa$F*;L14%cwre03+A1!5R)Xm#f=#ghfFx?^Ac0`6l#D|sWYh>fh(#78!J46* ztXREN+USP@mV{Iqpx+`O0ZKw7*AE76z!8O-<|(9xKyDF6WRQ@>RZn1~!-%DQn}-)$ z%OiBIZ5FCdP`Ftk9e}p~#XbhgaSa3QC|b>Im<7Dgku-cb-k5gsi%_qo?cR){SZt;< zzZQ#*QVh*LK!gB8AOsR^2$EhY^qMqZ%qd<~jwvD{#IMa$nfa+ycdNqP87YkwW*XnW zD^$P7fWaOOsY)_akC22~28yX@D3zpKuFJyN@$!idw#8Pn-oVCIr8+<+BA_3%S3uIk z&CNz=VXm>1t~^f%FmOKOL~p6~Z|~-4v98ELtV03XW&0f;1Sw-P5SvN>ZLz9-m^3&J z(Q&L)1Y#YPn~kYKjuy|yo9qQk(vg| z)^;Wr>#4dtJ_qxNTd$Yzxt~`@lZZccI-l0k&yN8*g!hZ}H-VYsks(tt6V)GJB1|*7 z&5nzc^v|B}0lRB$gZ>q9V0J(QJ#YW{7CkcEfRmdf#?*O!4SM)21^**wfLDu$_w{9M z43G`x@$j}=1+ScDPK|swoqxI5f4^1+#Eg}cTq!)PL5^?tI3GWwK)88ch%g1`F7k(Na<9ZoK-~I7d{QLDCm9VSra!%xR zuzZ2;)xV-uL%KFSdu_FfY5S+>4Ylk70@JLmT)i2&mLo|E7Dy`6eZ~TPDrt{q3R8vD z*)oh2M*N=3V2{SW63O$=#E8Gib?8v)i5AwBlXi5|HWLF867C^VmT`gDmX6pd+Y@LH zC$BElZOVssa$ezKSz}`0#={h7g?%QL#V||@25zW7tUyU{RJK$s9BEKYQ^h7Vl9=ow z*IdJ3@Yus4)AFJvL{h1{xny;SikOqI-HlCTzs8%oxFOz_ZMElDH#L6gR!>j;rKBCB zrDc|Di*4kLWGb2$W45rzjmD~>aE8cYC(gn?>~0`H7CZJhC4iSa2Z-p3EaUc+C7~8L zL`a-qh2<=kNkZm<7)41$w2%VWK&3?LpalR|pkN+~6SU$$7{(A$K!_y7FjY{VLWC%# z%bG_J6o?C9x+{0yl?uV*6%dCSoJSCAZzZy!TU;@5hI7Xs7DR=s-wXIv0MJakWWbr$ z4}{7h+y|Jiq04l*L~OT{s{x8J6)0RLijer0D(vQ50_7S=*xIRe9_ef*T-+g7(0+>G zF>13s)zw0G6?O_w>?n#zx1cr_{kFx(hkIe`Z-N&Ns@L6K0F4P_Rju_OXdUHomQ*Zi zSY>hs5a>j#AA_Qd$gqbF=kY<=<{u0=Y;X_=pgtsFxxq->X-E{fNBTmS%5i~EwWvO9 zbJJ4qTBicIbS`mM(8@N}ammP9l)kWsRwg2B)H7mXC1~aYpjD-#fV$V`=ia*>49F50 z#UjI|(1CHl-x!8mPb1<+zc3aWZp8|fvt(B?3Ko6G#URvc{+wv`k0e>2LZsv9CchTo zKBX+kCaads9`SU|+P-u%+WzAzm+N~y7adz8(|xG!R#P9pI^@Cg#|FdcPvRsYI2XC1V5LT zPAyw(Hx+?zK(($_rW3YKGo};7pAPsN&>`f5Z)Lb%zlqLokw<#G&qotF!hbJDw$w+M zg)Mq3?fl~=6#uvpeH)cIG<(XbEz4X-C1d2*m6s!<$)(+YrC0;X`?4IP9>}tF6U%&CglJRC6xyhYSPLtP!BHGx zN<=&mhc^YQT6S;hqsJ`l(oVaRa=7~tOKydQzUmEJx38goo!A4*#j#L_%{yIiz~^jV z)23d|3JF9m57IYL=RhJhGf~FK&>1#cs8y%KQ%hsZgnkFd`M8!S9mT4sOmbY**TvS= zv9r`u)@~xDFiQVfC-+I?cu-l+(Nk3Bqov}*MmjSlnPobLLt4nj$;Yfb5C;3#zgpB? zI%Sz&V{vtDQFn7iT|Fr`(T19GoR)f;zM7i8v~--7a^4J`;fQuFO)kB-N}OQdIcO{B zmOO~DFRG7sFD_eiJDz!mi+LFPAAbq0)a=!%x&}f%m7fSYLt6Q4=`WBxH`V}}#yk|U z1rFdiIEgw zFO``rl9IjcJNk8<@awxM9C$tXYap*D8;RS=uw!al$ODnM;n~vkVyUwp)y}9y z6fo;r`0n4dFN=l#y!5>vV3*V3pYe4uS^ZPYp{0<-%0HHYh~V(HIi7WRYvP=c5#cwC zlAAFe7UALUtS6i}$@K9ST+#D=P_W(oo+-cOaX;LaXqV05xIZ!0f~bK=tI^JissR+D zMy*_>d>W!TLUk^lyY-UG@4MUHP0+dlrYpnK6-RLdS)$qHO0JT*dE2|>iH?Wi3;?|4 z7tMx@Jnlxy^NW8-65gPFM143`jZpEeC30p{J_D=iJSKG!0j@;9UdJi4++@~ z#4Vuf-yPcz2g%Z+UmB)w4CJg|JK4NYFcigx6&SZ^;gg zj>44P!c=u!mrf=_iTJTv>6Ohwq{>gPYq&+~REg}dCVsfd@GRJ)b4(-|8;B$w#-d*d zb;to(Fr0XI?nZQhThe-FqEzDMDqiw!H&2juMoh{jVfP$L6mnF#4Cbu17-N5~2;EAx#o2Y4jRoTn z^JMZ=Sx`{SMn_|ME;v%nMTKqI1kl|(Mz%(ItsOKIKnFt4pCZSIav;o~7KbpmA9Dn6 zE)~3!o#lKj1pT&U29R)31{?eMR4}B_alJ{ko(|%iL8VAS(EU&fhZ>xP-v85^C%OCoDpXa?V6DXt_`~7)o3Uy zA#LCrt{}(o5hsYbxR_hhBnR+fVQ1R%eFfK>N}57rcSU1s2@!2`5kvDRYK{mPlw;`+ zO_I;$lDBJ>_h=wKjD=;XcXjM*g?=lnbZ(%j)q?CUC2mi41}mTp)`*GU`i}Umso80E zf?c7&*FM3|A;#C;q}S+@U($(z9f|?xiKL?83H60L?Pz0C&L==Prw4!>w2@2pk?Z-9 zScN(a7B5JYdIb1$5>&Rcop_#&bo!PP!;rAvuC!~QGxmtLRRukYqvJslgo*8t_t+ia z0ujGxsNZvcP&sl_lO4?;mi~a<*pYV2i#Qqr-s>$$Uzl^^=iQH~tvc0}r@m~!0 zTrRHKh+A#0vf4LzUwO2$`+5UxtDmnr2)n=D9+{7Av$)+a59;ncL&-7FYZhp5(8r=R zD@Rs%SDL=F_UE^K9}ZJ}KaVnNbkwqrf1tT3+&&29q>UiDJDrYIiKi}AZ=aOCRl3Q@ zZ#9fjSS={sFyG;+$L9L_yi3ULDK`zaC+6g1f&yk)B)6$o$)y6bL`v6Dr5p8}E8CC% zPapgd46D>KPq;L-IlX9zuZdc|Lw$w4?hUL+PIF$~8hEcFmd9-w zg&K@OcQuO0bru7i)>1+44iPRAegjim>tER{?#NPfV^iwNQb)Mxlvp`v6flU$;-W#r zV&W9T!=$326d~l6d*L!ddilrW92(W8e7IlIJUiccU&OD9`*WQchv1vMr`eZp!=`K< z89>r`D;QPRFe<f#uuB6#@q+>^Gv2p%LYSAkzf^V*#U}P1JJK3^;SOfR1-eP37}M zo^hn@3uFXp-`;pAmyA3>%$b|YXcY2+9!~^qNn~g{oasMf$zuGFL@$(+iiAyinY#BR zBeDzu%fQqoMy8Lv-~REqUhssy-~lh}7&5y`@{*-sy#=+$3N}p$)ahDre5pEx_iG9Z z!c@I3oz1!#KikOv7#{RKv}udP(l?XbO$PT+BmvJ@riZ+ep3XX(+L{@w5%R93w_9~^ zIV5~!^+rvOQr?3G+yU!&Zix*ZO4 zZ*MChiQE`hTJ3i?T*rrX1!}SQ9WI9R!8&b_=PXMTwVO#Ekl8KK+f25t9;**i8dqn? z7iS7@XAYZ?6k}Q?d1Js{L)4!MeJX!rb9r3uFSkE-ms@=9r$PyJ+wDIm>MBO2_4s{0 z=0+nnP0}|r2E{a#3o@=*Y4NW-K8IhY`M>A4zn&I1VeQ`x(cFOltCV+UBwTB*XQ``7 zGpgMI*Dz}sPwgWx@4Frze>;V*XDtbBOp2>Bpk#+kSI_=|)4!SqiXtA2Dw zU?sC>=$QBnkCE-JPq@mFX@1`hwX13jBvr==r91pw9h{4qZRi0S1}1{?6_3>hi8b#H zpX-%17@N85jQrXe(nh!aS9#vdp8cmPSgmsn3#Y>E1<6fTbn8o3*6Yuod|N%FMjo=` z-0mNtK1$E%J}&O1lZDU-4|qH{~GfSWD#43n*+_1cf4=i80t>W{sO1Lwo^}XKQ zFYp}Re?L;J>l@3BzVf(z-Pqat@7dp%+clKO=fA|b$DZwu&(pr=sTwz%UWSc~TE4#> zkeRE+S+j9WEp#f4B0pEd2I0<)s?zJ4J8yi9cBnV3{Ersr8dD<^bbp3rs%4|Bl;7B? zhT|yTQ!AOFQ-qBx4OlJItHRi@?=G6Mh|>%EwkfW(NFbYD$cVp;tDh3Q(M@v6_Q64L_=sgE;w+|YC*a0A zVb3tq&l6}5H_m`0Y00?3>q#vM%26f;%^Fokw9u775)c3es^H;w&Pav{53c&?yB;)F~Wt|m%=|Ar)AII!PqFX^l7s5WV8p|vVwXH#=q zu-6PJiydkT56Bb_q#;DG26@F73>LQ^dX;R4Cl8|3K+B)P<41SEYSzatzi{0h=MCPR0t827vFP z!xxBr43@UCYGFyX8)LRM-cz#zSsD}NR^b!IsX^B7Mt`UiwmqK>fmk17pde(dj@>YW z!afGcGWJ77bjmk`#4sNCq)V#-M_s-3V-(_%lN?UBr@%KeTa1zM>1@2Rf6rK6QvZ3G z-D;@g>f-r1tNYn)xe#AMNMFUV0Fcq|XU;L+lj~+9m#S(W?ReUp@5gL9rr^}+W3SuI zPkFnF4kSWd^law{*vb*}-*=WC)4ZcTA7t+j0}E|3=h|Ug;4`;5OuIi*UiZKl8^JHu z6twsnyT13rrF-1JKesnNCQIykKDS;Sud{eO_aAQA5u@<5y9@bqHNnVP3aK&tUeBc= zVz0c916#UZa;G;jcUY=n6?TFL0b6}0AN%G-iy?{|0J@ zC&Kah5S6d~m_p|9o^U1*+kf58mc?Baptx->cE0Om-Fv;v-x+feyvcg2z0BrpgyQS{ z(0kD7(`vAtD7Z1Jx}N3 z>!>QqeQnA4dpU1k!&__v0im-?ZV<}3cn+8A>xFTs*W0rHGYytT$9tWbuV0D9Cok$B zNQ`Jtn5zLJmABe;u;W|Ze?=_4^kBA}y2b9^^6PybF8jW14o1%}LN1lMs(?M!HDFrk zT1aH7WxW%n0Q=F%oV=U-Sq}%%-F7U zXg>XxyPyG&Z}|ITUlZ7?Zfrp#O+hc;bZqnhO;TCJUc}tm@OOlEVzHRwg1vSIEe{_X zkv1*NGhzf{Ok4hFzLtV~9 z?&`qHw}|@#6ar=r1CafQ1e1cGAc~zBto+=W`%e^}@1o&k09hP;g$TVCRi5N3YS8Rm z#Uv7nICyG(VM4IuNtVHyu)Q2XNJLSV$jX7cnh8M`5XbIo#y=jo;);kKp8Ox&GjwcROtc=$CZ@O>Pi`ttrli7&8vbD z3CX;~k#dQRw}2RoTK1B8@34ibuaPMiq{hTFY~!Y}=8n~)!h)f(gS)C`Xd!u)!`-+Q z>~Jr5K_ckv3-Mu_g?(JAzBzC>B*RC_h#(L716~pOyD>($AwuC5XK^hgi&)ZPB1HGl z?5X?u-e?2c8f){~8Z9*BPGK}>Bhdumo9DLFmQm$e7|_Vt!2c-8i|Gd=?arJf1z zdY-#P&DdN-6WMG=i#}|5|HxR^68YB{|FwiZ*p^~Gzx9@%){{~>^`HfJBUe7;Eo==+ z9igXhQ}SvbANSLIe5@;f*y+01Cpylh-pDYmy)TWX83bJ?O#`~M?x$SibJ9<6MXMgO z-VhKc+uUIG;nT~0IACo7{{M2F$DvX@*ss^zNU>iigtoj}jObouw{7PLTiAy$t0N`P zY&-MUG#uVL-FT75_Y{nZ7pNARUgjQzYRc!Wqo*}k8c$EkvVfIM=#5e3$a+gPfwmUX z^_2BjUWf1dlBXI%brs-wSn=@A-JR#(g|U09?AY=KykB0jA%L9Q-p~IAAHcNnQ$|{2 zr&pCL=6Nm{U*>HVlI}4ls=1#xjb2W>F0tQ+Tq}5I0ViNB!L_>g9>Zrn_w;bCj-!*` z72$)I9r0_6T3LzEqvYu2Jr8=vS_Q1<-zJ~#y`9>dk*rVPobpHhS%#*@pu(BAPcx9| z63iT<_pfG5oPP_ncE%oA$s?C9PuJh~hkAS;`*tzD_U`-OT0?_Ui!t>($s1X6lM`&G z8_mi+1fru{l%|-87o!m^2O<|!7&S}oEk7J-k{TKkj{(S|a#8r%0iUc?u1BzIw3n^M z-NoL^4ww5J2$mzyAB$&g4nkWF9&%jB2A>yTSfBbK!F)(4QqC|e?rb_S6@i&`Hu6I}3^?HY~@uDgflVMtB z?YN4H3L2fRYS+(ZR(xr0sq+eFPWL1#>D2VUMP{fTB*l*MT2d$QNyOPq#=ksE| z0|eSs=~SqaHG%pplJpItfPTqD8)^ms0?rrC-5t4XSn_#7Z?ev7xT&-KXELDzv2*Wm zkW&JwAPn4+=KE-2nOG#+_Y8E1`+{hIaC#leq;m2lRZYhH*?x6JOV*u|s?NEhJz|R; zAqF%&Q=7q2>f$TDuirFEGV>X;RR5??RRFJe_+XQ>B@?l3Q7PS_ljPg=sW)^Vt}+v%VAvKrC#{GMCQ92wchs^(e< zSiS#^$V%sBvp9PAXTVNog`U$j8(Y`Y`fvMwrfc>lubYG0waMSJhEG5eaozh_;-v<% z>el0{NX>ll5}BG4jhM?`D#Gd4zGbsfWbp>tuQcTN%v7eoPq->zYhn!s` zf8~3e&sx46&TI6(h8%g@e~SBKBK~tco@mUSU+wT}hQ{JODrfIW7V~)Mr{?0y%YVJY zh+(!JS9->one+OztFT{Q9eIxjNvwpmGptPE@a)g?bZ;>EB+SG^G?1Wz8;_3@DG5A)SCOBnAXAE;m33K?r#zawUGntXKo)BM0dFEO}pQr zpTG1jf66~qemyMhkF~42?miRt*yZXlEJkd0#C_o@z|<$`*JMa975^K&j`fghAN&e_~2`M;hjH8@v`rwJt@4b;{IJ_H3z41`nS;C6AeAUjK)+2$%ZuZvLyH)hSAtuFR@c&Y6W8vIP?qFJV+neV&g(8H z?Ey#C8bzYPv^?y$jv5S!tjeoF&pJ;4&0&w3A{^-)xp`$9^aP8*Hl2yTm>P)8#uP{B za=tlvWL`Qy4z<(fdHk}XsNv?0rJvZ=YkK%l{mUI%)9HKFzb?K^uvTl{>H7E9X6kRu zJiGk*_S&{bV=Q5XbYo$tmh-Nha9T7Xe(|1K*}~y0Y)XY3K0}u$-!cfO%9oh9;XrX-5$613NQ%)oP ztH%En!8lu;&r>Q2>Kva5mbcHBbFC-0eG&dSdFl);$38~1V*fdK8kY)=fwdCa-ic$k zTb2^9-nQvTzsl3Qg1I;T@~Q_g?8TdGL28ERe;+uQx0j8lCvV$Hi?@e> zRHBPW{_O9Awd&>PWw~lW7iCDgL(?WJ)5ftQTABOv1n`;#5t|_+$QL(Hv58+|FBnSt zh`c>0X^9lsCK0exl9F@^iI*~8YdrSA*xGR@%CxAdWeFMf=JEcPe-F;7mgXny5AGT|q}izl*wu?go#dZv zkao-XtCkiXMy#kN8#l4(XD``xt-0dvF#EY_F)u&RM8pAehP5b5Qj65!K*Xf6^BzI^ zL|I_=Ao&*BH3hQd-X7#;OiCWSjOYoT9x5@e-U(0xf3gq`;jenG98&N^8mg5Bs_*CE zq-L>(^1%v%cUhWvxL9?6M8Yu*hv6y>;`Rx^?%DxZkVa%+j0rQaEbdBgX9*gY+TJ?F zhN@QUqPE7szcwU~R#1b2qMS2oAuKg9=Eo}nzL0o~A!6KN>NNOqw8DDC>Ggt;=n>@d z2vS>l${9dr{VVWNGP1?M zE{mq~(PiwIFsZXnp1o7Kt%=t}#XHNnYwrT9-Mg#4n+&=_3V|lI|;gUxgn*8f1PsyMJ_L%HXCr#iEz`)m9A z{uQ8StuHupvLb2hhyva?0PL-1Jfh^~I$SXdjz>JAYO*^W_K)y&I9t1fb9s1mjzNt! zbJ8DQPRS>9P;&T>sNCY}63iHP&(fF5(Ah=Xgy(B`u_MH@hVJK28;=?QpTg*VrUtqu-dhvr*)Kd+>If1XU;pT6yLHode{WsNoAAaQOK&7E(%5>ybdMy9 zQoF)Ef7!0xzgBQnyTM!yX*{6aO933oaXfX8Y0CV!n^l0o`Ovp@870Tu_ABYT7)VTm zuGDEh7nSM(qY?@yCUXH4P}Sk%d^*CrN$EIy(l9N%dfv}V{f|k2%eu_1M&9XL2my) ze7hDP3e)%deRL`|X(B_q{J-Ii$63>4vp9J-fFC2aSHQaKbw5`CKY` z4U8O~Y3?@apsw;Heqx7p;{)PyLul1n=}uc|qx0cpfyw;{q})Js_s-^WwJJp2NJgqn zbFnWoHCegFR&ax&S1$pu9;qGkVz?kq$Pl$2L zGlrBzl3!Uoth8J_Jeqj9IB{@bMNGTYj(91F8H-`;)sr-MqoEWH2~XHU_(>}v@6m?c z2pg^ma4Yaqs-wbOCI;|xVO$o*CK>GbZ@9=(d?=>hikl(rjrdxU?oa zTz@ukzp-2EZY}6e8{-J%Fkq&aYejT;YH_t|MvRX~rLRV93E1=W-(lJ1MPnyXWilKk z6l;%XF&Al%rwO0cGpHiQg9+$s;yK8dMRe%4muQM=WLt?Zt0wIdM>xO7qrt}Gg>|Ir z2ifD0nD9r$!&O&T(yKFY*d0m{Eir*X3yR7I$N8)Z9%Z^u%_dj zD{#V~kXNoibZydGHS_+SELcV)aQ|C>c(*dl9+UNUa~CbY<#paQf4s%%a&x(FH4TqL zo}pB^8t>AwpSHs?!YwoF!Z#rmA-)sj1HV+FZnE6vTlFMQsN(&ang89X`;qBr!j5>L zO)!hU6%22ysJcW^cxzDCeq*nsteB2*GRk&+X2t1Xe6eYD{k=P{)#Lk}D8JS2_4!a% zF+$(zdUTL!4h!}z2y;umGkf=6f9z)m^F z4%zin))I5|Eu_=)rEenz`vh}UE-6ZRYlqigSGNr*hqv02omsc;$ZH=mZ$iY+VuJfe z+4~t7c_ZF0eV^^2Xa36(pRd^IYd~kj6a4s6dwz1YS0CHWym9!HX|+lfd9_uxOEBi$2PBQFntMZC^-KrCWW_V44hr#RPEyR+5uRTuWE`@B}BCI-(w->A~<%+m4x zrp7#f9`p^2%uI@R3&CsG$4$c?Dg z92U45?=+~+x5mH4yjQa|r-zeuyB+{?^iR+nJKy_?%caP19sb2u%8AOUF8<74*?P51 zV@FKtPc`#_mc4M2_Cf`t4_%`{@}KrpyYq$FN|f2j@hrlG*Qv=UD#eDHqr+QK5vEG2 zz`45P>6RRhS}q>)>D|P+RHH!Z)PRT))lt+#MNY7O+EfK))!7Bz<*n6)#raNS6SM7< z$Bs)}7Y&SuhojWwKD@+Ag`pyHaWXMcQm|p_Aw@1BJ(%W)6xu60t)mON&E?9piHMw; zP>xk1ZhZ41kgUdUQruQh=re^N7s?-+=<$yL=^4#IH;a;)s|=b<^#GHuLThEc&P8;j znl%!lnVxW?quF;kg!Md?y(#GkgP{_e<)~qjw~D5va<$b{X*z>U!z8$Ibuev?stf!0 z5zH>{fqXnp4vWb_7~)D-cQ)#LB4|qHY=ZJ{ASrM>m`wbYg|Z~R2m=5Z1Or!K5n_ZI z>IYnG&NgAOE*YXrC&y$0mC(MqX zJd%ze<4ND(4Leef{D1?EXBj_(_J$~%&T~2iD-p+rFwscb*U$K0e7$3Pqyf9N*|BZg z>Dac}v2EKnt7F?XI_%iCopfw#>e(~J!{){CRiDA{tzU*=S<^{uM z#s-fCu|@QK9Cet*gbFqhX|W`4d(+Eo-uv_AHj4_fHr6h{&-Y>ru1wJXJqN&$*X?il znNdRlg+-eKq3kXingqaK7~+a!M)WJrfpM9kh!H~)iPlpZXt&x4JCjYL6KvP@J&@bW zlDtPkz;mzb^X4fYN=XR+U|PgCriZ7ijHtfsTW(`>n1{1WA?>%KqjZ1eZI zABIZP?{#|HjANy$B@}S=9>F{huGY^f#F4TVe!+OHva?ap=XQS=6nqC#QGseyqum3z zu>VYL?H&KF;x|nmRhLa1EsM*}n)VyEQ%2ljBOUlpXuRB)4@{7wS==UeV&Mq=p++%6q7swYek)dY=?iX|;!EH(3f6F7+`}+kLxx?PRi7$C~ z8|c-Nz(}fnDlNc{nRpUr_H8m>IB!$KRyTq`{C}=>%{Md-EcUtk+jPK|=Z5&dTOP%M z8lARGZA`f>jywhQDwoT1?s35+$rgb;y><29sC+Gng*y98@UY@fN0 z|6q=xTu&^KbZGAc{273H=9*rM(@>vd-5mSpp~dBsy)3`0|0#03pJ`i2s`l3Z{A3Jx zzZ($T#O-yjoc%-YtrxDr`BX*u`duUET|w()A46{lfzO^Vn>m_FNFEyO3W;dJN z-<*LH#Ts{8cV=vGTqp{gEJUZVp4H+lYGqG|iGx|lsk}v(wV~0>`QSdUg)>JpKRQ@k zJ_rs`-lvIbM*XX9rmDO~r@j4;jgzc~qS;2_c-REbG6KWSm1cKIfUqKGmQiY-QYK`i ztSn44rerZB?P>XVtLwy|`iR$iD_#8E0^R;d6FH*Z?<6GW8=wu5n* zo=#R>Gu`HEA8??-P6REa1VCRmiHZgUPILD7(c z!r|`6MR6NKh7HJZthKogn}A8^p`*m%Tz2}v8cCA310K%~s1JbHA5+G5B}@?;4Y5@6 zf)iY!o|NjyX5h2BJumF0i3J2R$JfPtcznKu*E>SO{RzqLYHM|<^niJ6&+5$d_YX_5 zx(T)>a{>|JvH9|P>;&p{UhT`7V~K{8xyI<((Nw8#jHn(R^g<9#Q{m5x^gJ*$ZY4pu zebyf{2K0GZM7#!AM{r>yS&N!sUY|FqctraA?rs6!f2KO3Dqq2hSEnT|79grjq7O_;By+r=a*pGGcQi`wR20I($6qdmlOOq4 z$2WaubIU0S%WBN$sn$GcW{>a=>z>Dxe~@awpOA?BywA^oZlvrU_v6(i6%G4b9&h`6 zA6b+g5b?#TeVv9$46m#aPXCvz=bn$dnOeFfx3G>aNu!GcxDa67862dN|7?7m^QJv- zDDIk9dDOb~ygpM{dF$N1V{Iaga4BN}^+;9z5Xfa_P)r3@pXvv6k5m!hMeT1c_ZuO> zFxksR&VZkprD?v6LE2S@^Noy0WhZ&BH7BiE1AXS@(loM24ZSFNW?^#NEcPA8J^Zz%iTs8H_ZX{lOtH$l|RbKwj&l+y| zOE0$^ildk_y3}UQ>MJYlhWgs3j;;o_x~|piw3!l%xncPAbcGHmUR>rJ!XxfbBcsG& z?D$0-CItW!pUkM=( zC1pYm`;q2|UI-m)1RYPoox0C0G1COeZ^Je(!Ed!I-F;q+UvL5w0uUY`EeF z-l;_i=tZ+EDc+IEK$mSGP-N+j?5{v+C`aYoD1bPxc4Z?DYG+y=f`oT6@a)uwR&5!K z5;q6rAevH%V{Wd9yZ~74<{IhG6MMjXMiAv~w_AE@%KFl$s!%ZGNWo`rPR≥<*K9 ze&-1PW8zLmO{7Lld!yloNyU;-52eW>CC`~FT%z&+475Z>i8J=+Se%J^LktwiTI{i_ z=*gH%(7KJ@M6ZmUu3*$}v)HKMWFYW6$UnHdY6Np@2=Q!>ON?zYLhBeEduRtUTQ7<^ zW6*BZ_p#f5O9;8X*m)g3ylRWjeZ3iv@&MHEcUK!Wat#&0H7uYgF!YZ_aJM@`p&6BJ zUKL>g>QUwte%YD9hjawXyH24tH>#+tQ_3b5%SkgOt- zb5u0v$Q>;YCmako^nM@becuV@+PJ~an9<)b#{H)lv2nD?yS)-JWNqzLctnh>^m-VL zS_~{4C-4t|tNiDj)t(knTl1)db@m>X>v~W2vt#44v_dbJ9`K=gJ~43VGPQ8c(E1u$ z_OBwlKjL=n-0$KcImE+)@gY3`phb6!sQ93_*}J6jGP);&^sSl)?2Ce5_?tMymxylB z|I4wVc$jCzFTg|RjWp9U<|%T1dt%4(AMoAP$$t~MqNHcWb2^B=JS&6;U8)0c0S#?cY5u)PfH_aag{J}g{cca~L!Z2)>x1btq?u{&2YOE$ zjw`3ExCOT>9B>*(qW_VN;+y+=3>>$=?(%1tFP%F1lDzj6m zz!ttBBJOP87BYoeKW$xEOGZqM)QZf}Y5LjfSl}vsuUdsnz5@ zFik+mVXM{Suk&4R=W6_&?`ONQy;owx$?0B0YprcgZ6DSyM-xdoR^lvAJ4IuybN@Ed zYA3)t@9U1`*Usz7Heiwb=r$X4FkC;j8Tt9D3rH4fT_Bgy-WPiMm>w@`1$0v;A4BJ$ zoXB(K#j~1cvlS#G7UKMjuQHT^u}%rpMz8^ahm?jj_e@{zV?%17pKNN^m;C1$N=kws z0n<+bE@^}x&IC=V6l=y5FOGw1L6d2s*`3R3QGaUAvn7<}nw(38z|(K&2oZ9_SGs`a zjaHyYg^+P2oB>}W?!^8>h0T@;l#2j~6$VGmtfjk3!}d(CqY>9=KY0FF@|bqtXEn52 zZV~&`LD*Naff$d<2|Jje^as?*LEy2rDl6n6D+n#2Z=8%-{+{ zn(P-c&szke$kzv<=>~?}we9y5Mea~D@NQ=N`LC36#^ZN6noljWFCkE5K;TrbJu*yo z#LAhtD@X_{>wC!ytJx`-F{cQRjFOT|_sj)KnIK!FL@+<@DI*ksY&jLmThB491|UB+ zK! zEE9cp+Dkfq2{9YIZF$5Re(v^o+K;es*T>#;biZDmx|bB>YP+tnvcWwb> zjeV_dP)+w*5v=bdb)(DLNx?X%T6H1-aSInz^Z_q3g1!eGhGpp;))3FP21LMHf7BoU z&tcWH>pdRd!#;W|pl1{6Y*WqmS7zBf>tO@`D_~hzC1JDa(Mf+LDtxeFG=SRdVxJ@| z7v4>EKokqVvn3-ZSMGG|ZdA~ge_Jn=o;KiOyY{)EvV0`;7Tgolqw5@JGfH>M$E^cs z<55=l{;J9Cmo(D^3cWXVh(7f0RkQ$t*xv)@HvcukR0dGulzl zT7W!z(=7_ptz)WNLjK++uffc555Tu6(y(CdW8U@zmEUgbNVso5M6Q9@|5RJz?-L%s zJfBLdZ!I4H5iNO&-}lcW0$t6giQV1-M6I2auH39eYH!vmch$?}y%deV5ezT%1^O~k zEXH7VQucZipR7YH(yAbCmH=Alp zis;L@2nt{*KugM(h=uPcUHrYo?R0!DgQthZWi{-#8U~Dam~GFA8ZTSpuiX?70YbdYi9O*R$KXW7fTD40mUpXW~Afwo=K4<>0Z6rQ`-J# zQz?1C{K#4BH9T8HfHjS+q;s&iOa&5c`piiIaPJ+lb|Oz*2jsG(`y`0} z{I3LMaH&LM=>ax4R{Y8O(M9c8>WM#>!oecaxJ6dMCDQiV@FgZN@esU8R3bPl z=kE3x$N=*T!RzqJlC_DB`=fRI@e$j6V`e z%Yr3#PFJ+FRL}rN3Z_mT!$Al3{P(Mh^HoKWqO) zIKSe2M(Xx^S?z?9+}>1nYe#kZj4(YRcjuS{vfuwXLg5%u0kaU2<6>Krl*u#~8K|v8 zSiH4lJWXQBImI$D#!W+ip38G{LlWXD@p6u7F#KX$tnzS>?R9M4A7ITO$~JDh*qu)|1Jnk*bOHpv9&(-qJU{y%o9gsgqosB)_ zlPlRRo|w(^Fi&YYUV*!0&lgKHjxCq3z2sX_IDWbWKG)P@z>_It=Xt>OE?~c5dF9fB zYUB55oBNKf?1E?G9#UTQ=~E{e1;Ris7Sf5&Y3zmxg-V~`q3-kjOZB*Dn>Q?x_szz2 zZPu4WPg>@4JMQyLKhMxW;uiq$UF5%zgy`1&A0-g<2eROhch{$V?@74V%%yR2f#t(i z#Acv3 zJKq-g#rjE?@m@XB>2Kut_7^NJD{DsKF}dcm_V$n6OvYPHETHRPGURe;D^KLh_58M= z=9{3DN(;m6N?;xTaqz^O`Tqi}{#QoV{jlE7?YTp*(`g-WE0rYpdDQ}_byR zaL8@J_O75f(r9U5#XIopSm^g4j#B7;aMVBh>M!5Q0GTM)O0i#P|;e7;=OT~p0Sa2U1>-KExc7-gWYthG7& zr`6%R6+V4bh51mc-DKl=-9z>yIx>Ptw886c*y(2cyc+aV^r>~IiY2Bp85)mDrL6Lh z8tgFTc8bnA^?GB`*%;2Fo!6|9)^U=aa79uc7wBjs9d;`?=*V~S`z?xPyCly2Abl`g z&hF@__RG>wTP#N8S1Nuw9#N|<-pQiP)5;m3#VX8a~Kc5_b$MXyu4-CXc7nz5i3IvDQ4Xr{p zTD9tf2U~!bW2PS4MVD>lGnsXw1asiHr6jZ1)ir}g{1duBJv5iS{TCQ2($6`b-W_%)H9_<3+LY)oTG zsJBsQV^g#`dDuMZd1}n()cx<;An~$ciMTy0oAYQwL(?p7Dl!tIGid_im^` z3OtKrBLKX^q|*iyxj+oqdJ_(< zZX@t^(OcS^Z&zlU6b6@9B6&~0@e3b~@;&NjlA?^T<9F6& z`8roloSg|$9oq8;*jO)Etl$$EY6=-v(oc4uLa7V`sC|7>ym`Hycv=6-c%7GodZ-ZL(>A-jz<1()+J49T zd(n_pn6djloG?$#>z}%!5peela6n&Wa1c4}dPMYLG^m&Bmvmdad@%FB!+w%(Ltca>^)28EnUZ_06;f#7LdL@tjAHyh_bF*2=$=!i!-&I zHSxnauOFN3YxVvkn=gn(7raUKaf4t{ZhN=h3;bHUG|9BEQhAvpEHfEz3I~o5{i1%1DsN^m4t9i`~-UYd$>QGyUxV zQYpz~_&4x%4rJ+|Y9QD3Bl`ROu8C3Ld%$3O$M;;}q*ULyHuPCG`%KzG#!%8(1W*O4 zcmk!hBF61b!p~;PNVZ^-yf-h=$Qa05BKays))ls=08@bJ6jayL9WZm_pL6V!eCUUN zeKiRmk4c6mGjs%oaHJ<6=7unySm-J);qPT6FDt6xR6x!znyZqmu|2!U%2d44h6KOd z;-TvC!0`Z3n53TuPRT4&oQUOc=e%azC33>Bu=$e0M#!f0ak6rg$77i+Lj$i)!^RiM zw5#-YOhddl8MQpAfK03cj6(SeM-!Q1eQ;)}xl*=rb!_JGTlx^4+irpq5JIg2#KIpo zxpg)_7abBYxyF#P68lcj+t+meg`)ElPybqJIhTANk>KfESEI;4r4ZydNLNYFUQ5*3 zOs1oiF{>hnSA*r0q@0#bsQfjU(Fkq@t4B;a0uw365Hv=@!tDu(Cu?Cs?aC%3fjS0F z3L#!>^n)^dP$=n?8Wp2~7ez7D#EI#m$7XOpU-Kf@esFKsr-%>Lh^t?JF4udIl!=Rt z5I_OqNsFUcvP)yimk~%|_!}D>Hljbl(US#55wxBhHB)R@iP~q1p+XfsD)z?@t|07~ zKC%A20%qo*1Qcr0pd92p;$reBr)F|o5@rD{lEf1#(CXjFgSDf9>^KN z*hfci7Evx19qHKbvLRj6V|a>0wJnvGahv1ZIei8s)-6Yaj$Qk0Yn*G_hPYI>bqhwP zP{&w38(oDnvl(Si$fY%bXWB-32CZ?q-Gho3rbq{&b`!%;QS@<;0q4+Ye6U7*y@@Wn zb+T$mV|ps%nWyla>U-X#BMTfXo~{x|E0e#gS&<479oMET_6h3-yovPh?2L7= zE3T}B)9e#OHc-Vhb;S+bR4uGta{EgE1W!VUvBxNofAmT#TY7e|73}^#Cb|;z?Q%Q+ z3X9>zQmmAli9*7Zg}i0lZ)T8))Mkbx0nl z`b{(z7K3$(ulHOFAMlIRIA1Z(ze;?)uAdd|@ov=zj(z8i`TD)d>RsbvXA&oGFsg#c zcjAS2agofeaHIh1L*mI_<-?ioi2%R$o7ZJJDW3_*Qx1C-xUSP6^6qpP;pw=kg2h)q z)oHi^Xb1{qp9DU);YsK2Y+L!fzDW$oURCmq$jbI+a(zAmO7j3{jUN> z*&SNJA~0TpJ_osm3bQNn2%D=5^I;uWU`or%E4Yyi!1foZZH7)&g*1)gI+jrnb}wibPA- zGU5=nCMS0XJ>7IHoJ8Lvz5LBhsx$;O=I3V=XGUgUnX#S8;bA0)=QYz~gNrwFyQ(X~ z+g~f0Ov1Am`h*od<`*_y>96Nr0trd1sgvp$kE~-xO=MbIg)D1}$6SeK6Ah3lNc`ZGaYNkE5C?qZ~9VZ@1xr+Bf1WsfUD?mrFtfv4m1BL6-$Iel1c$!|w;(A3DG-8rrwP_tuVxHyueR|vQ5?`a~#N)?uO zSNDm?p<5{jh02kRQq79xbuoFYslo|I#~O=fZLKmmpv9804)6$Y&|0qgY;l(eCE$JB ztBcXWl~-@;9mQRs_}mBtwSOVn7P^M5T5+?(5WN%t&C4eEZemmf+xijB%cS&+J_tmL z@dNbinpFHl147TNOnk0^MUZAS5;++{dCSBK=LMaSKfnO%H{k?R{Z)6W24Z0a2I`BD| z5f9-K-UxJ`jh0ZYM~U@V32nr%yh|AFjBAhB1N#YtXO!Lkaq3y-R1Kp3LiW*~A2&&5 z81aC*&2@EyvueHMU3k@Vr}Pv|JG;RRyr^2r(mZaAUL^xRlOf0N^-1|8cbjT|m7NxT zm(#to#VO@iTiRce?#skA?2fz${n9Z`ODKE~fh+c|foYI896tn-0u?1=7316LF}az3 z*ZWC-t-VtKRv=C~jpBZ#pL)Y&XzjUuo$d(MpzSVU~=!2IK9}af9vw;xA=XpLlJdO7fZ7^q2knWQ~QO z- zuHE|8r0`t!X3$jK^2@J3FBptJ{rva8gm2x~du!@7&=RdZuk*XIpX=Q2g9(tdY1TGg z&C(Gm19lX)t9s$@mkQPduXf76T>{Tgzz;2MRhAC=GAa+W(EgsR@s@QT`m%q5DMZZN zo(GtI+{`5S`DXy&fxe{Q4tLhuDLmy%Mi>FuP!^{KDOmFFG6cNctw`q9?^b`8i3BOo2{=kkAt)T+@63HRS8%hbu^om?wP4ihq>NB z?~h!?@4A=Dot17BBHcK4?;Touju~i9c84cwr5gRcdPFyIsAQub9 zPAe}qVo_Sw%_C!bUZL6EmUdJSHdeN{oiz=Z@NBCr5vVCwN={YRGN@zEI#yrdZ1teT z(ui1m>v-DUj4tiiz7<#q_IGmgHfwRw)Z1QF+hSIo<49K5oJgRBrUwa@5=Xls=Sg6U z!AdKQ>`=W$`vY#`K51$l$UU}!eO+MEi3nV=-2(YpY4jq7h@!YdM#2Mo`pIx8Ev8iYg=KnG3f^(4?R#$|YMqjjtoV4Jvqfg}ox%#Z%a zf~eO7=OK_RGO2K7%LpdFLU@iOO-ul1L6wx)efAa-|ABs}KOl*kEfl)<{H7j;a^pzq z^lZSD8%g{_YCqRoY!^m~4>4?{0E9GEtUqCliv>oM)bIyic<2Zy7d=YTJC-CRux#Ro zHR92S1yd#^6mPL3CwPK_$3=yb7;3Vm1`ntdMyd*uLP=u6Hpw=fZ``$um{JciK<}YJ z3{sXhIm@7iRd}kS1}BVTU|F~!r~%?N&{c2OUPEVDf_3P&)#6;(jH(}~ZTN?`e{f;n zxO*43U|Mq{a&tm*^TReN6ah z0wM{~rDQv17*EvZ0o~k|_3aX!R$jNxOP}2uURCy^a#t&f`U(inb#zS)qP)s$!jQmR zls}Uhd{1WorId;s+f(gy^@VQ0&BN7#;N~B{@9`8JtYrsX&CTpw{nJXEvA>x8piQK{ zYS8X6%{HaLx|gE(bvxFl^By?h!8_^@59|x`2B)Vli8k(Ob17J28aRTi-|COhcTL=?fN6YoOTu2H|J#4w_s=x}l7#!_)Q-UC`+LCqsIP-w z%PP)Bo_90;{d@Mm?*yox+#?^Jm6;L}O2666m#x`D)#z*_W3o zAEer=&7IYbPG>70`$rL-9VK@oEqgr+U}CYYz2EKKqyM9-m!F5Xzr3ytVt592T*<{=7))!x&kRGC)v1lyEb;+1(}C$3dI zWo2BhYblYv`&ppf!HCO_~~LkAKZHGi}T zBEd)&?OD3wr^J&c?16*gM~E6WFgt2ms-j0nn%!w7suunV%fDAnAjcPEEvc_nB9*#UT~5l0LuYgm zIdoOtKf8J9o;V@WowJR9Ho(2?Zm9m#-RLB_<5H1mSo~(GG|dw{k?T?H{ZH!3JG%_? zx`xuTnN;_Vl)&_B`PP2XS*}~a>`3Go3du##llXf#_u(}4-*Tg&b?mlkgv@UUG1lzg ze2R&yf+TbzzXFld7LID}cn0#H?uO$yueu+vil~6{xsJ9!&USuB>*LEc;+G<_*8C8; zc&F(&g!*zaSHA(d8okeRM1r3e3yeKnwj*5=dw7J0Z9{u%qci#C#TOB50S`}bXQ%I1 zm<+_kj3BCj|ISeBWvV;Ys|e91P`{11b%6}@B;n<4L(+h~BN{b|sLIWdjX)F92fpb0 z0ztrzC81OS-x58WGhZRy!|{2(PXMH^r;|8N`v=?1U!`Y-@8pO}#XA+G08^+O)t8M_ z$@Vr4$wy`A=CG+6gGxmq_4q$mh;ioW z6X>`{ghOHzbu@@}JXnm$Y&9X$3d zoNgXRYAa>vs+b(lD^KS!cyC7#E!n2rnd3qG&`R*pgFo6yTg#Qmt)~s2CmIe;3#_B+ z1jZ~_`c?)J(ha@Zl5${`Ql*VX9IvQ|6)=?*o{%{?lhat&2QUw8XCB;A#k85g3?e#m z3SL)bMfh0yL6Z||we~o)j9M?D-)a6DC0>}8cF4_pm^c(_p8u$F>JlYlF6SUDSFa40 zu%?m|w?l}Q5w~ujZc;E+&rh101t=B{e}xB#~MQ6+yVL4+J+`Di{rhsoy?QiWCPzY4%4T zWTYjq4*&_5>sOMpWU0r4hxz-%lMN(}GN0)OrtI(mH8_4oAPBTi%!RVJ~+Bg9<4L#E_2uNEC3yc)G#pUrJ6NmJ+^l&Z$go9px=e z^;LAT2_wiBO|Uw6XA%*3l9d>C^Vksc{8Zy@5xX^D_;HqaWa~13jkp#No2rpjn}#Rt z>>NyolA-K5(wWoQRPX9Ilyk#=U}q5T{kQMODjo>yYU$LYQXA_i@$<14jx_@W;_h(3%ir7@ILTZA-)%8;CLMA}r^S=`uLy-RBH&_&v* zcv07?t)s}Lw!xP}5Xjal3EJ=lg=m5wp(@c%K_ zUhQyv?YrDiB;xlvzbfLaHR$a2e_aMnM_8B)6+Uj2$&}hc?&WnXklG3}IptgdCXZ9k zxxP=Y76$&WM?ry`0d*lC%Ur;Sr57(d5J-)VcLHHESav$ATq)R{1tF$u6(%d220 zy9zzNI2_Vp-JYK0eLfQ9@x9*U&^c_`YZ4U!%0G14M<#abjzYf`2pzRC3=Q!27lL53 z48?HJNa3Xg^qk^L{&GuCI+_1vZoFm=o`K13Qv_wJU?{2AQJ(*uZ7?8RSAeSK_|COM zM&9;K((WT8eOsdzr-F9AvH}_R*_gPvS(<77SZx0~Uy_By;jrE5eeg7NsZ*s*J($KZ*yK{IKj>8q+{ttDBGVpr3Xg7#8-P-?Tu^Xqj}4MvqKMoGQ8#8T#X zH`&;i=C(<b;r4iJlnW9TMN-3ef z8^XcqR~6P5*RONeZK~$bJEh^N3&g(J#!U`^v?~(UvPN;22%TW-Zxy(y9-R}}wHN}p z*NH-5OW8kSV?pGutEyDzaOyHK?p(~|%0>}NcFO11uy?jV=pwLjg0U{rmoRdq>2u@; zI68fP$&3v3#7{L;KxtT9GgNTmslrtl@kDoq|0^kakyG-8lDbNfg0gCFA>PGbnNT3y z*N3=e3===>8+#o*1P$*3AN?sArJBH2AxOW?8hkp93{i16ca~6{h2^v3RsWLaQQQ4} z*q`;RVZW{0Q{Ua{Xkzntl>_C#@B0?P`%I+Y<>hd2_E|I0mdc=eW`i^H7gOxr9Dc`P1|7mw)sk})sf3#XhgU;tk~?88~N-P6h4{)@O1fK(P7_<=6;2>l-b9q_q> zyZ>Li1SW9`GfVv26H^a_T~Flixvo0JW?mb&dC;Age~z%D9{=+;)EkD?Vc>gS^vuxX zRCM2{&!ZJbAoW;Yq=`8IpcYj;hR{h4^=$4JiHJlfn{OL7{ox; z@}-Xorvk|)S9gwAnorN*N(QrJDMI*Vz(1ol;=bg>=jtS&U8{k$#g258jeaDD=pN+r zCzN}5Hw2s}c@kg2NE%-f`y8ghd4St<YQcxgm@t3x zE>2|?PW?PuwLEziP4treB>4u+-vY4fd=YNSLfta-~yE794TX zLTPfgsA$r;-#-vQl=j5Nb6JXiCy=9}uI3oEMMhI5F&~D61HjRRgh08t2wU*bQ6flC z8qj}8QeGiENKx*ds`BN87b!83!&-Yd8G0NE!J}d#6Jp1O?%_1W>g&hE?0Kq zi^;)jC&D{h*15Hs_zX&o$(jZOWDYZ<*)g6lN3$;UOE* z$WClSe(yp~lb2vvBCZu*G8a!WCr2o6u5kLFGO&ZF$u%q+Sv_Y`&~EHZ#j}+enNg>n zM&kT=b_S&#J#m*vPRhd=M1k(4GLOdUB0g>`tx&;Mrdc^U2K@X)$4IeAUQT(Cb7j=a zIBQ=`WTK1YNW55r)?x2gh;v;e%bB7s3&I|GGn`QET|jrBqS)+B+FJ>~cMuU*j~-KN ziA(BOyZjU1!t%<-DIr@=Ai7=-^Q0YJ6^?0zOgXK_p{rWA+3S2Xcf2Y8Imqtz+_E-@ z=R)T(`I!|LEKTSNe{)90wL(gOKKEpW(wfLLGAY#t8Y!!gtfHQ7(%1_&v6Xayg^qpPiU34m{R*Wdgaf&zJ zUqC?t|32HsJ9OW>TkyBCGd3S*$#}U+-Op;fpPcc{%8f}X=X6=F5}&VeQ##KKcGtGL z-94>tCP!xoTNlPBf2A@-r1R%y$ypMmK>xA18)p}5rp~3%Ev71!!i7+lC`i;6B!VRA#+4^mVhB`>9_R0z6&G;zSW*DOf)7P} zBZi&;Ej%15;Vs;NOdPMGs>jvMq^nIzUYKo!d>#4EP#?6mok>3>Y~uH@j0#udWOZt* z%%i8BioCHAVoQBxdvi-!PgO%pSyx3GK4Vbxf^cn1BXx=9OY-gE$dKfge=QmR zKWuGcmE*F?W^}Og0^{{*Xee}>a8UZO$r@Q5Q_cG;i)%&fV;$ZL`5Rsc&p^3RuJ0 zlW_b6cWu;&Zsk!=msAqC2Ssro)a*ND38r;{xhUX7C7uLBokZfDgrZz|q1@VkFZ5;^ z_L7Og=^!UW^7k9&#s*h)d0In=HU@7-;~RD%dg7n`5zhV4Z|>1S2aV0vR(HprO1*`3 z)-<#i^^z8rmhG7oY7F$YI$By>zW1MUmZq}q&o$tiCfMce<`*B@Jqc696{WB!HAW9Q zQx0LolPQNJ^Zqf9d1S>t&pPo%r0dJ0*EuJ8kc_coSP3IJmxhVoGfQ(zPhB3F-`^}h zy`Hb6)#>M6TruoZ^wr1aOa0ACi?6Yjm3H_&OPi<}m)MSoQ>lrZI6cfUkv^Oa%|D|b z(Xxm({ZATGyKsqkxP!W1`H*N7Df%d^Aj$al7pOWz{-L?dIIOcZZ1g#Liv0NcQ~%l1 zeB$vhX=NVTj9^see;KG=;{LJ@qG~2y;j}SX*|9|~j;fRiGE}oT;FM^xMFrI8$#uDs6o0$`c9%asoLY>fe4CYH-3h(%pt1IErS-<#K!( z;Tw3H3DG1;%;co#AqX+zVtoxj48u@KX~{1y7%qB{eym&A@fgzzTf`|q;8Wmmd!*RI zddL29c=HoaElV6R>TYHh9lZJFKP592KN(|hP;pXK_LZk}O3dXl${D~hqG=*+B*`7q zimITGS-q%Va|GrAv$W$p8vX+~FPb4Q%&J_1`}cY#2rpQleoV_!K@Gf=EZO>eXcLQZ z&7&n8!pEfN#h+Wvm|N_asI9@=xxWfl31uyjP1>PLSESm7-H48y&V}Y`7emLDB?XREk``lYsYb1gEX9BYWirW?Mnp>#!q`05pO1=!jy zH9NW#x{}1y7Kp_skS^i($tj$^E?>!_4WGwUJ=fX`bod|LF7M|Y^-VSO(5>IoUCJK~!MfZ7MZ?s-BUx#AvqLLTf+ zxek?rvm+H7^m2S%5w!}wzenT+ytM&i0BjizE)bSqRsi3w*UO2^o0+;<@>SzA%-9ii z`kjx*pKaTIH!r|fBH>ooqoc+7bQs)52ZIW89c~~-;m7^$1EkTT<=TA8nqa`kTv?u9 z$9E6ZYmJj925=Uj{f|iF|9pNMq-)&QE(+HmRzZW_DJnHpKQo|Buf7(j9(U$@d>DPu zp51y~d;UI=H9$@h*mPiY_iBc8##>S+1q9&V|$;<+T57{p;cOR~OeR*Ic}em4@(t z5cW<%lCV*?W|wVObyb&b8(p?-yQ<5!ZQHhO+qP|M@|&6eoS2(4?@eZ8WaLF=vBTX{}#k$|b2Njnm5RD4_Z++~(zYj%2Q1>Ni~kY*K9gAZ$7}M~BuDmr}`+OZ54B`iEwNWjGdA zr=GhRCKGgulm* znCDgWvZzaFbM^6t7Z>3W!%aLO(n(ENr|gMz0FXgN&6a*rTPLT>Y#LXLEV1{?_&b_n z``L{^W~wfmv+{&^P8fmxG_)DKvkA%8cvv&zt~tRK0;O*VFoL{WCT$Et@>=$-qt~l^ z!i1suY~)-vARIO!TzBUlx1c_MbiHI?xoib@R)FCv5YAj6q;Z18;h7#9j7ghPtU`FI zmW7j!et~^aZfV9?T&$oRM>T#MR|qO+)>fvJM<+8qf}z5J5pfdqVk%gA=<+}NLc|@i$vB2z7zl6#s1xe_{`Q{*Q9=SgCS=BJcsLaDpRo0;};rJyVc< zM^w%?RmvWf1U{V*BvLo5!6}6S= z**o7&PY1LBt{nqgqOvyHJst<^Tb3<&Hq(^|%kYK7iwptKVYiH=JvysQTVK0V9e=)! zYp{;?+I}6f4elxbKPuz@BQ^Q}{m;w+3BYuz?(XE`>5{)gxp`aHDDbv>m=|}{u`5#V z^HosN$rDaf+u*FVK3|XQr2m=hVdT^1>HfMs7ZMF(R3_ZT#Z#fxC6<}0IM?jF`;K7x z>G-b!kp~Eqbb2*W2LenZUfp$3bf7LGCR0 z`R`*4C|03ye^{pfi2pq_e&ETcXsr*elV_{v6rtv*H+?j!>N#xGJ;`KFl_kR zi?eZ5Sr5?~S5zMn;H0PNbUN$myi6~i10ptBQfO_W&ZFS6tizWTyes@!RjVuek*r{usG7%4yxtM)#X}#P@)VFQ8qWg+KixZ2fr1mn(m*tk$@?9}l|1;c{`I z)#9vSgLQdQQdTJ$KO|=43jK|c2Sbra%_%otxEPLAB_X0oT0jG*ngCBDJMvg$Fo{fu z^3@1#S5LE^Pt2`^B`6hREI9zSA4&{GsS`dT9_PwIQ^#CVUt{a+iw8G*9eTypRy`OFbJNagcxUJOeX$vcSOnm>DCWKcOc^b_V=}Hsor^ za3FH>pvb@>A$juT)RDgi@&C>3)s})X^pq9kX{!@f#PN-iQZEv_pBMvb|Yj&vjq91#Os%m)?_Ha94WSCWVt3ww-v z=PChbPZHsBA>fu`e=+YYz%#8FQnQdt=8R18)3YXBmqEfM1;Sw3HS6ENVn_ym#KJw# z#4{`!(KwAYZIZKu83u6ne#-`r-TofiX z%t=2V)r3?jmHLhYS424(M*cNo>HIk<^BGJXK zm}RsgnO%5Cxq=)PbI#a_P2k2A1M6pDv>KHs?BiwBlOm_qWN;4S{%&jqz@oR?O@+G# z0`|713y=QC@%r!Yqqjxb)lJvcOMBZ+Tc^j7b{_g~%lrLNZ(&pF1JC_MAr}s8CK@Il z?dT&V)z+A_X75vO_3$$MHjM?utHB31VlU759T2fRgk{-y>?;ocMwlQ=5+F|!$VZsi zOEB%!ELg1X_HR#od_E>-e%e2>w=Aij~gIicDUeaZFD;rKRh3=FO|I|J(tH(Yf<=;7ok`rI0R2PO&oB= z*!*^EeMf^JgNXfcgr^0l760peA>*M4 zt1>Z6q>sB;>v!uSe{af+B~t%R9zwE-x*a9J?#m2hh01Fu?qLnq20GTVU&L~cr6OaD zg@8LE`n!*xZRX-rh{D7`N|QmJaBz^2Tc^g?L$11G_9Etp&jL@O^3Q=Qu`}HWLH|*_ zeCFm3uVw_vov-s$ti&T0^O*Fkdy=)>x));gWnnwy218&YM^Kwo0uA0oPoIZM!o-4A&urb1= zQj?kC*IyWD!`I-ug8T(csHP#BV2XkJ_cxe}VhU?fSuY1ob3;pS8U4Thkm1EaZ~dPE z>hkjT%$>1O6-jj+4S@x1f$fQ*T0qq_0oBUFX<)SApKZgT4jg`UZK1E+@k&8cqaxx9 zb=+9cbW#0dcboN_{@qAlZ_-bbo;KEX_!%=&dBjw0#!>1;(j05b(B|^Z{6(RX7)(Kt zt_)-xEOB&5^$9|#Ho(!tLJ4P(glGc!_~gXIX_16+NJ77Y$*#YJ`fd;4`Ik3{|mJihcTXCNUxS271`fc@s!=1k|#PQNMBIR)7{3r?k`0m zlp&_Cht#XN&hPqGp(Ul9t)1-T9H?7${U)cN;bmOvMO*6Ssi%7ocyscf631a$N~O?dU9n@K{BI)pAU`g=NW7{?85a=Jgj$VFy;_!;Kp9p?NU>NJN2a+bnG)*9y9#fYu<^O^4Rxoq^fj>UIzXA-nB;dwTa=<)KP@rPXF{ z`SpC&7S;xCjuN6Y6kaBE*ldyF87@!X|lQF6>f36)T-XKDfCQ>LQJA$8M%IxNASDKYuP1AMhJ#V@^Jlbny zD5`#5a4r8+NrB5pbdxYZ2Ri=zm_M9dT}uay%7Nb`aI(x!C-=sX157jE>KG6nPI`o} zTCatOY)QyV6HgRm>%~Kvp)l+tuy)6T`Sos4#%aHe3ALpN83gy+@}8W`QBa%;42|KU z7_)zY3wS{EcjhLliK{3GNXxjXmbJ3d5TjY6VAw}qet7tg+}KT{1MA-OpWaG9=c{CL zY;${`eJ&Qg6*+l*s99PV+ju*8Y46MqP6C$dT!po*9f$dGJ4MK8`YllWg^l+uBkpMn z^lfYXg)-2Ab4xw)Zj|43P>>~;T|Fn02Pq4VprewYp^?%rDJZzAFO!-p#>>;xU2SJ1 zW~mY*_1NgB!rYW{^-WVDlTvXCY7#1W%VAm?0YgDdjT>XRyRb3uy4CiGPSG75VktJz zawIPWttWoI7FIj@0;7^^#*w)xVs4#6-I7f}?mHq8;E6&MPylU0PP$DWkrV zxiP1^!8)t9qn#n2?k71Ypf1M__zUlLV(DGGS@W z)QU{wBeUcM^gouRGi915k|&b!c~}!d&g5ON0x3<;NT zu97t8mFP|y5u8PWS<3~RkE@V8cvXFhq>w_mxaN8uXQ8Gnw+YyT3@rPB*lrS0b+d?< zk5UK?n5??-%?$HyPUdzW_v3FtdwtK#%lE^}_uX^HXG;uIjLTHR=kv>}rZgNXsusE}S9_O_ zy{0G2g>@FEgUj1d;e#YHob@4iVX!Rxa66KBVTOR!d`OkQ>`8dgwO@7IbO^m~ETLCO zfnVaC4L$hr*)yjMEL$Fqdjm1q-#aNe-fwSw-`_1U+pZ7CZxQduexHedIi-I`#k}N^ zv^NOj+0FNYl2EjDmugjHb=y4*XT)rO4s?wGAgoT0qxUUw0Yryr4-Wx_kZqDdcxg31!%k7>u)h8I~0}Yy&6Uj?vvmg zUbemMg1b7u{uOZ5;93C~i>Vlum<_M{0F2t&(cAiH<(Kq!)-ybAzPmNTACW28|M$j2 zRkt&L*UNBuM3>`z|9HSh%eQ9HR=H;$!E<4DG9FulA&g50$(QoyQVs2B0UQC>l>eBd z4%}`sbhaeZh$xzS?A8tL%0Bw^W-NHlomqLTuowZ(x8Y8W&@OODgksWRkI72T8HCkTQ5!_0i(|WJ zX_a$?-&S^yzZQx}*SR3j07*9)^8jTkTn4Bo7%>6unkM`fMNuCMSzp}7T+z+er%Gf& zKU)Q%9AZ4ZA|6$oUWGUi-QQSr!andy5EnNhU;?9~{jUplfPQ0v{ zijbAOBfmvx2w{H{$W$4X#B8u98>?C%naYDH!U zBE71C%sKp+3VpK1(FAZS-!LKOg|&ghLU??0{AezMP`LzamQY2D!8oYHI;g`js7G~{ zJ_*UX7=C!4AR9fo-R0T5SoGD?K8Nm+-mhWGQ83=Y9sB8B~FXh;x)gcko)7Fo9 z3t=$XUG0iGyf-U%QOlvj`T43SNj9mctu-v;{>t;(m<*t9G3!XY#J0+v!dc%XF2|}?-V5AHj$s#Z&_aFxfAfIQ|JrQ-= zsxh?FnY-jzq#ZO426-L_!=GPlwwoTFU+-6N3;lXtHI(vUeGfe5z%#^QrrqNe#iJeF zt0k4pqy^NxEfwt^Zf<+eSs}K3?(ffAAu-L)*S6MM9d>)~oAV-~Pp!b3ef&y8h8YT| z1;z&tUn@7dZ;uN;fL6&AaABGH_n$WVzs|jG@Bi>y0IK^9?Nxd4z(=+jq8_1>NOrsK zc{!p;Pp9Zp?WuK%a65;u&Uc2Zsfio1}$)HanRi*UvR{1b}W#*3*V7&tRw6wQLq+SG{@i_7i2Rg zH*03kbCVn?)u^0a5`V@B)g-=LxiR}ZF=?#MV%k%2SCE-h=jVYkaFPw!z#VK`ab5lu?>aQr9UMxvhJ;i4_idkpX>sIAxr>}K# z?o`!Gn4#ToyjG%DSEk1$Acz%-@%~BA^bbww4e&*T37s)7Orcrek>yxri1-+bN=Rz4@_HA6st86l(!W~`@Y{(*Al}*ShK6^F^kIHrx3E*Tz zcTfso*Y6#grYCvu4|Mk>@wd+=pzr z1`4ufQjettu9B{DTO*xbnblFE{(^X)wQW#|QrD8Iom<68Ub};FwXJ+XN1aVqJ+qyi zwVip{Y#CwZVujYCLsSyQfnwj&!Wlq71?k;(Vj=St6RyUbeSeT=6hMY3x?;eDmk^QB zvw{qi?V2=|D8n8nJslr5nGmDblb6wl&yopTYH6IZ&HiR!fz(~euTIUCJc!LU5mJt* zHEXQ-_W*>3Z3bFy@LTE8#Kh!}8~Qpde}9Dcp!L~7AgFRM=P;r!?e zx$(Y#>B0M?)xUuSy8ko%e-vncDaG&+AuK{~cV{81Nc(NyDbK_x$ArMgXm;OL<=?;p zY+xS$-D?5_4_=2({=>puc)xd#J7Pkd(E}x)kPInIv7u^G_Zo!V`yPxdDWV9^Y(P=r>e7IuS9L(q}M;~y$+p^V!8EN)t^{p zmV_O#^gUi1zp^p_mz(iQWU_FLhVSC^`#BtTt~ckGrOj!&G~4WKsB`*sSCmL5lM>JC z+r<)&6htRz4UMTxR!Bz%yCO7h zDVJPvzFVJv%BmWQND+-ve6p@`Gj1!B$Rp%yt0yg}7FXWU$t9ODg+4e1rqv{mH5t37 zO2l$g_ito2QDF4LmCbFq^MLz(rp5^;T-8)&PS~FLutx1JjA#JwL$aSFZ_4&ywub3egCyaE5 zlxE*ajDjNq*C6Do8SnKQ1w;_qU_df28%w{sEe_Ai)rDthjNh3)?l-CUvm$7Rcw`om zbeSzt1Q0lOD!BI-l+YFCTO#aNd6x4)Y!?y1+GPb?I4FIl@xiF>`-p3M){l{EdE>jR);2hD(zl^P5-bxolS`$>jKAWC;Vqbo%9jY{Jt0 z2y2VcPX>ui^>>Q`4xjGO%2BaJMTGSEcT(BXglWk4+^XoKV0)Y5!U?xg=Z+0V$v%RREr_P^^l*Hx`*zH zpqa0lh)P$k8ac5I{7Qls!FoGc8zrGaZ2c3lWtRIy%xfkKQPsJSc-Y z|JR@#G#afG5+G6D-riLl7?N-~-uD58m@yo>=!=KL=_pbvPF5ZdK#E97R-%CTa$i+3u z#5G7k)muir>412kkI#Vx1Ypg$z*c2IoE3e$(oW5K0m*dF>i~YPN*Ys=={*z5+I&#` zLfo_|6$Kk08$6bRqjw|HwI(xm2de;Q^REzvk zMVU4mQ{ha{%HGqLh|HWBs8Mp5S(%>-4~37H^^O!Za8)y)7LO(iMPhi=v#oCd8@j6G z?#;(B;DByO_f(>OVozXXQ?%RB6KY@-Mi-r95S#d1Y zCB<6CjhTB0&=>OvMDLOHciWBwcD0~>Zax9%K`n<+N+#;y}W|n%nZ-sBnXa^%ThGjEVBPj{jm-H zH0{}Fj+(AB72lYYG(&^!V$<{Xjbq#6@p2t7q1i%LwbgF#?Q#8?)F&dy+u#>%85+V? z0{L-Y&cbrhvds5$*+AF*x_>(ebe}W%|J#zV{Gm<6Wp+z+*7eRi6+JA#aR5;+hpnTx z(^bD~^^9Y0sQ0*jUPy7de}k)g+)lU(EACtzFh)sGc)*^d`(tI#=E3BGY8oCGLZo;f zI9BGS>}BcFlYNpi-gYyq(V+Z+7VEOJ{^epDA;Bd4*+t>$CnjIjb@y7q!RLAL`R_>8 zX%_~q$SZ;lN93-;^K-X6Par8Sb9Bcie31B#PxJ80W5LU5d@%s})-^1Cvfl3uK-#)K zy;^x!cLKtHcPPJ1;9q(rACTeRp09?k(>s;!^htWwt1WN5e^9(WACJHNcU%yA6nVN` zy!gFu!;g$zeimqeA7=jRv;ygJqAp!~0jTXkjL+BYI~M{h*9i=U2ViOabycRKQ{ak( zUXNnn4=>ZBlUt}X?zrj%e5M3+T8bOoAXg&Nj6^|s+Olx&%1TnMMDvdwa!>WsiLggRs{7*h%hxM6I~{|##m5Wm5Ha1AV0kG0qu``>73vvL zozRGe@3J~nU9PRPx4N10aLB7ikxLlI9?3ybkorjX9R@d}4V+E!Dm2IbQ0^ie2}GRY z?VItTv9zina^sz_N!Q_q8H&>uz)h2%t`i<^y4*tLU2fM=r5j-VY)fkj|>Y${<%BA}E^eIvmtXy3bdv2Cf) zY;|iShnmWkb~;4Vb_?8PW-S*Zwwb0pl`A}?KM1662aQG_aUTI&AAVym0c)oa)T;N- zQWAhS?vtU3yFM^uBkJoDYGeX=PB03g2w#Amatl8rAxxFtF$ zHAHDu#NOw?9g~o3Tv*7I0-m8TpN*VU#W3B#@@igvX`EdUKtv>tf)fjOG=9|>amzvc z$fiJOz!F@w*lj*n!-3lriKtt;T86kO9pSjBlL2&K@HQpFS56%kpqW!fD@d)D4uKBN zjTw+g@>79NBM>foU+H&9N%gJC$K4MnbXz@62Yo|BIKkmXoXH#mGlR}}BOXq@{*-p| z&^8vPSBq7W6Dz7y4Ip0aec^UjyPbFYPh+&wEPOFhGX)~3ius!2btpnT;bI8%7fbX&IhD)Jswv@SUhSU#n9O1c6Rzv5|u0-xBEw5!N>;NjrLZn)6sraRD}yVS+WK+czo)V z9S|C?d8=lp>EkF8%A5D%j3rz^}usqFUg z_lUmZr<;DjmY^akY-i8aTW`CAO*89xlHHq%TfXgiyX9+k#o+9!%8&Y+4V@#j)^pEt z$t5+WWf)o*V*PB0n{L><+uhTpT*BRKD0@ObX@Y%90<(B*NAQcTV!)&z&Ab9cSF}NAo_NGljLx^v%?{?|M|9U+REg^wgZoXp2FYelTFTa2y*9-02ml@Ifz$<5!P^@T zpD(?ysf#I$rOU9-Sk`Q5v}+}-M>V&}3pb=5NjNVanoC!cRxgnG9kGWwrcKh+X64m| zvA7WqznTP|m;~Pfnfnp@1u*Y8{y^{kM8FNw-$W`02H|c_1KnIr3E&^i2j1Uz9yhmNZzpeWCud)`M>l8Qe}Y0q zj0Ow%@&5@75pGRjBT3Jds!Tg={XTtvPa1;Kmen_AmF5pr%o7NeQ%%ePn;swnLMua@ zO=luGj}OcL{X)I!CPHIfoba;9YL{a4u9-P>HGosmZ{Evsrg!MK>X zxE@9EH4K>{Vg^F(H!u;rXav#hL6{?+-*BH|nkyx)Y|&onWWKi$L^i60`-?d*Y_tzhjnLYgx3U8Uv*ic`gi_|tml zJD@5}>^Fau0Y0o&a?>tB~DAgte%p?gQo{%8&!yCI*I0# z-STB!IZ2#)GtParjvg4v^sXIaUJ$ef03GCtu3F+hr*HMJbK%(HZtkzXJ?Jh^lSu6+s#kmc6L-edJh7JbRJ$2ers>n3z z`rX1piJVyT(xIhL_i?VAySOt3S<(4f(fe63@mex+o71yAR%_dNgg(O7t@02)t>WJ9 zex+5<6A>+WhST>4m%|+c%^3O!s(HhAnAL>bj7gX(_J6;ZX0cY`^EF^`py9P#?W#d@HFqK_B6 zuC@%SiUYW{8Q2BM;8;)67ss4g&D+Nj0C-{ZpGd1pAdz1=PA_5uy^pLWpD7Wdp`p)lUecW8iwHkFpx-7(?A(HXDLmEAPwgS4`yJ@_9j_1R^d|n=| zSFYrGwoA7R<=4DiFSk2ex)>G<-H(HXjT>&fyN(06O|5(CcCRWLh_v6Zq8fB(KI;u1 zm;bIY-K^T*X;MKvBmg?koSDASXkE{@p%Y!tyA+?#t0;sW9nV(v28KzM6Zgf0nPfp( zrNPYdAdNXcy1X4cIhV<0|*FGp?D_W zMq~kL$>Ul6J2jtgA>C;)Q$W$}1Jqr)3jye0&4&@LiO2$67{zy(6k2NQN?0jJW7Xo3 zd;Msm9wy%#sC;&u~k8m!|LCzRguf8_^fOWCRDc( zl!sdAMwB$}8py09k62+2=6P?4av%#~+m~W&g(;GW37Vx@x{ZqXi)%O*C%|=e(akM> z9v)1H^iZ;LiK?sX^E|w)g-h4pRaRxPW5^>gW0S9H>}xA178jB)G1H_bu!&eLGci*a z*c}!@>i+)>Qps3n(XVXB9(fZk%~O!i(!_fg#gRk858k1%c;27_D7|}rYg0hdMGiQZ zpumOGqpVB`)iUkUEU85hBns0Fmq!?_O#M5La5yt*Z{E+_`kPi<@Rw_jl~H~}t7a1A z2tAzAvcVGD-U8TK+DUin&!ZCSAMqfUU-;`aBJ zOZtBKz{cYMu1Br6S0!ZAFJ8KEHL1tUy;iBY%qbyV6qfN(@od#bZ8I8ODp~FLfnxTP z#@hvyT9ks=l@a})3V}@eJu6f3I)}zqan2T`oY(*)mRc|`sJwvQHiFeVg4K(GS)zkk zK$j}ca@mOOZ3673(#7WqfISTd)hm$DyO2uGfuoPy@ur?QHTGS~Nj43D^$mO3Q|&yS zjpG7={Hn8Zc6F_B&`r26LX-8%xFpUy0 z&y*vee&f5b?FU%ymsUBw9f&*>EsfE5^;O0fn}T77dLOuoA*5}jDJ?3l+Merf>U2E+ z`-4f`&46f1Bsd8pS*L zwNfB-a$wZ5z>L7vtXjxi+X++Woc%nFJN>coI8;5F49n)0nIvIVaRH^pBs_DGf1ybz z7tbFPNR9!8rI|;*0*^2yEkiq9rKPpC+2(G3a{fLwVYza$(z5uZ0agTzt$=EngcD#b zF^WZ()y?|TH}c2xK1LRPi^%NH4->~LEEvEE3b26n0&-%&Cw&BUraBZLn%wis|4R)9 zd$5&@p+o%&Nr#o*m(Oj|Wj7rAl{ykIEOUYgB!#8uq`@ zzLDf2pTg^SczS$k0{cK2s-2s=KO`@{JL)nL5% zc2#7V6w&O8NctPWj(DUVsjbmniA-R1(c!0hV1XNb6&e)Ma}#pbz8%Q-9?rd3Dy2kJ z(3E{p_v}Sg90TdiXK!;bIK@jxbwg#e17cTV9&>V%*Zc|gxg0LF9JZ|_wv9YKogI#) zCG|xOoHf<41;`_zjSHL!#W6{F5bZVMnevDOY@=;bBW*Hv+Qs|YlUAxkYcBp+ zYgEN-;|&vuS5?Xl!`*LZb_a#kbxktyl(|fKkbx*!NF;GXY|YD))KgE+>&3y7 znbg?mXrX_DAmhvKrA%a42^7Pn3vH3SxJn1in?_xQaywj@#zl!g4_|Ffhg^ z{xVfi5Nw%MFr3cmkN&`pe0np#kE$)!-IbyoFqDw$nX-^e;!cm(;#2~VkRoBV7(we0 zL#q%2D-rx&x3VRoV#2 z&dt?WBn@KOXd0=tvo_kD?%ua1TJW}89}fGTuOx9WoW73zCbOff)wh!M4%xB#3u<#syM-xfrB;WIj(2+`yL3$KhLp0 z!*0*V?E3W-le4I`j7ZkMqbRDN^o?FU>_029fSxyFQ<=3Sg4kYwzOWJMpkw{PP^!OELh>zM}GLb+u;Fa z@_*M$Ti%*o?J{k6i>JTJfTXPl7{Kk8k3sPWBI%9d{I0CbXr{vMExe9Rhul5+rDPnz zDgm%K^T^=OI&{w-Mc)&)Y0XSsOU5toSsGT`z+Y@J?a4!E)N= zZjdWpktasGu9F0<5G>ZA*xkSEU9dUZgr#`n%8p~LaFx4OhnAVX4w?T_*vWZB<(75k zYtFKDvpegXoL{z^Hd>Zj*h(;_c-FheVh}s4T*Z8Z8OwPixD@zr zru$Zm=QQjOJi@`giu&^yZG3p!h!)r)9Mh2whx`Q(#1@Im>7$ae$SO;xPp`*r&J_xa z_G&?8d&DerFg1VECDM@9C;A`WZ^mC&FUQ?=GdRug`#4ByyQo%)Y|SsIs%fR+lY{1R z(7Q53s8tZA7%Ms`5DohBEZk%c-na_nTGMS>W*-*~csvn(otqH^g}oL}zWVLI_9*BUcnb8Jycc zD7Au*{wumW1_=x%UTE-(6J5_hT#1=KP;XA|ceoIleA+K)oFJmUgayTWiHCCwCWm@+ zwNx13{qd*~DrNC1nl&dharLoUE2uU(5?fnJ26M{}4W=Zl#s2Wmcl`t#JDZE+{>kuS z)h&`g<-Lw$0~KT0;rt%OHO7@C7~5Rodm+ccKw%82%wmzi`veFL@emrvpleFO9Z!8< zkNmgPT<#25OgT{uCWDVdZ>W9LtF-XUJ-5V^1&oRuOR23|sJtU^nfk#p!$VWXDmk`R z9kV+Q$_Y&>A=zjU=~&P1flb)X&Y{r5@1bb8v=wPRYpr4hExMJH~i{w}M9UA<~d;);7>wSTa^!vDx z#HuLU*1yelu`OtxS`vgi4)s3UL;VJfYAhs_f|OY47de^O+=MH-=XL07CNpMk)NZo7 z7(8C0GGw#2y*`JhJYsCNJY7$Yzbv_2RvabIKevOI$HLNZR7sCNxZV{5(Vzs*U@gED zw}+6+V>4Uz{K(^T&{2M$IQZ-N!2aWuv8y|B7a9+E_@Gd%7;CW=+wLNAvlnhQ=C{CI^KY>ZnA^^bPnPoK!x0I1o*Owa4@|D8wppLAKnUNfy-cH+ij z2?l(xxeu@hqK$82Ncbo@WB7Pm|5Sg%KE2*4y>-J$RO-5(VTM4oZ4&UVZr7E}Nc$Ay z!AR}IdwRGPcW2iuHIy8TZ~Tnm`v9t9vQ$?g$F8E+oxm9z+o5_kjV9~I)1WEdotxkL z6!*pc)0)Y5thRd|tKChQx4--5%m~8rh(r!XZ2xE61)a^!OX-Ly4oRiX+q6i6&-;YR zgg{NL#M754O3KB{)>VWwK@ZgoZUMp{^9Xp(NVFtruN$=_J#SCINE>C<1yonlzsKu+ z>;NHqdV6Cu=Y|m8Tr7qfJ-@ ziE8|CTp2PWrEsm(K7&m!hfS*@x0GDbIn&wWL&F5l1)H-?_uJ##pY8UKAAej!X4M9RUasv_`%-k}Jljg1EkHq!PCh57h`U9%0f%q}V6$qH!+TExK>gfu{hiK}d_v-Rndgm`T!u!Sub*U?oK4vwviT73alM@SHkl%i zbrD^5X3EKNNs?G7m>oVVS(&xG`*S#>Vuf~Q@`AA)+Vf#F+f7c@IG1T<1?~VW24;7h zFn$5b9NNa&&A-(j7axi*`&3^Y_l!Q=nGL1uq_o>%vR7PZ&{e{WXNL*PBE*gl>)$-( z;xqz6p3(Td=zG11Ce{R2uRUdLY*x3%N*9NGaFVXmNN(Qix>wbPHo3v z?kfc#;Nm|y=lr6W#e{Y2MSot0@87bP-YnOTE`}#wXsc*l~zWBqI*_#V@x~r?MC;Y|pSKU?{v9To)gZ)>@1|f=!2k@c1 zlZ8G|ghmXNRLSi49px)qGuEvnGIhke>=_I#Y23Vm3-AV2SB9Vy`w;6|6gwlpCf35w z@JIqm*ost~idq`)m7rmfAY)DJKj1)4YO1-t-94_BgSw3aj_(iev)-!LklnbTHP9R= z>8R`d(z)Z!*R#JbcD_H)On+8+ay%b8{}SV2*D>#`OFVCFOK~wxr z3zcK$9@k?mx@~Sz!##quB#(%SPBk@)PKpjmU;%Pu4X9+TFWGJ{Qo=1ko`;)>rKz*N zxy|kCd3vD*@8>Kg=4Oktr;eGMLxpQSd10sUvUIAlLaeMp{N{}6&vGL?HW!SCM7|L* zU`7K~|0AFOV&^ZKi?5|5LQ{I2h+YSCkE!0q{C`pP4$PG`(AI9cqmI?FZF9%A?R0G0 z9ox2T+qRRAZQIG+=c`k<-m`we-nFVmjWx#{&#VXA6@}ptd*BLxe*V31(-f51?4^){ zT(b8X8y9B}qB-gh{R`>V?t4%jK|fK=%ZdS=R$c;|^Xxd8>>4;Wxj%XvE_Z3wQJ@fO zII$59Z=e7roib!tkl=uV%g&6AP1$B;V(Q`Wb#^rL^t>N`tgzTu_bJPyEfQrQ-b~Fq zZp|YPBovz$luZ#?cOkr3;urzM@6#-qCtua!9Cr*m;)3Fw?e;BkI~DoQmq%ic%HYs$ z!WHqrsgMh^o8)sP*;TPvv2B?L8}P~8<(Le~4((5QRZ{Y<4Z^Z8bxPBWDks}@)4M8a zu~yfdoY0hx(pD%gvmd%TsldXrs;rdHGjrTRfn-M_ilaD;-#b<~I9QXyJ1&G9GnAY3F5&F22h5{m45$w-V!zNjtv663^5m&(tjTMFcdlee|R;2(0;Ji}+>9(__ci3S*7)sf*VQ2A&lm zv8FlXOc~{C%;tzNqXLmETtD3Nh*xjD!EadM%sFK368BjVByS193?qd_H$}dU76U7BE#d+q;zqV+CIie!c2j4Ros)3PHHcMMYs-9@Aq(6pJ}P0xiNrijD09Ha1g*dK#;? zJFQ-9c;TGaK3LvueQ7NRK6QKp`1%4BWiJmicO#;I1^+EpXt}Jaik`MLLR%$xmM+@F zC^VeRo%4~0reoJeVBU>YW~=Uex%owQshOD^6-ANw!t9~5dGJu(s}ysDmei#qalBu6 zepz>SRZ!njb>0|_E*B6K&|3kEyeV9fY2E&2cfX0S{dKnJ;8y*gcIJ;C?n5sv+esdj zH6~U3{613ugO=$bd>(Ol>Vl`&`~HFv`KAeR5Z`Ejtja&Wp9Cb)bF<%a9c-()r+I9k zm_*Q)eS9`uhR{!0GHm<2<%7QekKkeb{Q~abREnJP%`_CjQ$NYbybJmuJ+|fmw^S9K=KlSvd#>X;_{a1yx054T$4@I@;SSG^s3T;H}V>kdT2ss@=Gq z1fd{i@kheqkFpyOx}nT}y1l*6P`l#wa{KD{FqHGu)a6W)i_8=DAo9LU`$9X_Uv6R; zvF{xcw$CZ(m{!a(8HHak>M#%A=Uyx7oVVh9b?|>rR;ugrO0LFDyG5C$to_T zn>TAeGF_TDHWeF&9IucZG(f{U7b*s8*e4v%Z*1=C22z|euaHG06y2clC=27<>_I{T z3K$I;TYqu<6eFE&14+UZ$`?aE6;}PJmy}VaNb*CyCY1pOY%v5~uChX*nVpjAF7;Id z)>zd+$$Rd@D95C>o|~Rm09JTV{{z{8hm=tEwvUb9EH^T!hCY{N91||A?(natZeqd4 zjOxYNG)(wT|2*&}@h9agxUxADjY{+}^^NY{EV20yRd0?I@a7q!foL>7)PFEo9QIQ~qD z$oaP=-2Ze#ft8E$;B0vzS<63YScOdxmL=qz>0{9*;Q?WLrJ@}VAtFyNb?qCDV&3oM z10~5wDRgnR+7X_$30~i1=UZ$h$5=;iDi>$QnYTZ?^^r(30`ngkT;U8_Jf0wW$Hbjj zkv7P0ZLkW3oMWpt)+Mk`3wj42_Tn^s_)!p5lX@+ztJr9ON%V0aKAv_@kMrZz(bBtG z4bQ)BV8dW~02>It?QnU&yIX34X`$QnaN6v&D8(zaV2gaJ(p#=RIYz_c8kS0|(g?@u z?!@>rN}yo>qnf40Q5nJ1JXMZ&k{#i!D$*qhqK)M3HB=CEXjeecw+BqlG`WLy^OI#^ z!2kT540Zs0Rw_g)#NO_{Gt*CO5V3Jq$+ z*llEBAFIrLnUJc+Ygep1O9=3gMT?Gb4^uw!+4*f`-pa&ts}a$)nH~WR*)s=zPF;+b zfNg@`<$mpXKfL=lg3l=B%i+wP{@MZt{;9Cm%M@9 zh=#6B-115cStL4T83y5e7P1L2bcAqiA`E&bi~R+yU}5dY-&aD)pRn*lL|;2SJ~k6dio&Gs zyf87`&44j0J0n%Q^a2Y%RWDmr&gr>1rCG&v@nGn%P!Of9o1wA+VQ>p`&kW_V?{V8qI(ehl#!&%iGo|+k+QUro5@ZSPYW#Lz{%3L$3`msj)JMw~M&}H4IONKE( zX5q4U)P-639ngNxz3G^IwBhGWB|NlDGPmYHnI&maL*&yM%dQ?;CFQ3|2C4)2?aXT+ z8klx`H+7pR)JhE%=V*34vus(f9^VdN*gs>0mH!OCNbw-U+Lyh!0- zWPWOoj3kgQC_DD2=%~a<8I6q9gprG+&Y9*~QCpZ7HP2{Z;iOK`00d@FC_<1-i9-X5 z652+RDoH$;fPvATJ6(KGdT(HVbr;qlH5NfR@z|v~1?OZ9`0hvmQ*`po1+(KCp z6GSfDhBm7{DZC)$V6zLf+QuVy+iKJuJ4a=r2m*H*`_Y3a?EtzwC$77a|)C z+v0p0*~Do5@H~0_KyS&NxK6~0AN~npr;LI(7XIzVkRA7*UgmxjctlnFv3kjgRk?%Y z!lJ~u-iA6n`nwnkiY}&VPevgxf|xF>OWwh!RuGwR>S8?8x>9y*Oq(U(y3E?!n8h7_ zI~?#WSOJ+>Q9L~Gd=-6~=^!bX5Vf%c8IqFbe+tp$lW+yoG;u15{#nM6FO9B{BZ{%s zqG6;JeQY;g&~DowJ7SGoq z1o_PTP+!2z`6#*en~q})nhZu_OEBIRnknq9Rm)MoP;^0 zLM}euj$+JtS5}0T#3$6oQ;U-25wsc%w3;+*8JSAX-75v&G`vG?Ec8vCbawVmFVil= zX3nkzu(EKT6l@F)$X^f(VssYxJ@3O}zMuD7lqM-PkO|=bHFNGNFYH@MZ+N;>ntp#j zl0laC<)$0zK-~ev2)Yz+U))+ZAZV|dFr9$qlX!a7%fB}d>oGK@G14B?sX4B&M8T%USY>KY-CkU2@HsrYglxIq z>S4>Xo}iTI58J_;L(VuRg=dZgV-fY_5z`T6f_Yu zq!l%#mac5L%Fi~JgX;{j>kGT*4!gGp8z^==c0z(BA}$rHFkdgu^9hcPP8KW{E;X@_ zq5{<#DJ)RH4YU$!**GN!YA(vKa!#&I=uOHc&8p*A5ebs@AQFNUU!79TN?Fy2 zWIubwpVN%!hg)%htIHu}9i3dkSfxNkDv3p^Q6gq0{56*~hCi%@2-oNuYOIFMRSB;g z6KpvclsPJ_HbPAmaksW7g3=&4E)P~2Yp?u=7j60D4wihDD~tbniZ&f@PIu!BYlX@I z)!d<*CQDV75F4Y?+=80Aa?-Hq7F2@*A245lw!7x%h)3l9EDx$>{*~mG!(Cdy{g0QH zqdaxUS~1Z%X=$0NG;t@lmsua_3ItqLo}#)cnR5Ow3nPG;xv8w}?PLCA&q+$Hpp=1K zmjneFg`#iq4|`sXby$w0T;dGNbQkVfESeQPe7y|3LsH1g?_e=i`B`UVBN)^*mo}BH|FWFw2+ZP6d4(LrDtR1e5ckjjtzXi&Zsd@HTh@UKhz=QpRRFy|X@W@{Y1!LuOL!RJis##$ z`Pi}FeMgYm>d^bz3MhZZTkiZ8eGRci`+TkXh}oWgz1Pz4^&)oO$13r}OkoJSUCGsE zp}?jcmyNM!G1!z*k3mW`%z{wxTdRUmyW0HM-Q#`#b$I?Wp$IbvU#(m+Afh!{lCM+74u4b|NP-dyf_JbVm`AAZPBzOYeBv68^{_LVvE z<;FHq7|e}gYqZh9+rnU@IU;S2yI|tcj>r$dK7rO5T3kvSx$drW?FVoyT{zl7|NK9) zhx*d8k@Qy5ncnpC$1Cj*-~wH?X?9qOI_LX~R?&8rX)ryoiSJ3X*r1xUeKGrZTrm>h z_3`IyR*I*F4WVmg1r*MQdF9=R-up>U^Z$t-HXL*hJHp$6C-rOhmGm~_;WghJeGy(y z`745QjNIeUyGZ|8k}WL4>y%Yf=ri@}<7l*;SmL`<_xIABbGC1gS7!k|pfTnynst`< zD<4?8du~{nzn$gvc?F_ZKTm6XyPrqMnO*4@YoZv2mAhr6-z^$d;1=_64*}B9S>ZA2 zXy92XZ`pG8T4)_r;@oOVpvz3e%PM)6tKG-OSB_z_5Y2{=1B5ZV>3w(c4!B^c3zdHx z`uQg&5s#??_4sJLlz%Om3~<%Q7C8`519)lcn!C0*3|VNT;bqE_q5y@k^?dZ>=~u4F zs9xbH_Tiv_zDOQHc<-naU$7fafk)1f+m^Us0IE>``@hK|!7&q=rzWhcRu*M=dt-2o zyboH1?qzj+1W9GE5dIX0gSIi1M~%;bArHfq{`|a(4#gzuKO{;99O^D{Bn34b4aDp< z#64;&*6Dcon3bnC<2E(PtVvLo5qtLyeuIJXB-5*u2Nx3C3*}IE_$_+r%x< zY#K)&azeG5%hNrYJ#!ma$sm^zXUr!EozIxU9n5#2hMuvg%U~Ij&>NT6x~XcgP@$sN zff?HySYrthLz{!(pw5}TblYf%8<|44^ayTkCallOYv-3&O`F@&TbxqZo|I10%;Xyn ziWTqSDiLK(u9m?*e+(gRZx-6D>EU643qTMF;NtPAumGRF6DBg zhth2_yiXEnY5a{E+-4;1mBBp8h=Q3y`-2T0iKLrLbwo2Y6@-pTLNr*oPnbr*E-`9e z_B=K|o3I({*d=~08fYz93d2JXiWM%?8+uQ&q{G^dx%m-qv$nCel$@O%p3C%Ez-VJf z6-XzGrgnI2j?Iw(okLkZ!Lq|5*?7E|R(orr7+q278 zJ+esQu5O8oWy&4ujV56XQi9rl5V9F2`r(y`lv3(q_3B1&6^P}q5X@l3B||hu!Jp^$ zwU+Ht@Nj!#G1mUnZtM4Ui+WyWd%isPceRz=YD>C(lAXq0xxcbT+vrgAu&sC-lU?#e zsNnTz*t4}w`TWe9@99x`c~E#e%=lPl72W$yC>rCUNQ~2H1_?Ut3~jfvuai!c<=~Ga z97k7Xw{4QI$G6%QhBzN9er-m_EK7fFwe9A$zt$B6!=7@~Vq)5Yc2r$ceXZT;V|#wK zX^G9Xo^q|b?$c_l%gi3r)FdP8l%4D~mqcOqgN2j0 zKl${PtML;lf5N`}ow5AgK7HLhxWmwkUm5FX2??S@ZKOkWYe}WO%g0_;L`pSnB<9*% zQ&j=8p?3nYO#0Q{Tyf*>c&iIzJMvW(G%w*TcQTd-H#X*SzBr2^ zXGDQj1YuzGprF#!-sKVku=szSk8n8^ZWasr}O8>`L*OH;{RGeAfTi`F{#B? z10HxY0*3iR^llf}4en#RJFLp!+u-F@vi$J+?4bY6Gx4r;_#SoOM*8NOo%1DCHnPdx zpgq&{yK|OmQ%`%j`Ekig?{FWcs{V6cPlxC0v`>BcOIX+M6!L0m0vFQxov!ZrR`ofL z{HthjKTH4c3;NZ#L62`A80Yfws8T;s-|%2RIsxk*zF9%VHQx7Xau1s|$;bEo)Cc=j z-4_99)!gpehXY^ceIGynM=oy;zy3yd_#%9LzMFoxeoh;1Min_JSv!g43$b1qnI{^n zG%8`w%gsP*A&F>9!*q}!s7pNqa*o>K&l)oE8WW?mDfg;Z=2oN(XG(xl>Q*D6J;L!+ zl)4b6@E!5XE$hHla%W#13xz=tdSPfpTEg4Y&E=4#kN;0J;ClzFfR=6hh z{zT%Ox%6?MdPeIF&-ExQhrlzJ=sl0%lXuq6GbiwnUf-p5W=aPWQ7sfMn?Q(cSg0d- z;h|uEJCRkae#VvQ$gKn9Pwp{7-N|2koGhXK$rM8c0ZkJT1+Fg1rY3Ngo1pGPK|d9^ z<9|Z&yX_B2D_9Fe6{~bH+WT1AJDz`RJoLWsYnXalD7h%1)--8!P@+R%y9R)x4&{^Spk$!Y;5gBKP?EqYm^TVts66L zc{9#=XCL!U*k|dtNize{AkoY$&mzSuL<40AyXr_N+QR~>#ro?DV?yDranRHJ;N`l= zT9mzP)cYY5_bC-pYT<`xzx_1%br1*3Pi=}2&nssg@A%(0)N?G#<=_W+vawQVFV8D= zQ?b^&+u0b{2*wo#$>OJxx+>=bF47A&MeBSTU~4GTJJQY!2mogwz*F8s;`gb=9y0OV z@3Y-Ysi{`*q@)Vve@Z6oX;cZ4u+nLcP=6aaH&JnBC_*bo#xuF+tS$ay&y1(dBO@>@ z<6T@Fy?{@4qKPgy6-h6h2C@sD)H5nUwA^!bOhOB|XWgH3Zw#s^jhsX@!^>b-`5oc` zIUpC`J-^ns4Kt(dxn)ftGs|LXas0GS<I=Jl?Qec z@*9iR@~DN>uBDfCD?v@Vu4Evqr zJ9Jo$0eII&#jWXOcvzWQQkBm2H7c1smb}X)QD>b z)!If9<)+BMsL1BQa{tlv({NSQ>m^JBJDuG2hUSK*ZcnKtJG^B3T5vKPSIml5u%mfB z1AFnx_W);GG31D{P=AB}=ZmiD?-pW=6vMykx0{f?-!ofUZf(wmmOZ}xI_Eye8_djM zZR=B|$(nE$WeQa$jLggp>1n`6YiiQEB@IOgXJpqX{vV;xQ8QuMj#oljLK?vF$(AR% zsC-SOrum7gMkQvOYMYovk6o5Ol8~|q&}N)pX~^ASL7=jon9i)u=WFvmj=i$&b^bO~ zQ9_n{DRODN0gFeeCRsj(*r+A*=^%)?rUJ@Y4Z~|C;C=)ngyq1L9I~?A%Fw8ww>2=3 zID{_=_e3q(+Z3wR?4j%X-XzESz27i)yv}lto`3-IpQo2E%lD>yQE#lrL>XATmHi-F z-ghiHfPC}0jENl6tMH{Hz7Lq_qL*7lkx)+S(t7sc&AZ&>^2A-GmD*17I@XX>#FqPB zlzVfmPjB0QLugt3z^)uwd8gv?A*+2py3ZD?E(JX5>_TR+&Q#UpjO}|p3qHGUKd=L% zTCe#0$z}V)O}-T03c0PVGaH=OFT3sbBqEj9NxANe%_+`-mcH+%<^87Je98B%tm~Yh zSJTf|8;bGco?|#)OP(|AnUA&`EuM|iIqsTI_ky>83}$!wY-p+HplfoDuUB(MHS4bj z^VbLI=bP~yzOM%;ci*PrkE-{7?*Z9AK5>6mj^rF_r0=_aoMwp0;cb4NTvllvr@Ib6 zpcsc)L-$bSyV7ozq=8)K1w}d{O@z~&}J%uupZWy#70)*=cZ#BITl)4 zr|Fr+CKj#N_|zK`1`@_z6qEy5_@_Nleq}Qtm|IcYuekvfo%F{!@=5#2>R5Ee1^QLN zGt-1+&~XP5NKGgqHPJUJp_|4|%jk2qspmAacXFFg1$Pf6Rci=__H@`}(*BuD3t_J0(SAPEN(DNYKqF_=vV2gH& zq>ElpF-cxNc9ET;n`~)jO>3x6B@&@g`YnW#M=8mv0Kbau;bbPGKX=ynKQPvYk%UdOU3c`LvW@ zeh4kGmNW}_t(Brz);@hW%j<}1uWPt&4#jNMN$?)xbzJ4tv!;T#GtcWh^JNXBX@Tqro88+^kCBy^SB1n zqB&>-U=f&g0FZd7SMn}C-7%+X#otduIjcsvWg2-uL+6yh2WPKi<8e32cRhbt zU018=wBMbKs;a7}m{3bWr=yw9Nx#;`qr|bLPP?wzO2g!8aX4C=-WfNuag}-B8{7y| z3b?;)!X`HjnK}Sh+Qv!DR}{~0O$g= z*KTrk&#y7)ZZd8+_?X*1kAK~5_0RU(P5seQFcs02DlVQDrD12niVVkN?nur^41$&r zX2vQwm_lK75n)k*E8ahz?FWbQ;VQ{4`v>-E+HCP?OE={b6wD z&WruyKSB%gasL`pCHYD9#ai$a6z{9v*&xs`PJ$2H8&tmJWrag^t4%S zhL(3l+)+fJUh=l{3^L7b`<@21cyH_UQ;U7u?VSI(ScC= z{(VI=rt9dqYfO3hA%8eJ44v;}@8OT9e(-JXz;T^Zg4kdkJe8ACb=dl1 z?zt7aYh$h>3-1|;ntNsd#vuVe-mwVYp$N_%k&j%+mmfUuu-_X7(LUD60VAccZUO_v zBRzqq)+hlS`PH90JWJ*n)>N*BA$Nz)U+5B1fq#DT?Dvrucr#cCh+1lW?u>?dcRT)R z>~5;aE2yb%;Hw}}Ge%PoPIYssBp8X`Skdj`-fCx5nO%<6QCwWsW#(J(Jl#9GGg~21*-O)tCvbDYz^hxokXY5`w=4A>Vx{6THA$c1`?iDhJ zu%F3_vFc@wk&N^&7z=rmvCq4Xjn8y@!2v_u8n@O+6u`>54}VhH*^+o@T@ZuLrpT9ygo=wsCu`QO}vu4ww9R>_R$$HxzJcsvqnGjvkz9p?CK47?zz|E zDZQy%j-@Y8g0|8o8YWg&)b!S;IaI8pl-_^*!MvmyA zk-lQsCn{58_-6mVpC(y!RmT8eSYtG|B2G{ zm>?9SRPmH`7=d2Ggq1`HEv_yqEUciNi*_{ymP7K6I~<_f=bn}8zdJ6hP*-ePZF=0l z{MObL<>=Xw;`&5aWs{S&#?@o@HQZJ<)mC}*Q^vi#ovFj1*52E<*tk7Tqr5kzY)r;H zp3K{UI7US-JnsuPfE7`}K%&hxg}y1pI^g20<(7P36N<6ddH{8Vo4k>?Z-9C0zA-Z$UjIY2BYQ zXp4@UJewJ}4n4~`lEsvnZC}i2bK4d?Uv0uk+v^WhCkGVHtcm9PcUFXcC7xC>Fk_P_GAXJ1zU=Od}xAx7X;vUmALB z`8nhE_Ha5-1H81+5HqvU!RuuYFm8ulDfd^IY>gyF@SuXjd!e)xT6&W z$v*2fK8mLS25CK6f%8&PSt}G7DwH`&>~Chv0~41QGhH`qqV)j>YYH_k5Xng=h>JoH zb3+7wix>h{yB|-$j!Q&A{X;`U<_wwSDV!(+@B^Gg%{dc=Z#XF{a5hZ+(0%XDN+LSj z`VUHL9V3aGcz%vtV+d$Jlx#%7y3_Jq{o7XG^4DB-U)c0++0*V=dGm7R9d~zd5`Rqp z=;{M(Mo|aZ%2s))G@5C}#2VGGX~?r|P0rSKYVC81ifKbp;4i^Ye74a5q=V`J&jZ3P z>;x~5uv`T!v-JHAiaVX;zp8~k6+}0jE4Fdq>BW%iK?)0+2l)_f)$qCrFO_#6s$etl z-r5K5(+yo{?z|KIe^D{5G|!a8Z{&vuXg>zIQL0F@_!7x+sCFKVk+7Ohuu!Xcqy8mG zX-vv)G=f?G>JkmBJ}m83{MoG$RfZI3JOZX6|78K2x0YDHM0`RAw;&M^^^nUV%}>icR7weuK zVervG>l}T^CUuiF+=STA9N)2FbNh=G)iS=2L6tu20bvp{d=w&T`o{HsCP_X2ph}pA zjxPm;KunO2VGpIqIZQT~R6d(E9*BvluP~x5F}+oV(KgF&XAS(S6#rbx{&19ulu7u; z88d{qW(Wc>`T^L20W9$k<7RvMT+^O@eVdC#(-}>qG$POfIx|NIc0?m%yh?5@Q2yIs z@T}2nbch!vsVnsNe4UhUJ6Ok8nDax%cW(?`T{tO~(FO~-;)yUs8>AS!&@j)x!tSE` zz>qO^IboXWRXZ4Re4m?&fwtG{$>uc$U)B3o|M0wJzGRxpSjy>yW6c!jm{H&%o9ul} zB32<&&oQ%ubx{U;HzDf2Ca=GJEYt-)UwOcyoI+0>XM20S%faLPY{ z-)9$szdr-xIIxM^03Gh--cH7DUdElyoi&ywR`+{XZP=zy)ATbo(Jj)>$Ifb}7K*fR z0Fh6)CPQo5CpINVkHRR7tUf|Db(N;%4~VS%zX^XN12qgblw!Yz@H550W!)Fd{9NdqTuLZiEWWtAYKpl2?wok+>yj#XTrEx+ONS&ZLWRrh z{+z6Q3(<_3dARsuDbDEbD1z+6h<99nZ?XNFq^q2HxOsB-v<`ke{Pg;gu{70V`AS;e zC&$;@*1IUBmSM+i#9C^JK577w#$3X6Jl6Xzazx>4H?Nst!x=zinWwD#;<+jl|FN4P!FrhNEaSqFEb z_Nx}JXC@-(t7PUL7vZb(d3EIYx=Xc*QT$p0s@jO-K)4-^P@pMn&QP#F8Qhl*#hVe` znT*G31$uoR+^YPuh4pLVtQQH;nI6EBi>YblK*rv~uc@BfXp-SJrU3;3s@!+i6z?T@ zlgpW}M?FMKf1674prU$nee=~rEa)o+?-m5hB@FMK6z&!T@eRuS;hK4}ZNKk3Bf~uy z!8;zqK^4kL6v{g();*5!4N8Af%h9`u<4++&fFOzCqBH-OyD2icDHyQ&akGo6%!HPSrkqIp(^cB+DRV{_+dv_FI30VoWk59-nC z(>hM$u&JI&ldqw-eO2~aXdZM9UaO!9E8=s_-Q`pMP2qTEVjc90Lo5GElfgVIV^Wo4 zYa&)*Nu0iv6+pExoS@koW4iLNIZ5wbk9Ix{4Qi=x(|O&yVv!~1$_qTH>C2NG?0>yT z#oA?*4eh}Us8Ab>`PIK{9t#enLiahR?=Z>PY2|v*Fz}d~XD=A3am|@SUz?G0Ovh#( znbF-lA#jaVKwc*V#WaU8VV%E=d76?%cz8^KkQi)XG>DCpMY_J$xbyoLg+T=!<5kl4e{RhHQ&Vl39-5YGm6D zkbhIHxKLER2>x9!?wUH>I=Q!T^o#uR-#*Gof#FF(LF#^j`ZhS3B_FGE4}qg}!hB!y zL+njJD^Mk8IHtW}(YgH$rFW^9F;i;B_*yBwzp>7w0jnW6>bVJeCfw5}>>kudAH_xCjFgdD#)*6nXT5QC^QiLG; zP(|ljJ(ElWXJ!I(n;@v}z9E4$s)ddnPo3wAT2u*#pr_g6e!cc@TwPbnzRTNSXR)nq z0fo9FDF~FvLxDpO@5KKZ;OF8<{yG<*Myf-4e!N1z-OXLkqP(b^Pt!=cf=Yj7tJCT2 ze7>Q2uTIXTCN>#6UQR0_#G0_q9Q9;lFXB)bbVTtBYSG~2mD5ne!Q43*pfsv1T+pab zAO++#tTBr9;#u2vdKurI-L1mlV)E3_!h%syLnp=@u~1rGu&Qmfew3Kr&ob*y%Kpd6 z0_VKiKIbZBJyE_>r63?*SuZk`Blu|%-{mHR1pI$NKBItxQFO2S64R0LuANhMIX<_S zk&5dsMlX9-&%CUq4EUN|Kk6{uq_9|3gHZ-94~4AS6l6~}o;N|!gVn`ZrQ{uJ>z!h% zKU#2U$uFu4NSMFF!;%#LoZyyYVpd$A&`eS`+q2vWqw-Dm!ipEY9PMu^8sPrUgTLra za6?Rli%`km38&C=PtBm(P(Z&j2)$ttZ9gH#X+k1j9NjNJF}%AmL>@$9+>1rLg~s<$ zkF;YY&U=+mkXanW(^ZTiY1aUuCGbo|!4W}%uaq|xZG{1BV4_18k&;MqC<8*s3oxzw z_Z);2$~f88Mh^%D2uA|;yb973(yesv|EOIb9Gq;d?MynB~c^-~S%u0WnG z|7R<5z&>z`o&Thgm$6?H|g7v64qD(DJI3XcYm;jQx z8x9ZF#E_z}biFda{HPm%GI$z#%nZ+Ynn-hs@k-f(9)0ZEh`Cw|d4^g)!)wMp{h4UW zH13Qs!ZA(KAyb@_H=36*%sC@3xQ6UP&bTNFh}oNh2hNM?Z|$28=`h#P;0!cOk;!9C_~?`Awl* zEDFm8GfSVIelB}sp><7)ms`v3g6kRYckWx?dQgiknVPk|xRTjFl0IPnl2PO)o$Pg* zi62E--qYVzA+Q4N%2+UXF@AsxQ~xsYgp;?qcXDcGF$Il6szH57)v1Z5GU`k(%t7w) znI-tWw2sl3v(HFob$W2a(zN)=MC_*<{#)K&E|J-|v;=t*MEj+zj^6JtR! zX{n6PK{V@yGS-K*eDrxsQ(`Y&@i}Z7~#EpEv_suMc0<2od zfTUr*aNRFdb|M)ui{`svCU9@k{%la=TCD{JRKQCz_m?7``vgX#^gVWwV8&o!_GIM{ z-6g-Mwt%!WFSt^&w3V`wXPN!sBtb#!tkJS9`mUO?53{-}*RVbEIg`v|>b~0)W9Jb? zHM6i7*VBpc-frCsv7y8Wxt%QYVgQ6}*KPIE?T#`T9eIMl-LNdE-m2Ybwd^-peq7pvt9_-npdp! zswV`{gM8&eG5l^vv`2y(Lf?ofMh%|DBuGofnS-m4OBAD_(Ls4@2|b8R@0N`Ypw*Aj z06cmW;)KM_DN#c=R7k0ed2q-45_uIW@GhtoFcbZ)5=dsB5I<@!&P@dtAv{sI=Z_`p zh-WU0ZmLFzb`V!mSjSHCZyoCn+hh@-GF#5@C+WDS|K|*fS22qAMHsx&OyvlQQXmTR z?_+Q>HyMmZ!rV2Fn6?Te2S z-GPB;sveJ)kIxQw9#7;`8bX8gGd2;&mV}KGiENkRn5;uSnGh$kHZ9Oi6#<{JlUXXw zc?_5Z*_ei%I6-L&I9z_&o4njk6?@(xGkMnW8s5PHvQ zTbrzPYphG<#8gmHM)=7;VhX<}hj&*F8>r_Cs&Mq&fwQMk>W#kz`F5#6Q&ba@wsh9l zHQA|F>RJ|6){J4+VR6HuDCq<>IBcDi^p@T(hgatl#}J}NG#3_?4Ya-N^la7HdfZwK z?#BC@eBGW5^gQlw2mISI^8e8&ppW|PQvmc)3IFS(Kq|$6_UXsl5>TT|*DHBvT)pmq zbl8y?Tc3}odFJT{uJv=xyWY$8|bP#vk8Y}%VfR=aKJ z^%h{?xZfr6hSvLEGae%)9L2DhdKhd1cTcg$;bPfB%5)L#C# zSz?|!!Yh45+twDnQ0i!S_ToL(R~8NMl*Q5LGb4SE!A2j}2EBo+mAZGQN<6qKB}ubg z(xo|h)R$RBn$CE{g()eVxRHkmL^!W&r_KWIw_nT$6qK`Jzb_=90vHUuB*aTNQu*M+ z(B&5#stSl{J-HlPY;;;Z+%0V#JM+eg{`9I#a|GZg>E@o|S(aU!Q(K=_UgMr(q@CiV zo#Eh^TUl3@j#Jaj7n|6$*lv784OE37lA^8ot$ zelD4nHP-x9&XBf}-i<=7M`J=(E82D3=q0q7{OiZ3O^7?1;8a1$x>ri`qg`?OlG)&# zgfQ)3kczdWCzRV*Rvig!IxdSGMW-ap#u0YLJ$QwC(>nQrC5n$RjE6Itmopl`>&FF< zamg;u#2ElM=jlk<-~6mAENeHha5$eIUQ1gY&(>5D>Mo>>SvHcUFcn5;BEC10p!Ha; zXLS)dV~gTrOS3a0Izo87*(BZFa}g3&WYDV3&)#)u*d9Q@-?#8}HgmYkbt$b@SD=y33t!%7#iX(FnvpKMFj zVXJSjGI;jDHeqL9MD;dhucXQosB4l;2UCk z-3QN$NUm2p!3@gu4+#l$crFe#X)m%3}-voG(&gfa9 z6BvzHN1iasLadta{OHs(2OEWWRuLttR9Ec!t3g_*al(N_mW~51<^P)dp?!-eCQz$I z^-~#tHwn}=S->0iRv?XATdUomtj&JA+kJoWATi; ziG&8(*@o)%00aAln5$Ry{kXi(J|pMs)m;32a=Ra*=L2xOZ!~T~-86NnAZSG;_4qvq z(Xt@V?C{`1b>;QrOd4V@k=1VHqQ@}sBAvi9`R_vW&cfJ@j^#@;smTZydyPOdW1Rbg zdXs#b(js3+oyXb5+m@!3YnAX&q)13W?w0N!TYL%*4rJgpkl>MCP@(^it9J^ogbTX_ zE2)?j+qSKWZQHh;R9LZ{6Wg}U6Wg|(RM7cnp6U6zulN0W_Pf}LQY+{q*~pZcwQM$v zprzqfVZ*-Ns*u_A-LF+%V$;*{E+hWh_Lk5l3F6hzb79Arps)y&Eg+NfwL;5BW+?Sj(&Bs(jhi(IW7%KSJR9G8=uazNG%0 zQ@^{b@`xslkb<3AybDGpq=H>obN+sH2Do9ze zORTG&$4up_AK@La4mji&cTOkgl0%A>{}m&@CnvLqu*I`VMR8n;kQiK0MY+r@qmn(g zw(5NZ_3F z8t`Qr_z8)&mxPbC5bG`p|Au$_@`Z7ElOss+_3Oxu6#YOb3O4R;B^rHS2D>f=H3J(d zeKKr%cGjC&^M2J4Hlr1d&%b4@buDQtm1GS0cUa#D39o$UKX79b3+8gV<(U;l#r34r z! za87>f+SjAzXcM-4KCv}>&VX%up1`Yr^Er*;rIq3(xFo0GZ%)v^KJOlsEkbdEp2Thg zbAr+a`CJyvD^PLIjLMUE!NsAj1A*@J=fibV|4#jS55>%mDVemAR=K^+k(sN3aC%{A zdJ@cOs)%h&u2vQ%Muz@Ov>(U08kWqS&0>aVPDPw>T%>S^&@h}{%r`67yA<+a@4jb7 zofATQN`2MkzbM>fej`xW4Q8~j3V7|$?Y$lXt3E^fsEt*Lsdr%e&yu_D9HQ~;OJGwavF>XRyz$J zz`HbGuIcpb_Agpli$J7_;Z6yMqVI#@fk!bf-hRFL#L)NsG%ELEQvScRgBN(UqEDQc z{|mY32+zM8uHTLtYPws$PXB7V)4OJ+w*WbIysHdlLAR+Z{Yk)=hG4RiM60pm*2iW` z<_DgYcmIvmDmUlqO82JR{toCU&gFx(nMQ867QHMStkK$|KrQ_?R-nhmSu(0GrntMf z#~`S%r&t1wn14ox1&0(6@85dxCJLrPB~Z31m`F%)Qey5(?TfD6X{Lx3InE5*v67`= zLM@I(71Ii;m-*C+@o5!gma@yMW?Y!o-{NZZaCHivB+7GJh6zwdaE`-p$ssuO{?M%X$Hxu zX?2VPm?kaW5cF|$!yz#cKKYPp4w6unEotIw(|~2%^)6EULWIQR+X|kl5VHPBRw*xX zDY<83ds{rgdaoGGVDaDzj!r!{y?2#MqCUT_suvHo`N%+-DPZGAtVj=(Ss?j@(w5F5$JRW@+SZz;rgEy17HKWne()R=G6idBRG4Z4 z@_l1}Ut?oKNWb!UurBT^Osuo|M2``2cKz%UU1L#Ff7fsxtgx)P6^q*(3dWF~^0$UC zHYDeiP0ll|prfY|>ul14@`&AmF2^qh@O!RcN{LMI2`Iun7a?`6ME=7D^xezgfxTtA}RM{Gzz*Z30j;cLJs(lqpKy* z!`;2H${m-OJgr*xZ6i{1is^2pZz--QFKo(hET|sfXYAx&>Y39M&@q@os!uv0WnvD7 zbuWPg?Kn0{U3L~n0p#5+sYooRb=5~WT4GugWC?k1x8P zGxt3?TVDr3T^-BR>=0v{RPpdi3RJ5-pcpEVF}Mdq4Bz@xO6_J+oUQasGnU&Lx)VEE zcMj-wLmzuoU&UH3o$gLG(Mcn;-&*K~Z0xq2xIOuZoRt9^AkM`tN^7`*++0=lCtEYtlx!uxOSn-$Dj}v9d4V|NIp!+Fsr`+DNQt=*`R|donrH5nie% zMNhjLJU%T?O;@tCG||x>CEPW)#VzF99-I6YL3p96Hmc}#Bk2_fi*$y4d>--;Ot=Xe zFV`23;FmW707dj3^a6t=(O8Yxn_6oA-0Itk`J76rUV8hyYQNoGs|T%1IwwHecba@& z6!sI>gLmj1!xF7xo0op7z>t?;g&eoK3(@l91c8==a*7V%rXc!wwQ;nyTrz1WTOO<^ z7ERlaqhgiSPq!?}?zW8FiW5p{>z<$;k)K#vU#5Q@KsihKo!~_JMt`3p-sel6aaddjxmBiFH;UqrzI|GQ-ODRHm%*p!h(+ zGn5nz@=D}EKuWlkrZ$ZlrG+DBEu9E+6sS|$6qEXkdSOtjz$;&?5kSyF4hJalii#6{ zV@<|d_)qe?U8L0Wq-cn-r3r@AyRo_!nflb{(~>2QKnM?Eo%_2?;JBK zA?p2f_>?D6(|q2MMskpabqzl6B4N1GKDk=62sSOi;=z@$}!>kj0iC(%_1CL?bgT`_}M=m zJ;8HK(X1AE@9cnDkMkFUdhu5!*Ixb62n3oyiJSlJbBgN**ATN;+#TNAI9y~|z8o6x@?n}2U|3@j08t*8#2s7d zs(akI{~opUeE4XC{V!>?Lon&TT)yDX&||6ceAQLNk`c?*?o$#J3mL*t0rKP1{f9>E zH;D!MQ1RF^?d4PF@bx~O^Z77lPO#~DzBZRW7J8a+;TKdMUSw^Y)^5>^q&5z>-AJo! zYjui~(FzZ5Bz)de2D{P#mLn+$kb~ZqMc8Z%w!sW)ew@+eduZgpX@u@h#qCZ+ZnK2V znuTb*eV+>_)basK?oE9_raGYJ*0sHjh4*is7Hlij{PYf%EL{7DDLGH z(pQcOXcIySFIqJ2s6L$os<+W{{m< z>)@)?iHtW9(d(E$Xa$%Rlb$ddWxHjhI%Nm?aqxF)=E9PEti^Y<_qy#4x{g>9i2*l=sP%W<3xo+^#$M zt*%3>RAPjFJdqiZY|B-NO;#l}Wjh&%fPT(CAzD&z#9>NwfAL2VqA>m-H6%2>jtQH2 zvsaaZ#tFt&7XFn)xQS+B({@v{nKzUvvIuzK47=JYC1$}e?;UVhH|eNt)X})ddyiae z>LjacCY4E6Bq_#1PQ*z>=owbQwLk}Xs2vDPheWD|g_(twuuHsY(q`5uv5-7zC!5!D zFbnCNMl%*(0rREF?UF>WR8#_QnrU7E#>cKgMOP*zW<52?VYPRD!h{B6;z(U3pxYdu z-AEfUiPCj6O5cE5!WFTPyJ(nwRo^Q@>sZ@>>jf#RG*I8DQTc)O4(__~?L8yh%A;Nb zM%*?i3XQJ_ii*gS^ve?v#Fvw*6^}zWQObt)qMC{10XDLN(i_F-U`dKcce@-{AaHBK z6>Q-P{!R1`0FiRXA7cx9PlMx6w%f3oq3`xFB9(pWVg#Y(+bhD#i z=~t&xI7C8~$4RHJp_#$4we9a$@U9Z+`5ntvuA7odoHk$5DXrkuRd1N*baCA9v(5AA z5v_~I>M8s)$t2j|a*Y+S{LpYA9~-ocRsW2;Y9E8jD{R2fpe27Ur!W1nW4CntJcqx* zmZhKDWF{<ZTL0S@Vx;=Fat`!QR5FM zx14NTp|oed`9OMd$b>Woy}aAACbQFwCfQzp=tK4``M*1fYZHA{^@eWRzo|7COQT?i za4GB=^ua8s@se|l0_1}M7rtpHu4yNZfRi&37k3J;e=LFhqNPx#Hl_5~l|r1-xd?l4 zD0`IpRNO*xC8bQp&< zI!{`)imiH=8n#?-o4N%2o_6~hA2&R~D#ibUV1N8Uzwj!QzCPaF6yXtKJ>G=6uX(y> z1a~*y`zOS{NqN}+&BMRxoALSGUyj8<`t$j|AIxt4Tjr39Ws5F6qd``xPzZ4yo$~AN z2er49Z}S;qcIeY+s^PGsDyvXB$iQu{4!pt+l3VY8Qp$HzCT>m?ZlM$8ff&u6x^6`G z(SqbNMObNquv-N^a*gBf_SWi0N{V$3Bj9Dv=ryCJC2yh=HLML^M6aG4OgYtHMpLgs zJB!$`PQG$E{Azp=47A2pw*$tE+EHUYl}DltB(4|I_ct5Bf7Nuff7ZjA-(Qc||$9O6!et!?kYr7;aF4Awa| z2siS97kk&4wEtNlcsbr8j0GQsc9B^+)1}LII3C%vCR(A`oXzB*+SLSLX<~C;P{Jt~ zts+5<-5(vS_)7vAFeoUcn)dBP(RY8H>z@gMUBAcqsM=pW%qpJ5_H@czV5IDqtM@&o z%ATN2Rjs~f9BV_mOcjomKx)W@PoT$>iQo-=a$)Z4I@^C2uLThX%kcrFjU2I=j*CsY zgM=j;cpWbDk+fISab&J0Qf^Y1T9tv-K7Nx`=Jgt#^@UiqNHn4RyE!qiBtgsq|KgS9 zAcUt)^H>ipL6_c~EH)JZ-!uuQk=r&MpLH}!aWpD^Of?nx5bPS@p+{OlYMDS~**2E` zIP{jTGG4r3PJf%szCt4wmdFmOHyK-L_*X^jt&lLL!Kl9y=3XSSkb#30GIla?ro6m$ zV5lFD#ye258ag>8UJ2IqjFxFcEOMey_#P{OEIgnnED<;M3x?l`wts*O{VW?3j)-VX zE02BMXgn@6Q4^a^F?Z0|CF(>+@jZ^)aW$hcjbx*=td%j1Ls?8hHbR|@$tJY&t-Y+M zZ87VysOs?$n7kMr^0}L`2UGET0pXNC7AJ+0x+fTAj>f#`dlV=J(eMfKt$9tZmEAL4>mr3AtYsI#r z`3(}rC=s`|X*iYv{z(6Gvyrf!&~z zurNJjcCqs7Qd;+duPb4lEjeJ*){^GI@0KLkkF8)f89X;>@aqjc809ly@*=2Ao9 zuoed}avIRETJ#4otQht+>(em|my4xqD>v_>Ctm1X>uD?imb$I`Bc7IQUQZ`RN023w z|3F%=KuC|b>KVr_N5t9qVuir@|KJ%~?bq3tO*Ol5?-fF}WYP8)Rt}D>=g+ro zHp27I8PU{EtPOJBt2x0>}c4TX6n@;Ur|?=Ok5S6!aY_jl=2RfmnQ znvbJk{(gFmUGyC;{QFZ`YaP#-*WJsGAAaZQ9kTZ|>aM!hNxV6=Srh26Go7T`V8h77snW zbp@$q2SbO*JS0@oQnLHQUt(bw1H!L1QLb&7WNU}WOdekEGvs+&0A%u~5) zc_m8D>C#`&5xJ)4)4VFspyv(kG@*ve#wC={lr^%on0$|>H#MTh#<*8s)6-wZthC_Z zcquD8wPGdLSGw`p>!7#wKWZOw($@pXCF#2`YlM6Zn6uV$(OfZ++A+=1F#*Y7*9XBs zN2GgN2NeF?q!blvlg6VP2&bZg*R^nDO@I2PEg4&x-6!;h;(Cemvr^OSX;Ll|g{X5W z4EW9UFyzmSI*jOV^ zA}qo9g;4_~6GAR>#r|JwDxRvAu0XEWSBU8NSoA$&R!)~p0HeJyLs1?3#N0H(K~?kW zn#~JR?KDam}vI(oKVR1g8cv@!a#+n8b zpHBCxnp09~7)9^?3#-`V!8Ij!(c0J)=dYIlwn^9ue`rd~emoSnrOp<7ff6W!NLt+vEHlqFuUxm+tehs^>GiIG4DX z9CDX;U0eibDIE;$@84x%3f$BH{Gi;w17s2&5bR|-l-4pe_|}_i`dv_BIB0IMMx1D+E_%AEHMzGsk#VQdaEi+hkY6^W0l28Tp%WE%(NvD&8pZesj=_6@59me zdwh*-yYO6N{}15(=oN_RvHnK9{p;|vd3ga_OKXOTQfzE|U(E+PQtJJGdi(OOGdrg9 z_FN|ixfMYOi0$7m>rQkO4JnQ`siKfSmi8I` zbHEOHy&t6?zD&CMyd9j^^mx47?0a*xOjWC9XLDp{o9b;QZFa@o%>n^6TlBtnnqN8D z)nBJ$M>+Vm{`ZH&^N=)%0@XXd*~Im-_0(c z+FmEkOa>#!jkZCyt3qOIwLW5Dtk401!~2f3c`}8}<1S+`#u0N#)G9cqpy1m1NTrj+ zO`4VL_Xk?V8u(Zk=VzyTs3%95r>8S{`6_a$IHH~(Bs>U5@Iv3OuHRb zKcd+`A60Q2RjZ=eFE3p+Jp!`RHucv8zKd^%S7Z4*pKnK=xBbo^mCp;Z(8^6bS(&zE z>BFrpfcWXQIos(OY3Ju>)%f^U*;%Io&SoE5+8i~yx;)>TjVguxzjkgXF$;g3%SXG3 z4P+%6Oi2b%)NYNGU1ekYTc8s&3eeUP!X<$_vw`Csf^pXwkxXg{IdXTY3fs<-qLmDr zmXMoZ6F=zm1o;JHdX`tVvYR^;+WK|78+ZAeH0D)um$bFm`MCNR`rGWkDf}~N21-p# zrD7~oREWE_!b7`+yW6BVI;9+N2e{J7KS=iNSgCZXIg7wx7l!^#uHAccg|_BiXl8Xt zJK2_iqKVI=sRV4nt!e~VRqAl1F`TkHW>giP@rt>}c(8@k=H2M$y~WlEWfr~fb|wJ% z7cCIV6H+t^NH|jBwPb_k++^CASxG`>b*ySRq%TZmyb;{#bGp(}8*`)ekQ1I=B3P)% zD$<+w)pTK#SAG$&Nd->M1CAv|E+r926cL*8C|IEwjAcAX@bn@dYXy1PBub?OX@OF@ zl}7GZe6o%KZE!l~^`?_cT=t`7rnf4y2l+39AeH)h2NioiO!zfts}|K1A2j2Ug=uvG zm;+HE@x~;p9_4B(TUzYAtBT6n7WI^gluUV1P&#dK%yweanUXlK5z2g;9Rtxcy5N_d zw0xPQc?~K?rWtHi<&#<|C6mm*NC$g893%quQSqfx4IWOZ%LCDbq;|+lj@{*&t7Kz) z__N%b1zY3Gw&`0g7o62tj4&1qBgg-cm2D$Wn}8JD0=RWp?{Es2ux+1TkF=iayXOP@`NbGhB z=)YZR!jLs~JH~c9DEOZ-NQUC+X(UxedCTmY_BwH$|1#dXa3XM02VJdQp1|lk366CW zPYMvgkwAMXDdC_a`*Il@J!l2UB?)4wNl6#O+8(jUjQKiJr}f$zJ9^j|*E2WOdP`+R zRWm>%T>Lbt37Sa%Ou@=C4+dl88otKI>6Dfb52oW{CG_<@7nMXuqkVdlHx7!tveL3s zX0EIb<4!X|>`B9s`DYpyBqaS|_bDOW{VoENL4Y_>;`!J5c3jPBB_mR%M+*Qu`x0tU zt%$dkP%QN?xv|EbJJj{}!JVS{f_0$nyqaVx{=AVIVrmLQbL=%-PEXzAZOJvkq|vsS z{m=ixtdCh$@tTixt~}sFbyKMiRE<6P4WG?c}BuP1s`1nyzgTHMD>&+Rz4b7{Pi*T zi-Q5ljG*;thMwhV`KT_Q=-u3Z6|zKaN0Ho;Eg{cs2W-)v^2(xzSdQhlyL~^79`8$9 zj*ddl+i4a>(HkSc_L{2(f5U5LT-^Q$n%;go4UJ-ja$pC+v{@K5+u_b$ZaU| zQxD?zrRF@!t@4GqQYf&RcW@eSY^b`YNbx4~8!?Tjhr$=FWU`p@VA4{PqiUj-HC_rIl5u#bwH!w>_m}rrO%ZZSS5;^S7O6mB3aCA#2b7lo< zQYBn9s%Ghy>YYj3HaoCb#Lt~D3i?Eag&yqfE|e-T6DOcbpp0NEX$-Rl@XL-T#m5&) zL zXBPjtAhqY&{he#6G)NoNKv}vmo81%tx`pFOunl~@VO#&WA5U-AfIWsHzw7Dr@w?vp zC~vq{H18>(-!X>tdK$hir8y}r*{(47+Gc`^@r3Ak_1pNE7=PBA_i>PRzh+zf^i+(= zid#U%OF%(T3i(YrV}51H%bJ2Ym6-TA_MU{B$DD;<5rL3Qk=qDr>)CfQ_i#3T)2}dV z(Us4JqnwJYY8irYnx{#v&ose8K8rSdbFVr;G*@_w7YEh0=tSom5Q0H7Hn6=i%}Od7zt9)LQrndKwYaA7VYfMEoc16QPRO>2rL}2 zc%FtvLYO6R;pqv@t!Z8A&Qc1NTMr9^RL~2iAI}ry?@IRHHb3!KMg~#14T*@k-Tg(( zsA#G2!`b_?N>Dg%E^ZwhbdwmwDI-O0DO*@$-;!Z7Irqcp;s`A?z?I9Xf#jCS(2dzw zwD&T;&*$nsMQn~KKmYOJJH&s%?*`}I{kti}>>a4+yG`puRMq#8Z)NU&Ev_n15oE@& zMxgUjP#!d;ukw-7*@z!xb8f%c^Hrs{eMVzI#H$~?OI7cGSI^X|5Aq#+2mSN^<_3DS zzP7&8_8+P_r}E#ovFH2CIb=@v^Okn19?!bJ*P4%`qN}<5$1X5JJZF;6ul4RFGI~Vc zj`!1Qe>PP+wtL0%;V|U88Q|&VTw5N$>-OQcN`TMrQeI#G{cU#`=em)uCnerlPkc2o z@2Tm=m&9lpYMU9t9`h%A^d}F**SCsW&s-^uYj2EV%G)e6mQrp>46a;`R7%S%Tt1va z$5MQoMBc12{masWxj-bba)InTYK%D~c!VN9+%T_BuWr(y6JN9}e?AoTM9$MAdSzXP zb1Ir^Y9#xYB3_{lMM$qK*&~Z3Nj(d4By4RFczy9&XxZ&6@Ug*MK5I)O4c`LSX8f#b zY2kYYv&j%y?Y9kRFyY`>WYsC1>7wu@>^jZ26y*2}Vv z19FA@lP>_2ONpqOTEjpSv_2MpePZCTOoU{$IDNeFQffjD-8L|!^fx!`ZuUE=kSB8& z8J_0w9aHY-pO8;=xECn$-qi32MP~5Rx61PVz^D56cxKCFE+x?+G)mKgkfq1HcWKcf zSW8n|Eo~b81)+X9#$6nrZPDs^xDn6nbLJ5)u3%?7S-8qyBdIGZwp967CN|;pd83q= z4DnYf`|_Io7@j*~HV)9q3dZ|Q2a#`1tovk^u)w!EX0L)6g%S#O(>byFR&C1zTj|Mm z_CC8ocM9o|duH{DlPWKL8gy;L1$g$G_NrDjhEgITgyP_kF|+=#pnb(@PEnDNGbcDxj;J~ls^p+nbqSj1$iw(0Tt>o!Im2F=^(m>w z{y}|N)6_}^nTiw&9HD>cZ+)vrdJH+o;4cX%6%!2`5fLR3QYvb#&=@*2VsAFa4*VX~ zbZ6U+t39VpsiN|5Shat+C9SxTkNnuXj;M~v5g>_!OiMO~*5YoGMPq5?2jh(4BA78j zC6r04z$)Jko~1|TNn#2w(O>Q4;j0Q1wwOlhDoBwDe?0juQZ5BXpa2EnlXJN&Dm|9< zu~{cvqBnqk@9AGb=2W-NQ3tZG<4u!1EwKFUiT_qNHz4f~^|Xv0kJ`_%Y6w9;V-Zi> ztNp}v-eXz=V_V<&*4-BITozDVNC|h`74yDE%5QKj!`f>5zxMIYOWdmndJO$OLcKm& z_19A|GjNb;p<#%@g2^Cq69Q4n3~j*4yMAk~C#`K|XKNEm=7#>>%k^soE09g0eW|ayZB1H-h3nh_k-24xI=MzKC^%HO##= zGr#3@I3{;@( z6GQM)`orfIBP;B?o{zpga<{)HEAkAYIaeCOIa zU*57`9&5M5Y^7mP9M41=r?n_@gAs|ms-8QOd4N{IQWKd>mbO3=6|OC%gk2JzN~kHE zObIWHW(f+FyH1W_*1E_mS%*ZeTm#uL@DC)*>Yg*r$uIX#Y_k}HWS;5AN0X?DQ zsAZ^O)QN};A8BMX>eW`>n(OCba(+>CTGSNN?I&$U9U6`}B;rYuXE&=*f>}yK)hi73 zvt$HJecwQpQ-lj4JvMThl)@}5?A6TDJKV2csM~-9(fMPpKnE?J5ru{G{@QS}m2C$cXOY)TH_o(qj_ zFsypGQ37e7BfOwfh*6^)8DA_IYLCaY%VaB-5VNSG#F%)^^jxtu-sr?;D>R5Q!@iWQ z&%+ff!BwvcA7k62mU$qD?HZG^Z=Thzd{BdJ*c`oJRKT7u1%`~LYdzYzz87!VC!aP* zxaSlA0K{2og!nmxS!tv^GKshpbqKo(1x{ zzp!9FYA|02zz$Hbyr#R`Pd+@KfWAYJ9CSHd>8~T+t2pYcsx&T6uB|;pgmTel<(x2y zGZ{n^^h@e3CeboYGIH)NE=gu4RCSFvxxs|`GPtuQ<#;)1I(0RZ?DEgW4=M9nkztSE z3(eGu{+W5zQ8|Xv24lj8a1MWZr}a;drJngRPH=2Q;xkr{wvyVzL;Hr}!;??@vq4Rh zS5_z+ml)ZOG}UJ)VDSW5VHM=U^A!Kw}T%Z2@R9p=BOkdgu>7eSK z9x(WNL6!ca4^fNn5AwfL5&r7ux0%O(^S*;#4;AA2d>$`jJkK@ToC4mK4R7y(Z%wxQ z9m}x%-X;5E$I|jWD?WFxSIaqZGSkB{IJBt>mYys8~f# znxL0ZutYH5WJULvF$s(QRnjDaVlj+$=trCvMo|74>i`-f2^xbF7)t?3z$~agEBKX* z;3bOSuZnwAF*JV<&jlPBAc?*&U{lW0Bmp*mdRdz%SGS2I7!ERxfgmvvBDUK9;)kwU zOs76yznlnxx0Q;d%a(Hz{PlZRA!Iw4;gJ@Z5Pet1I)OJm`PTEqpy-ZRc$`E( zOgFlD4=oIjgqrF(__+T@S1ec#;~Y#JK4cvPqmlU}1mV{~Ltwi;jXyN;Dg~`+OGnG7 z$4j$t!LKG%^GdpRH*)Cnr4(ax#fbe9wsYOts!2JPeqH3=aY>HE2$q9xAVE`|!gJ<7&*qlEP= zrMjxcyEGVSlS9(!$ls(6@&U#(@@oOg=xnJgEP=LG^7fXp3>Az!n6uS_cJz6ITXm(B zFae|{H_0+tA<4-D&8AEeRonguj4=)+ zI2#uW%~M+w)xSLjb9+n8wsE7rJI+rXK~nWV6l{~dNfnzcDE_D*x(v<|Wq;6tltd~DW*<%su6UA7zGnH7OGQd-As&5d;+Rq47r z{&~bZgrGlcQymBQAoweP_+1=#?@RX27XjS6fQF;LLPD%+aiBT3 zqB#cEGky8B{%nu;z};>ZfMa{~nyWx%5ic zu3&oDXTpy>5s!{UkPuFBoZw?gRVPJN_zg_(16=pA}L~GcnrOC z%p|m{sz03fg5v4911>$ntfNSwUy8+FL=XpvE&}qVE*jXHfPe|fSPVxYhj4>BYN7bd zFo|$SNfOd#RIMX&is>3aH#bkKk}9*&qKhS|Ewyq-wPo?!84d=4-{;O);t0bLcdswl zf3Wcd@@Bb4>VxDpvp{HwqU#2#XWkvB8vkZ~jo>u5Z=zVBW%uma+Mne!|MA5l?2|Vk zrw05*^T+uu#{X}md2Yb((GK%}c)2an_xW7vXrb5DY;|bAKXW^+nh$xVNAve6x!r{n z*7s-s0xt9D3v77b%wBcaS8uj+`yV#}JKU#yU-~W?dfrba7zAFwMpwlBvElujy|9GqK#Mu$!x(c6*$x@q!w& zcSoaxd9G1DPeI{t<0hv?>~ayY9oSMKD)H*WaTlAq(EenDQ`&YVvhi`&Bs4QN)nc?F z&BR03rZVM%!*%OujOoTl1amEEkvgwH5{ffQfrC=s6*>}ZouCkR=7E2nM7j^TZZMTW z_;XUQWh4}AFik((npmn}aY!hD)~$}?3j>m(2^{Y-Fr2JJ&qL)v#y#H8FeMJ8%JuQgFnUpJhMb9a`MSi z2{;Jq?8!yhL|%hAAS-VbLjFp(d@#G;qcp3?nWlN#;+=PsAm3DA~Iz_Yp3O8l6CTkf8>VOh; zRP|#wx76mA;-n<05N=#O`N336$`4JzBJ!c1^;+BM2J8noM&!bM;LDqVk6;w5uGXwl zTW42eeHUjBH(LuYYs<{yYPM3EFk|MdkSMRVXwj+Y0X4rJ0Hr|)o=+4;U?^rQajyk9 zclrKyj~BUo*--!kjU@%6k#+zIt=!Nx$VF<&?s8H1J|U05)vc|R{(hTe ztto>$~CftD7-**-V2QHR^j!vG6ine~f%1en21Ft){rr_tfr@-*`lGXvcC5OVyb`~ObIx5l3v}DJiC0TFgEs1TpTR` zW>WY=0}(GgNDT1}4Qh_C%MFrSFA@2JD*1ve76xD(75x^b{8dc4Qv#E=o-myY8l;)h z+?uvrs0PO_owLR7@@h!BhOQ>()H;U&c-2CgIYh;mQdgB%;ZD!@ve$RNdUfgya`k`s zZ|o=Z8>k;+kL_dr$A7auttK)=;VU42`_+DY=H5|-@8GceTs0nKhsf=(`HXXiQ8n`K zv2Hpj50TeP^NucdYt??iILJp20C{?KhA~mD;e9+(m3=!DJ%(#Xdtxe`n#eDRv=O-4 z!C;MudBjH}FpR_F@s+P#dK?+8$Hy0^qJ16Bpx5}1Dt3!+5fCE|;n~W6z3YkjvhXRL z^C^QXfNNS6h4b%@THOJx#p=*p*ng>q2_M1L)o*KVbp$eIu~Gl?ek@hsocS~NX5xGw zoR;+EpaB^JQr@Gp`*A^jgH@_HbhSOYz4N$^TRLWcAUZ6)XRJ z|IdHtw7s6M(rIWWXwcTBEo*Ewx4V>HcCxN&1hV|@4wn)c&8zt#2mX#&5up#gb*|C`Ta#4G=gp-l??ZNIz4EDHTizxTr?aeZBn zx0A`B>D1{S#dXg&0jrqTq=SU^+H?|}`^I+TcadOFK`q`yh8Koz7lay1bX_GEx zfZp8%PtX*RKIDotA+(q=VdNW&vf%V|)5;1uJnT{HQimd zdcCKk79f&xT#?`^2@l$iNK7Vd23BlN3dXH3EPWY89hjubVk<|N-eOv{+;Rm^mz|}( zjhl&6m3~HtbxoC%X|cK1SW^Q(4O}?Jkl1JPL(;%Zh=$*v4-DBbU`G=Z4PuO+D*Ztr z6UTywo|b?)KPY8`WRM}^m_Fzs8%V4ir)@`F*<6HbWt6TMV`x_s{Er)HKP&`myv}P^ z3w@2=X&Ra*59VI^)~G%zFq_pVYfu|RK^l02SbETDk*-2QH^W-bH<9d=miVe5BR&FzlC`p^}S;4_V~k+xYtud z-vxI4TS8I==}Pt~k7{MbIG#M7t$cV!0nk_EZ$}CF5rYWzg6UWNUPYT3-H#HZuo zH1&$w4e%4H7fp?|XaQfXy%oAqIO8oq1WU0ya9y8Px+g@DZDEtI?@t(#(}5%eerBfK ziS;a8ku=1?3$?70W_`b26_@H?oyB&bQjUGA)Hhe^iaF9Ag~D4b!SAfH4GoYtPx3Yl z3u2yG{PD~X{lwfCOYYI(0Gj9NIO9^71B0F&N}^K6_)-78b2P)dx`=(xp0( zU@-{Pm9u_GVRfFphg)4yl{gi8X658}aE*EGU-43XFmRg2Gi|TTqoaRfp;Bj7O%OEk zB@_)Tk9$Wx_fl1-Djhy0+g@h5Z&vs0rpCHblvJG#p(%^nw9 zch9n>8r{rHX%y->6GfrGxZgBKu)`{Yo^F%mOjfZG8^=h`lkM}#`!x)ko&J~6|1h5I zYf`S3S=4BWV1=eN%ctRH-7|JrBp>+WvVNqK^&Ue5-~|^~lZwtgpRdsUU(Ck-+9&xq z)m+>^Q-66-d}K){EVEPoOJw?&cxz71#IeNn%wVzAW##e3Ht`|7#$$fiLT^Q{zu;~s z@i0HR0v)(40op2nzxHdtAT~Js_HHl#&G6s&*4Fr&lcr^!4n4Wzm<4ghpvb;vU0o6* z7!ou&av&yclEkQVv&mvg>}2#tXP5u^(bZz4^wVuT%2h)Wz`%7w3F49l!cT@NN=RNx*so0B zk#y>scIqC6<`4$X=i!<#5?INq70y{CSv5T*9S!9L!%W1-&d7xg$oO5VLV>sxb7im7 z=Kk;U*>0<&rN`N<)|Xp;k@VN%JuHNCiQDkD*Voo^Y`53l!EK~40ip*N^nY8Nf4oDy zvwfS#JwCHb`9B`!kCvY1?#BCe<5NYq_j7OBDjrzgik={K@myZk?VH{LdrbKJ=70_! z=vF?fI1JKyH@g7#oe-2KVJ~iS5l??g!rylw|3LBF5Lx|KnGV=<)tPt4*Vl;ZF3;=1BYZw@`>*loZQuLB?;Tjj$8-6a9KPQB zY59fQHvUGNN}31V@9vU_jphEw-`Bjz*6Rp0MNw-qMp-ruS*LdDnAOLYvqfZgsFLaY z!uwEZAcS$f;r)nl?%E`n0s682EwCN5B0B5ITML@AODsIht)1PS4V@g{(1P+BvVZZp zYv$-$p#R|TSq21PC5T>CMpSXjwnEF;NgK$NLSR6dO>S2m?-X@DRrMAh)%(|k*C+VZ z`~rMBKJJ%*jZ)anb~+q>zBayjB`pKO`NH3ptAevLBmX=5i9i-40zii) zKN3fGFtqGI_-JmA*4Q>#Uhf~{(OG1gWU)Vr&~Nxqu=XAuc(8Vys9Sg>Ci@_^Rpl^! zO5(zRopfvm#c2Oy^}uu*#{k-

      @+s9I`)tIiS9%_~)b~L`pRNO?&5)qG7z8bwL

      N1H8kMjDZqgk4q0Iiqyl}c zpT#3&$0Lcqfi+n5sWu+*gV2|@e3n9p90CxFdpif#hMiH%Y2?_HOOa|ALsq1`U;|jh zm6SRwYNJg@2+J;UQb_pR@D>7{@L{w#=2yr2giotjVVE!b=i8Az7 z(=xT_jOmL|s6@7IwF_IqI#YsGR6NBe!(=tlO6oC`nO_`moFXN3BPU9N*4%6rkS7NG z?&^K-FmbwE&$I4&b_VXwsI)}vjQog!OmWApY_4WhcC28nBW`KYPW9w%at4`Pad4>i z%RuuQ5HT5rvwEgfZ&z<`Wod0lrX>K;5%66+T;Z@HZx3T z=LgtHD^dCn%;`v&BE!*AMGq;eYBdq;qrGK}RA%Wl%+6D7jkm_MgJn56ovc#8dY?{X z&;<1RVXN+)bdCnJdHOlK2)JC_$GPw|>`$%;F)xQbzt0FCn8^~67U=^ApR zQ-4_dh=8Cwij9i<@UE&!X07pZp7z3oa?;04kl5b>m^5c-_`J_mt zhcpcPAH3+9AQ4j{!3F^YyoDf0&U8q=IN(t%C>PR^55>}*eEg9_o8KS4pIPL}s%C|3 zs>ZBK#j2<$cMT}Ch=NeggaMhLKk?G##Vuh;z`&S9Tdn%OQJuLB&;K;3i0Fs(;2qHZ z`pJQH_knhg{lrHN%2XDHP_JRcOf;90E(Av_41&NQ-oN|jPv&!??DMsxd^I(9yxMuO z&R*5wvi~~yu-N(7p<7v)PWlh&@bSnlThHsL(@W3iu{*!3_9348^tCz>%4Om|g#rMlc)jxP*~~{vacb(ewBYmLAuyuUEdK`|iqB4A_a~?PYeOzZ6W< zu{wF@aK`~c-{o>#6>^^T$IUz5SI48fo{!Jne@1A%ENjFVIOC1=a{fqYc7GG`hA@iC z(Df|unhU$yp8s~Q0a%B;Pq;e!4corMVmZ1eXoT6@$f1TO5PH{o`2W|j9uvU2bZjZ~Hw> zhQQ-{e>^M$G~4}NCv(2@0aVX0(v`M59f=~0%kpcddr8b z+k6twEafjtJ$&aO1jjYlb=GG)>R-(daqXP%%(O}9M^wdcQ73}AxUp>p}i zaZn24+S0Jd*ut{*0>lO&glt9pDhhfF^UF+(tQ{@N+#5M-+JEKH-^TKJl=6ATi~@qy z<6y>S_`oVe(Gp3&4a9(o@EU32HmZzSU8>Xa*+@2x67C8m+_qj*DK#HosfQln?E`8r zx9t|sr^)5V$K}^xt$9ZmVN+*VPNqyGm|ih1@;;pXTsX!qI^};UIB1HYVONN`SkEJd zwwYD}*1RFjGc*A*c)!-c5Lj?MYP5&x|dG*4wR6!f_ zvmOYyP77B$P$X^8%4Lu<VH=u2 z&IDmx2${_lfXzfV>Tw=$jvbZ~zNJuq6^#>-kV{CwYvk$FS8m*oYX|h%!NF}4A=jK5 z3P=;NV7k_buqsh1mG|7@3z7$a`V91VS{j!ksbx&yk0eATQ;VJ!eGK};QMYqOX{wE2 zjUZQ;HPxHNrX;IEO8I-8z=rx$f{X40{i$n~D11|1Exi1QCy*qd<$Dk#W;zQcc-ek*Ea9I8*k|bc+=8)s~+=-Jfs`FO*nZU zVdP>`8Hay}@0B}OiC4hz>GSXDM6=zRWLdO?fsYaGoS3^r!nAIWNtEu z-Wv1Xp@|8&oHGTo*XGuE*cO-86_(}WRAQ4dEuxTIF)wgQ_?BSEfTTf_AIn<28qk?jd~vYV_S`tLGuY<7p=<3yrH;E@~=6dv|? zODSls@jGV&w|7f@A4>TKoMAhO=IE&BsU+9%{y*fjc=mgJ}8F#xsMA~t|;u4=TcyH}bF0K-g76UY z=-=rvUJt;Ou(vbiQ|ke^6yIGP(9m^-`G}_YG=wt&a9Bj?&Y-H?JBZ(IvAt$D6H_bmlzY$UrMh^5b81Xa=og*ep9px6eRv-Z zw+GEbl`te1>+8-v(;6}KO0s_G(Jv)2uNqwt7r6gAx0~s|9{z7Q_uEp(=k>Tf9KKqk zw`-_uZjjC}T~4^#wETPzm=%LR#Pj3(dcI4W-pcSk8XDOguV<&X?)EtvGRyIPK0t@Z z2l(FKpUkJ|cz<_dy`P-S+jYI4evjuo?pGi1m)qS>HxO=sulvV>YTNIe#_nj!*_AI3 zlS4hvgSX?H#;^NGye2y+P8+zjSx{T6fab}tk_eQPH|KGixiy+988OsQcf&kY^0@I* zYqu3?$Y?9iy(F=zKVLs%)oai0{^|Gi(Uy`=t5kxg2 zXvvs_%~;;+4(u!_a&zGysewG;x29|~75cnZ{WGt~`={W6c$iI{;8IpdIm7%~9qIgH zLz44C69(UO0BpU1OnxYlhwUn4;iV zVe_iwakf!T3vi195mu9=tJI}k&mjBwgAvxWFk_%P3F>Xbx)fm_r z+}B`qxL3DH?sBQHa<=h)c{iLikIENLDkSE|2&GWrp-eEeic5a9N*xOP(U9ZC^X&c| znH+l(&zyG1&w*h_sDOiEBKpNTD~}01A@nzOcB?_$&GA@5um*;AL<{7XRX>Q$EP_&E z2-0poyo2O#*QvnP!@f=?qjyD#P!Mfv8xR)OW674*efBN?gEfwgRU>czugfm z6#V#u6e)#I=&X}2k5!Q!h#YXxm zER|`QE1S1GFUINd`Fvi18AlzN9sk)jeisU~zgT^Pk#639EBL&glrTaaA4Si`EN-lQ z*3Ifo_L2flfkAM=&rxo=J{G*6k(oXSbDw7b9`l>o%(08yF(r<7=BnkA$^kRgcOPV(RO@BI-HSTlWyD~qWf)CL4ytn_H?LUdR`n|n%)!|}$7-f~h=X=$e z!xg=Klo8;kh7a($9#pgI{P;X$zv}o{%97*jxLZ78&*AHOoGehv;YnTXT9OmJU< zE^>_A$05hbH$j4ye4r8&#S#;#%)}7aBRPaiI{-K>8=KqF9f)25hCe;ZkXZDQp6G7(a(+ zd)MA|czrc7#{e?kZ@8$x&!Fubf1*2~xm-bh!WlS}wyrLnyf!o3=; z^tM&<#1`r?kWFf0)Rg%#RA=Gtt)Faa}PFq#pi4K{2;-i-HZ!J zqar70GDdCQQxqKK1UX29HctJ?8of@DxtyvyI1pUpK@;|b_1a$=sy!^MGqO-MN`y+r z_}p7&={xLVe<$L972hZ@qwL{m)e%Xo&Z%VAJ!X$%aOW`k(E02&SeT2gc9L4H#sVuL z7h!n%Sbnobhe-2qbIwi6g2*9vk~>`PV>CN-ypfFB1%vRq+r$L0?u_!5TFh@Ezpa;h zwf`di)%bg{RpcAn0B*!2_FZG3TE-Al=V{X}lRMZyEAJ;A%g#1}dUhoo*mC3V zt(^Cl%(w;-3MsHH{#Oi{zi!x_C+X}R!qOSV=yVV|usQ;kNeluj-v`jCu7`Y=;=IxhN3c8< z-Yyj4VgtkL0nQA5J>M2dw%3hGZ_G0rJ@eaK#PpL@4tH1fT83Pd!7^<8*l= zy;vBP&xJ|vlZNUy9`_@A`iZG^o=~0pWs1H%#&6cM5dOU{h(1cx_RH-7(1@q!nFBa~ z;npQH2{!5KApK(gUtTwT=f}`opKy{aUldhlrqMmxSU-t9!@%JBByX(c_CO134{b(sbZp;0C@uDP# zj_=v#xvpz za0SIX9uB*DNO&yX+x=fcBqTanUq}Gt_h(9(;r>D@1K64nhL1nCLniViQRq)fNJLdc zQb3SeEaj*)ahsF^+T+JQjuyk~ai>URIE0kr<0oKQvSx8SK>9VF^VLThvTp zztd`*ghb6TBm++m^7+Ny$vN=g_L?^FP>HJ|{w8yUt4vNZmzaJbEx7lv zkfOb;$Vb&S#b4fpXu(+Wq9}jTd!dcSK}BDK^(gXqa*)P@Dcfp@goOOnWZ1(jpI}sh zPq4))6A*}iOKk$Bl%#R6G$APC*v4;S=%{S$NQb{!28Rc1S*h(ZQePp+=Aem(J5^7z zHl&KS=6vR4IjAfO*#G?yReY}9CKxm1KumD_!%kbgA$o!u!DK-kdaRXl6f_Htco}g; zm5fU++*-MxykVrs`Q5Y8x{}nbwtpsFvPnOmWY_neA3w8OEmMzxj3GWye{8lGwuv*z zxQ@*6IWG*u9tR68B5KI7R5>AaizuJ|2I?(wKq~N9$8&&+{5v9^a|AJc7jWoaqv1LL zi_P0FFkKTj51X2G$}VzSo525l%b`JKoQ%UF1)V`EGOdVoh*9Xl<`zeDtP0wP5zyGY@C!cO3bfr?z`ShDfoF(H4GRq90^h-LKb zYtdv=Qfy}A?ds&MuVdkuQ`1$ES58)4&fHu`U)?a4nnd~@;|K&pwG?x?=`e&v^-)QT zqN|GQy)9kb?OUr|x+dj~qLh&Jy%X74L5)nT&Y0>nBc#^Hf2VOZrA8VJ48$WqO@z7& zDF373;l~AE6ys;v-Rjd8A1Z`k!E?{KzZ!Klq2oGE>BfFEYCvY!_+D^Ca_I2-CP{A_- zGAm7-Rv+yijV@dB`J23w%?I&4TK;D+_9gyIS1I-5@e@+c?wV!?`N#tg5rZppb$#+j z1aNHJ(4Xbr^pZlL<7s~ul>Ne8;KRRW-y1gL<>Qu-$MU^how+pd0IZ$endt6+iEJO- z@wO@dx%E~!-U%~4kkR$@pxTFbw}8GK()Im>0$A1<{q}xj%=`R|m!#QG^Oc=@^^-?ViH*Md1i^YdX`0DsvN2=5F{3(-M!WzMGc$9-jP(9bcxF>3 zbw<(udv@aFdI z2?F2y)Z_hODB}30d{HdN%g@K|@v-#gNtgTWxc$nvUGl3!`B;v2^{NrzdH=lW2552k zc>HL0<8yy&r1$mtTCctWcsQT+HkVxbG3<8gl=G!zxJu@DPsKUsF}!&D-fD>LS$zN8 zU!G+2zVo1I3B${dJBmcZ6m&LJ*_y}Q_685{X)pU)odv{2A|_Z}aS+IR{VSB!bNTRA zNPXeVJ0ITn`B1!8L$H`(QB0nQVzE*w$0J0)lJW{jsBajVtPSDNjQVaJ9UQR*ObeJC zN9CnVLw`DukY9vS@v47AjuQ->&xHdh<|&F+8aot2x~j{pE8F!eCGaVd-|m9CwATW$ z)`@!(Yi2F6rb*@xG!9IE=@pFSD()%9@1B%WVp>Rql9(HMi#uO;?WjEkbvY93B^5Bf z1@u6~4B+t~xZSI$JHvvJQ_@!8*x-KS45PSpWaGB_)D90QPH|3a9X;E*_}EF+ah{+# zFV#p!=tt%M$qv|=*Gx4oWm%z4WA?H>-&2v6=96^tW7-k+>yRk_>RiaW;+)-@v1P)< zbo>=(%P&NGV(?8Uk>KL%8Fph%jWV3n4>IVG;7J`mnKW@rx*@j&4xc@n>7)%OLDhGp zdYXFHOEPHEWtAmJFY;9TSdXXC5VNE`{~8pvYu7Krs4o({_@^XiIoDKFO8wsAYbgx& zb2D#0DiJB*T^yuz=F6c(7$_bYs*gn+3}?>rtiM zL!G3O6wyh+;!)Zh6;V|{dUTkKBDNNo=nhSlCIw6@tXg{?ir(w`TUU3BQWsxwPnL;Nm1%dV8Fwn}1*5C+Xyk+-R~q_4D|OHqcZ0CTQIi!dY|m`7Gr zCebu#s#H;1EUm6eQByWXN4<-pL!720XEmQm059AQR(A=Lbyn4dORRQX^K$w}=bTDH z5$Z|;iJLeP$ebAXF6r{+uHltZR4iICZ#wsHmcttq8apVjaKFB^5E{)RU1V(#(blLY zMIEzb;Gd1gYa5Y^OtiKV(z2s4HrcwX?`5(~L-DBQR4`o~|4-BVttV18^C0Bo8y*K874^l*EL@mxv!+TmfpGsQn8pLyIk1{t1`BwD4329oLW#t(jfc*UO zX&H@?*_{&8yg5&Y^!P|EgR(2tYOu_xNZ;fLhRc|O>3R7|Xv*v^y%Et9q7j@E!LFow zCM7E;e3tPj==fY8#?9O8ZeBy6@NZl_+I=}}OkY-0jaVL$NGmxgS{Xib@n~8B6IbKj z2t{I6{a7}}tv|-9*SJ29KmDd(DZg$#tA}-1HioavrLC+2S=k1X7Kbv*<1vfe4Wl#} zmz26Y8@;}k&aQM@-A#NK^vFuh_QkMn@v zFnT!eInVQz!uUQdDx*c$?;5O|Y$P6ZN1g#X! zjquY+FaVN77lfcw4pnwpeFdqT%`9S9DwG8;jY``P ziK>|7O3!gn58|MafRE1;LS3OirP~shqa7JiOXIXT=!-5pkA}95NLbS+O`#42!^x8> zrEZj<<%*V$E}D;@8DYU8OAsch*PtQH88R>&)gYiaUM#5Y@O~~*i|%mdcwf|?`5T)W zAZ7&L4Z?+#4o6xROdoWL{6qHilHGGzr z=R;Z&D4u{m&@FNhPg<{HZU9_Jlcczoip6>EW%}@g6~uT=Wwh zbmJ@XCRL@!*rww*r%g^DQp-oYYQvVU)J0maKoi${B33H?2yJ6wnp)x%Ooj2pR8k}o z{_v-SeIJz280g1Y!(aEQB4iXjp>Q(=-VKmf^`SS%*?f|*IY@^keC2=c=ZSsp8Sq(G zq@ZqR{5vN`MBt3$QrdcY;mnlICSR9^e82YQrfMg%iYkq^9xj47<@CH#sFx{=!Wq-N zl||W9Gpj33tFiUcSGrmlTNyQ3b*ZS(hVK-S!H%67MO3o2*k?7^7j!pQ3mFb`p;|zN z9YKf$%;K8d(3>0AsVr5bnGxf&Fa`s_W_#c473fWZI|HG(`NN=*h4!6CuQymyIayV+ zF?xf*5sd;E5e+cK3?+7i5#tmKmt+&ic|7j_;B@xLW)6t46T`0~=WG89q*Bx*Wvd4v zHAewHu5j_%Y-Oc6*tvbF4-T{p@s6rz6kWBH4sR4*fW1HRm>SU3x8TuM>cenlCI`*7 zQk&6r`rLhHn8{{g+hHu1V_^mw*41*e+mHEOT`YI`bX}azchVF5?^_kEyOi(R@ckER z(FX{^ne3~MyUP?k-vf}`n*KX42i&)F&GxRpyS`h5z@PAWU+defkHFvRz5(9EeD(Vv^78q; zzwu}d`n?+6KkvTbZ?rnxO*K+K*=BzoU)<^WdG6i>oW*pt-=CC3lx!VO0diuv^JI98 z{4=M6vZkfD^g=m~Bmw(^nU2MkD~iL7Gm^4_C}~OK%`R%N^pjcLo(B^}^BLsm?ZFxM zFOqf9nAD?zt)Znp6BCr2y=Jm!D*R&{ahBS!^h!FVRyqGHPa2j~Byhm2ThpYO;_J>~ zHI$+|hqV>yY3cX5BSezHTMY%ow3JC@oC-8U2~~lJ9;bu~rwW`z6M^A$J%cJUyDF=t zDz6ig%y|=%&S_zAzj)OKnWcbDI6{Au$W!u17f_tZSZJYy2ptEAiUjP&oc=|5b}6U& zOG1Tnv|Wvq)8oG%^zNht5I>0x;zmaUuweOcvXPSddPZ(pe$8j?GgqP}adJ_I6cm}I zrAo;9Dne0LCZZ%Hd_w=cMS^>$;`9X&KM+7P%czk=%t>g~gO08oHaZf<${A|Zr#M|gS+b~j0N1hVviuhfP!F?N z+*^C_kCQwx>^#;6J7{1v3Bm{TMV24tYBkQCKu>yix^~T;mrmcQQHxTIL>2kZN?v&4 zS~0`dR!V=rs#R8hc9C7(+c>ff0|>fC83F8O6X)waDQ39QIk-Cq;4R39d4@riIBSB` z)kJ|?3Z`nCbBX5l@TA4?!EwS^10~!@T)K6yefdGSW#dp%R;8KZvpWhgvZR0`O?dd{ z(&wtebbfn9aq1W$5@;X|ro@J|V+E_4U1DSP;Tm=z5w5@%UDDJU(pmi@wxN*l=qS-Q z^ip@;h|2R5zUNSX%%zY;6)Q9uJV|~p3d@_;DriGdSwpJ-P z7{=5q>+|_Co41bbLXQ35B&{HXHW+JLy$nD3@U~x?`I)@fp)~92JK$$@aQZP%uB&Ciw@d>t zmDDg1qmL^90fzoyW#Na{$`7iR=O0J;-d`f+^1m;ra8fmDo$xGo@ZbM=6{ zVD92s&VZbRhB&WC!96PV|7w5)_)IeZSO>(Q9F+n#y#RH4-W7!wl9mvpy;Fr;lPdEG zPTcFm(|Fvjh7P@ewIwwRm(jWhmT;Dcax=>aC(AdhBep|t@{X;9%d%NX)t}geLSped z>YPfu6SNoB=X$CCZ0%}*NAVaa2qb8rKS>J(f1_Ebxk+f1S9U1&PK<&u?*~9JzRkqZ z7ZB@?hI5EVz@ZBCv>CUM()MP8E06~{<@O3+BRb;*f|7 zi?=dhQ0ALSVp=qY;9@8u7_cKs zdaD80>DxsA?MLI;u^#(a0cHyL$lulb@m~pk^8Gj*WT*djkgc`T{oXDT^!!|JZrIUt ze7!zLo6YdNn{HmToUXJpx;^H;wl=Ng@OWeJa+X>701trceWh)`FW}974B-9xL95wT zm(S~LZVJNg(#7lXrg<43(DC?kgl)Ek=b%GFn9V|(!zM7LnRj$PiVi)iCRs0=lB<>} z;gdeX}ESDOH1z>4d0$#9@v_0Ovk4oBTK8l2M(N|m0A*(l?(v2 zE)bJs7=;GWm}Xc~&k)5P=Do-+YRc9~saF%BEh^#?ub_%*9AD&A;ykUg#HB4urE;}h zKFp*m$z&ne=z9h?Ok^ci5Bzb$tb{#c;nOgH$mJXhcaj%?J>oFvF8njXI>GD+TUx{e zq!C4^wS?hMC-=l&MqIPf!i)!|=A!1r3-&IAP z9%kXMoDF*YtCUFsE4ZJ_rJ_`?q~4S=Z3(j)i+Wz>DI!ghd`!7g(*a_}-nERtG1l8P z!lAwlR)cD&)tE_?raE#NhS(uB2!{CNAS$QyybKsMZN*RK((#J)OSTHwP&pJO*+UW= zC?l~EFTZhdW)Th3vC4*nq>~0TIIYxZlVXzjIY_Lyin=~^rSIfJc}=Q>w<}smd~aX9 zlau3`Rrtn(ObHea47db-0@t9_({(|J0|a(F{9zBjKZ;0eZiSFd9r7Yo;MO0t6G&r3 zrlc%z12eJKfWJMjW#}17EMN_HGY@l&_yuE5RHlI|Fe&TPEna4fJdT; z!2CCv*nmso8$!-!K)GFs%LCZ!>Z)@%0$!fAGqdvyDWL|+uv$lfX_5ti42T057vvyy zNP?>5iPes4$6>FDej()!zKjsi6OKuRT{97boQIOi8vj8(C<*ZzA-oIB1-nILryY@k ze`FQ}xu5w#%fb(Jr_i^t5DKQ*kn{6#4rwS9DoTUk7q~@&`mkr4s?R0s_OrB}N2iX# z?jERxutf047@ZA$re4-PzMeV<=RC)JZq@AGL!vnrEGaP*PP+f$Y4*uzc$2A*qu=ypsv5QyXt-@ekd-zJ-O_l+H1j;l%GX zNw#f8olFm&vwE{iMuUWiEG{E*hNH+@8g--dKF(z zt8eDee`NSOGeP!F`afqW;R>C1Q|-THXuF+ETx_Zp%H#plv7eGpvfF3I)#W*l9Z!PO zde>J2ITD*)nF&1A^ssxd?@i)25rk8BXrIS=T2XF|G#481fYrnY5sGK>SMP>=Ki#ho zEAKmzad`CbobN@);@H)N?<=>j7j)?bxxt|ytLMi4EX|chGhp@bep)1^SAY46Xe{Se zmH2SAK995f%kBP)(er&b68GJV>jfX`|MMNJzaH|3<+?x5AK>-A$Kp1hS+A?D!z27G z-}lLbl5HK|_nmh;zOCn-%ZV&zWV4jwOP$W^>(x#?y}$^1+0S3TZ|4caF@7Jr5Kng7 z9ZnDTo8?;gosD;sM`n0_Zu>U{899Cq=jZDQA}Lg(QJdqG+=xq{A$)Jcpc40a8Nv<>LaEM=0=6yPHHv7U*sSS5tHmO%>|oyQf(>m`90 zr4EWbsS!mPfkTo?0`>J})on&?E~neD3jK>zrXi0SD#b+Tgv?=mcq?VuLsMpbi|I zPiPdp#OQEAvq58oys$zPWi}o4O!8`nu<%9>W@ajGPVFpMx*-AR8%8ea8iofG5TIIM zi(cHmuSnzz7~d%YH>sc~Aq(bjY#IMakd0uZlVmd3u>5j!vB^}Qp#?pR-LG-*55I_= zuM*0S9STYdCAt=%IfoWwgZ61z!dV2zqd}3YVuY`1?%W-IyYf`g{Z^d8F zt>}&TKP911J{=RPFkUs{XQfPF>63qTH@&kAS@f9X>5gsDCR5Dt>r3n?0@OGNvHM~t z&kODbh(AtdT^fK)oL&QjF6cyOC%Z!f1*>Vbl79>9mo6`pr8zi+On3RSyz_P1Rms;z zgxu?m*1`~9@0D3K&SzG~@5-=XBB&e4s1wKs3+LnKz>FjLLJV2%q}gPnlPMEw4nVRq zX&K8GMLazE8&S1%mL3Fe!ckCnMBL54b&8l6^X<-n(2=5Ff?37n%o?-+>WpTOQ))ny zIwOyOtcFQ(z*@kc`w>8nZ^Y;ygrw1J|GWo5(k)w1bJ8eNJQ7f6pFgf=1ovrvHd zs({ZtG7Skg(+AQZ4xn9=iny8Cd%u6?gsy;rp%oE1n^QWsUbPRh%4;_$>@3`(WOcNt zqv;?aULT^hpvQT9wARzU&rG$}_@}gJ8EKN7g8Bta`5Coj9NI>SqA-s?R zk0licT`=&kxj5wSUj;jbt!uL{e{V*|f~nfr*kLLOin%#3X`vTFNjCfYTRa9hyNsEJ z`7~$hH#%Ln0QJ0^`)5vYEy};+$M_C`u%CNqpIeL*{Iu%izmda`l||pLV~-cootI@Y zu?3DAX2UimdlfBuU*f{n+e@}P9*4M(rnEE7vsnI}m100BE*7S1cS7@U;~JmZN+=#_et`$I(Ri{sP!^wAXk(PPjckm#BS?cLD- z#VBIn+t6&%~loN^fWu5~sn`$tf{c4c}ga>pi2K(uHzr0~Lf5X@s z3yGbK>n+{Vsdys?=Kr565RPa^0Qx*X8v&UCo|fYb!4gT?f0- z)a21VcZ&h!(`;nky%BeQV=)&1(HQ&=x39;=WghkGPBJXtQAs-)=eCowKpyzE0J+UYAPPKNl$R~f~jSF zf(cDcEJp7bkDzSWEb@GMeVCHwWioAjGWM_-Nw_@*>AL#9HRf6ANu?tzcjAGmZmR~j zY8iau?r_l#8pw!jC_6(~5oe?&%u>-%N}34nWbn)1K4za{r^SY-%zFVmmKfQJiP0<@ zRr*BZC@7`3lWRDpDj|v!Hu181A}P4PzGx zn>?=P?}K5jL2E;%S(BpZ&SB6dh$dKTc+eI`6WV zMpfCqv}>36I|b>i@_iO*((;$>B1+>JwB96~hDvbtHBm=l>|^A0ytH+OEQj_K-rSC6 z>Fy~|D3hgdGj($*_NWQM&yr}Jd;95PSB{o<;&C)nqIYeZL`|y#cT%>jv1LvVbPffj-L`%eUgtq z*z)G;5wW14EJSM0Bu2IPCW05-fgEWc)KP7=gwANvWO?~0&`~IpeJEU;#afr?0 zVYfMV)UY^9CDqz=c$^69TP*X|Z)!2_?V!ym z0x<;=NirF^yW5*=TiV?mD{|}N$<_AKB2i$G!iM!Jgpm?tO_&wbQD{ivI@3@F%l z`UO)zctG1nqXfdjPFofUdtz8PS-Z-Y>E6l=QN>`Zvl~DF^q=nBZbS+Dla- zN8drm$tcCi4`Ng8x8gPYtobgDuD1}XqXmvg7JA;UCgSXXZw1+ z%q|}R-t<4Bu#rnrxDUCh+$FZMwtH z?kVC)&gbDQVcXZ^b+q4Vo44b&mmGWDE|QZ@4bctvpHlRKjhAIlGDmR$i^*^zV?H$0 zjHc&dY9LFF&{Jw{r)5h5enFn7J%hnSq(0g$1@8j`C!%HEj@LpYR6vi>U<(FB+Ps1W0+Kr5HTf z#5?I19xk*xLJ4mFDY0* z33v}tMOXM_CVG+7ts(F@ld?7j|EenXJ1Ib*))cgs8YHDL3ZaY;v0Db=)=fcgp@8Bi z1YU{n4m*L8hu=jnt5q(mRwbV`-}Vxpk@OHS;x{UJ>n(W?U^8wQykPGe~ofrh*cRhuuZE`pR?C#IgceXi3lOqYsc9V zh14n%VTLAJmu;Aw;9Oy+9$y?+v91Ht1_IrktwFiqq(w@?gayk-Rg{+2bT}C`HdhLr zfXovnLzzQVC(@K>>b~!F&N(5DD`HTt$T5$^(Mu%4>WT?Y_VI=eCThLbxo!?7Ep|0b z)#5=%20JLi@v)Mu)aNcii#n*kc~xkCMP2M~MhR^m;8wPNsNA0Lv~34()QnEMvTd)? zKsB744#XRR4cpo`u}40eh8zxolfACLYL;VBJ53-lQS*Y~A}1iFhsp>uLXo7!8YxJQ z4TQsWxrfthC2K{awz-~BPcpm)7xg@HxET=82Be+=8AX%iHNPI zO;lH~$Ss4gn+GDa3c{+b9CQN1T(X6uQ(PY~*S)`#aDk%51# z75tU?PegWu2>aBi$E>u552OMsOJBIqO1_W>t6i1=1Cg2g8Iuc1Q_|q{Wl7R%+IStf zcf7E6zT@Z?v0Q2cBqq70;JW|87iO%Y68*4r->lZSKn1Ib^7l_qz7q31Go*$FELGZI zuEYOB*E>IC0(R@dQ&Ua0ZDX>YYT}b^+qRpUY}>YN+qP{Rr}ylA&bQAG-})ogeXonj zYKAP-G)Q8iB)6ggtd);9(jE%*OC!?1iTmtzYX(uP=~)GSAQbvV8T;x}Lb-Cre6s`g z{+5gg5_#46&=O)&!a%Jx)tCxy?lNM=8Yb4p$Y@5&?O*pVX$Kn=Z-orwmFt>kfEkkq zu8@oOYrlO;52khB-!3pkNpvccl$)GGj!)!?DT4O>MA%|NE_9Ygv{nYRR`~=(N7Y(|=K09=B^&D!%vs zPd>3tuTC@d1Hz#VYpGAi@l6mgZI$3>^?Ya<1987h(!-QsGoL=D=!cJB!&U}%Q2Fg_d4C{P2QW=*Y*Y9UX)1G6!KyvLEI{zzNm8F)lkjX`;QqCLPElAoxO`C zpQgQMp9G)4;~O>k=jR<29iPveUsWA;78n0K&JcVYUf!-M`CcwZm$EKBU41^+)z=j3 z42+Dg4;#`5eC|i)j#lU!B9|Ht6m z^=AGw;&RmGW_!B%%lc~r|84=gw*~YZN~M*8y_1o9Rt(Bc_YW)Te!XA2;Xy?kW!z!C zxOciQ=C~jPBT`TJ5fc*7Oe{$B=EO~MC0~%&JPAQnOxc*23TlkxHyUUyAgw$xWi+CI zjyw}2sXz1|B-5Ugre~8clTBa)qad^_u;2u!8k}coh=_qhnoX|ZH2P`%UF~_9@_0_C z@>)#VAthWw72l}DHF!q%Q84NbGgV0{_ACmGl$x08J2b_|!b-QemPOKxa&(1q>~cIRDJ?xO2mL1`1i}=<%#&neq)p_4 zBs*fbV=yhau^=f|O^LL7ZU`>L=#QG%+>&ikdr3?x>``9>)RdCec}y6v`QY%3Jbs9i zX>#{s)(GUEXReP7XL}b$3JC)c~3^HlZ@6oc)F2+OjN0iB|`@nQCf?gbFbrR$;iuh%)6&7;-|x3-8VYu*#+vN9td?8?l4YEi zWw=jsz!_xyj%xjaVuHj`1Rkg;QP_*tIZxAWt0oqj4$Z<*apC+3{b~f#EBjea2(&hD z=*q`g5m?G@SpjrGdD+$Hw8nLq>_jr!D$z2^rBhRA7qATsY-XqNVk=axJW)EPN$9Ex z@OghI3JjSM{lP>>WBTs}&9H)IXLcYRX<^Y2gei8KO>+{AkEhresDyE-2N~h^nthw| zge^mN&OEP6f3%Z_Z=w3KgJ(NA&r>t&hhTLML&E*`ru7Wh-07#i(@$Ei2@5~|!8!|s zy^|LJ)XRQtf}9tB3)N!qu(AVRAan5TgVWFtH{N0}>Uslc>-3mmReuppCW0dM$@a2D z2I`m1pg*M18mzoSFafxEBqr!itugOptTV3R=M4U3D|K; zcy8%QYy*q;mI(^(BKmRbjb&U;b~X2Mxpq^rw4LvMH9J8}TW;zccq;3o`3Q5Fb9LTM zi_RMU4cxzQ2|#DgzNH`(XN=h*Ze$7So#)#6=E3rQEOdL}03D};bj;&6H~XWBGn-DA zhuwq#q^7>r(UEb%Pz$mQ2dkp0%-6@Arme5*kGYPjqjwIT|2H0E;lE*IyZ0lH2ydqQJ^Y;iL*gC(bNDHuukP4?huqiK1I(SXEj`^rwvCtWrwQM4AL7l|?RI1v)32oW z-RBSfnHj9~_s%(l$kx|%nqO$*FM7L-c=~!7X^rAGc+V597R;u=WQOs zX8ZL`T2bfAeed3P$h_C{s*8@+>+Zh?3yL=k_uF;B2pZn42AZX==iRfbPLF$o>1TyZ zr`!8CU{sd(=Sk94`_1D73`JGuwfFVwVN+Jd>*W{;unR=+cE||K@(6NBZ^glsP+^Ml<+!KAYuLYWEwbI<_Vw`EsB|{uch0St zmYTuHImP-#Vj+WREwQ=cdiE?L5@Sb8Cw(^uBRfwAeHS-ZIztM2#GbnQ4V^S}^sG$I zrq8=2vr9|9D-BhxSRBZRVL=j7;rWfou2JVtdqz7eV!k_$A5-kh12Xdk^r7p1zi^tW4Z)YOP{&lO=-s7fwlZ^pUx zl#0#K_smOSm#>7c4`b6j$BXckGsqmF%9yA~8J%kwUP%BrH-)en0$Ck;UWWT& zwW{LTP*tWDmt^AiIlwK!eQEpimN6lD=u#ttjq_&IOA1@nwG>B{%tkcfQ~gIsi*!w= zSje5GKaAtbc*#nRy;K7Hbt`?HE91q z`)@WO1E!ia%982-9GV;&D^Vy|kRa5=73f^U}CDNG6 z9cp&6K8L0`RO=T-K$z}DH_I8j4>nT1heoI$4^h+q3p#H~K-DV5a7>UC$=Ju}i?&|c^(pl)l5*)+9D>A{n z{y~E^OvUb*d6SHcTW#%tQx})UMh-G_{KPN`Lz6#Brm9FtD+AeXV6_LhYwG-aH;X4Q zbqW|qgY@I*7c6#(l9W-9EE3@wgad6O({|s4PvEN9oKt9^XX{)M?a?Awn}e#2N3W1o zdJ~0RA$vk#D#!E;oQ@8UgAVSd%M5^1VVA>dFWr#c z=t(R2#_;Sh&Q-@t+P9*1|D;Z;z~?Cp^?#rqKYsYI{03(JQM73_HlBp4s$dwd$dVrTZE0I!#6RlGi5VNupzpPMB%ydB^D=5JA59(QXD z3?1G^&Q^tvxn<2Ag-qLzUEeO{Dc&#lt7nX(uS63bfcNXd62jHG>qr0V;j2S{xPn}uzUj2u(_l`vI_r-M}U+edg1Y^)~($}#c7zdC+6c7)TqY+DX@lI zM66H=h!7#`7&ckvkuYOo+@t(>xr7Mv z@_sAH90AdahxJnk7?n?EOQH9j0&j{fd2Pf^rSVnDqTyTT`&biij44xymIzxBP-XUaF%j!;8%X)}ep4_ki1k={E__XyjJY$z2yx>T97M z?0_wq1gfDZ&_SxxYim==p_iJGdxxf@j*59CKzk(M`Xp!I7wqee(G9L(UpR6$4D{ns zGF3j%xTKX}Sf=32_S<3C0wpac4-mK-GNJz!4YdD`W>%uXYYYo28_3g2e0ZI`6K;em z=nTCmZ&GASN~%vDpIBKoS2o1rtb``e2<94%2P ziJEFLK9*C0%8??=;nP&4lN4+sD~FcS;VhTMl(iEIj6me7R7tjv8U zBym@wY=VN~*OI#9zuf)WVpT!W;B8S_X8MH8Nd*N5t=v=yVTrPNLy=i5y^vv&o#~%) z)qN#uh)$i$jL9_DrPXPE`FIfTU??>t;(X*%n~B|xbp}lVc4?r?(0q0=8RvQYUQ^a* zn2qe8!uHEdB=!Lq9la10zyE}>L}%e%5CJFS1l#BPK-8~^xh+EoYK9|j>v{q6+noB- zutct?7@MIXj)g%mM2!8audwoQ(J1@#O#y^JiD;Zki&us3g^L5+| zw%Gu@Z(VJuJ#ODC8yO1O{(dRr`@E0zaX)o-xIXlp!2JFH=8Nu9EBZ<+@k%Sbt6B0Z z>_y^#r%X6Ro^F8=y1%pkKMQg*tK*kU7Qp-d8)Egmxjeekd7T(q!sm58x^cMzd_F!P zY^}E2=W_p+TU4^bIy2LJbep=&^!|A8_?8@R0ttL>M<}v<9#?F5KcDBGHovYnJDMuB zI=u89OeQXPyI5VWX5T4nsyyEYYJzmKT<^E%^K7KsziwjR8@>mOy5jUZ#EFpvRXAQ_(+&Mrf>HIve{3}Qki+s zF}0~wnQnr*47`I7AS3WR4i#U zaADA407F-Yui{ZOX^nz9e?o06?)Gr|Tj^ELXqT6aG@poMP$o*vXu#4TugNtg%`aF= zZn==dm7CjC1GQx|D#NHho&*I>OaP-tevoaMQ~YO8nStTxO-^{eN^tZ~Lt8{f$w#-uI9QP?mi+L(rDptC$5Hxb6e~%305T~rnrbnWRe?s zV)>CiYED$Nu|?Cf+lEwkr+jhH96y=jnNV`v(+A>GoupPmKeqr~K7!g|h$*?;vl-oA z5J@z@l{v^aeik|Nn8-|3RNX&3p(!n`L6^dW8=)si?3%MgO*EEUg=g^WrDfSrl|%=J zffw6DIschb9ZSlvY|u`&Xx`6g$1Yx`jFE~Bd6)(p%Yk(Qm69H-s(qAUk(ywi99Lpv z9idZZ`S(*=0DPbu;SW*_01l{BWfC6BjE;4^$8l^1s-F}DAd=pglwMg?@LyAgZmKw? zOS2oJ)>I)$YS|W67yXM`D;lAyFU(u!W$2ffSro;KJuC%xCmZQL!tX8ejhT-Rgw;lpg2K>xjQ!830!%VJ)omVoh><>6=IWy_+rjFwo1qRH@ZjV>x1>|D5{3K@i4?x%~$HN%bG8)l83J}I?| zsVSWm<`tGUW)@WVROS65Eb4T4{yr}0d`yUWuH9jN;llfBMxyUr9!!$w&!fRInfg(c zJ0xqy`M#*zT754`(Z3)!%-!1V?MV=KvM58rW*Z#(C~~q=Y;3VwQvQC_`2z{bRsqP8 zH&BuL&Ekr?h*Seo68Ext`0DLJ3EN3TNf)(y8CFY;i6S3J+Rr&U|3>6n?<;Zat!;Tr(vuQPV^uGfddyzdTSx9{qs zyfK8%)sBzAq7{YSN)!RhXWd`qmH$#$Xe4x)i`*r**@T-j+=8P3qT&Gme|Up^@G;v# zVo*TQkY9GyUYNGOiIB$s#3)KuC{)-M3mcf^oXm%}-F196G_9`|w>cDf0PA{8tv z($6(IJ@vgkYD)9uvP=%dzy;JA#mg8~?XAEE8mzQPU@|XbQUVuuVoDAYF2X1#bvS+Y zQeB)1OkDF_JUcxAvJ0zMlqIw38S+w+2D~S!2;!xKp zBBs&Ek}M=peME-|-zQM|gcZ7lFX|Yv0jH(5w6tA?fpcelk;>69g;|+dEeObL2v2t; z+(H5WsMyV(j{IYb<%D^stcp{8%e$1DiZOVj1o#T{fth z7f&}6yG_j|`__0?v)(CeCV=~UD0~yC1TJa!8RN5lOhtj`+5IBUlZ|#)t%v^FUW#=^ z>8t{nXgp!cIbkCFQC4TI>%r(^jg*dr1}9Kl$QXr)8b6P$>sqzzLeXWi#Q12SKE0>uYF_DM|q0${aDN^2YeR)v}3An(}$k6J2Q#tbY}inyoPg4vZ$#?GUEFb>N= z-^mf9pTy9V7o#cPGtrQDhd(e8Z|qOIc?Jg|pBsVE{T4i0Hp3_Dvxt?%B%QcrA!4G2 zix>DaE#zq6TUbcfWm9iCsnt=dc&0;nbym-nzM{q?+5Q72@unFqA!BT9a}MXsh1Qj3XY8AT5kP0jk+aS;;G=vvgTirTA+6 zU>imXNa&4CK z)I~wpntYt(@7sPqYtqhlm*B$%%+;p%#Y7!@)l|59#x69V01-&7%P!rt-r=(s#=yIh z2Aw4n)ZJM2Wd(4*tH3D3!Kn0f`B-#my5ep3AVB=TbKN!20dw0icH0qlM^H8UM8Bk? z+5Bbl9{wHEK=_rO_xhhN<(JftT;Ts^>o2-2@1Hd?0iTy^ReW!UV^3W#w-rHK?RWPh zz^JaarwbeU_NUgj(VM`8llLBx1zm|tQI&&x(KHih!x8R=n)>S9G+0_#k0K8ql#Dgs zn6aUwt(K1a1)#=vGV$q6(@_?0`}=m8L)F&9Ym>UvhPomap1gF3nLcUcnEVkd)!yl| zv0QS1tE%7fP{5_hANV=lppj}puxCBMIV3)|v=oGc?1%uax!^3W_i*)k-BQh~qO7(&zp%Eorn01>p{Ajuu_n*O z(cIgr&cm>{h3`E7rE5>j~`$6VnY0iq4`Sm{lI`ol(;iHO1Q`>H1s8O_Ij12 zh8D*bdoXlx;e7Jk83FLRM*fBQ!cwc4Lj=lshtzSAZ_t2aG*XNX!$`W=uFd$lk=8K) zt#%Yn4aL7)TtMX@C#|-c&aNLCfki4v$uQ3f%qTeHKr z`aqqoj_l--rQNueVpH=`JzP|3J;Q^veV$0azjG|vDhs0zaPWc#DaC`5rLlR~WF>g9 znb;}m zwzY8Sn5-0Hic@G2jSr=&9AkKhK(`6s&%(6LOrz_pU9=zLb951F#5 z+c-s-QyuZ)4U)tDFeii~Jq~A9U#3HGQRu>jvRw`;Kfe%v9x`+6wPgD`p`-Gtx(6Of zT;)khZV$hPS&C$CUjB^&$w>%5i%_U^&Izui&aI7(8opNL(t<3L;{Jg zrJamUAr2;{yCd$}%*(kL7|2a&)}k3N7d(k%c-lhwi>Bdka&%C)()2t}qPfoAeZWb} zn8O}Mp@p<_F`K5pFr2F|(plkvyP2J~ae5NUnZdv_Rt>Ltc@*wm&fj&93&-Kjy1nJ( z%lhNj{9$=le;D*jzaW(Ykw(346vyVMI80qKh+|s@@JCvA!#_N@#VXOA`6gD2sF`Ug zT^>8@X-Qk2XZw#OovlO-<)MMqhQ}J=b!Q6f+Fjpgf8LdE@6Z>ocM`Yv_tGSwb^Gz3 zl!5=6Pxe>ZzwewUdpb4W-2Qf!gW?zYkD0wLs6Y4LT+M&TnxrWFE+6HyZ|p74hQRCX zAn)p1sCS%K6t(5^x}O0=sN{QoUv6sx(%U3hP8?3USdg#Q|C4HsQQmV6a;w}z#~kCk zENiWu^S(Mg2ijPBzsyWF>74U^=lq`Jm2L60->v|MlvTcKMjGa!l|5NmjRZn9S&W~p zO8&Jbd%D{?uX@{$^BT|h;9eu)0Yoz${WDw~*VSv+;# zmKKW_7ncM$DL1Z*Q4RO7XLOUhqmPfi0S6g(-y70r?>=GXrQviD#DQNpa)OFotpGbi zH3!jxR6k5exhw%TRn?luS}mn@_#cGn&Di|&4=i3_H|#9wL+m=Xg`Gr0UFV?U`R;Ik zNJ&Ucc5wFfcK*GpFKI`yI$)Q|X06;Iv$SY}#xFH?ca%~zD3CFkf=@1?r2tMVFR0SK zPg!_pY&V!p?YrlNQQYW zl}Fp)raqqDMeH@SI>Eiq)M~@H>q9ZdP$e)kw;P+W*}k)UR+UeAky**u3Hn4pk%^Tm zGxX2s^85RGY~*EZpmWWte_mZ|4J9TQNGf=Uz!0u<6l_ngL5iz#WoLU)hfA)3b7iN= zvfLu|P6{L;F#r{TCmqcvIo>@!z(^^X8enC0hsG1<3`__tLNgpW7F&5%WyLn^DdIA! z4+PA4COC9#ZkG%{)k|Gk5^#Gw?58lBOyPIAdRrJcHMh-~G8|Q>8%npxt{E%D<6xT8 zhX#d`2p`ByX3MuZJnOxR}xM}Mn~o8)6la1LjFUNqmt)s>F+;fl`~O$j*z?$m@f}AeYLaR z905!n^xQT5blF_*d>*VhSYl73M-YqToGzw1>MT&695m*9-#fn!!nMHxAw2Y|B&OYjZ>456t`^#^G7$dqqMXC35)Y^)^)jco@32@2GbUuMtYXqNbbK!rSY>8^K1) z!|Lmzvx8d}a!Q(jogCbR@s-_G)0TG!JKQG+0qDsdU-Hm5Fi7mu?skNb$ob#yr6&Qc$gzsEQK!6yGZKVS?P#dk~V?fHH^l2?@l`22o% zWqh7@miPc(Z$U%sT`!hLdF;kIUGpAhWzH@o_G?$LO+ZUkFC88u-^9J8d**58PyFf8@kCNF(F7$_|$kz90CmR z$iRZZ>=49+nAvF~v-FBmt*a3z4o2qpcy##w9^!^I#Z0zUbMI3|C`&EOrg1@9DzP!; zof_m7Yo$doW>+=L+2E-0p;?WDLOI}PzVKGXFw1ss3sua!VmQ9eJh6@Cm>qg>MGNRZ z1xhL<1?t-rE9nRoDP=G&DO@YdGP)1H#SP_BQA804uv#4qk9 z8Vl6d^tE~vH3pV-pVrsE-?qyY100+P)MjeekOm! z8ZZTO+N(=)b*t%Yyr=iC6snw4BA+-X;UF>Kj&~$4qvtu)xth5gcGp)L3~)Zts%#c` z&T!1mhU->LNzFAq&407dPz6YkV;hw-!PSwaG54TdR2Lk%g);Bn!b}$6%$Z!$X0)8$ zt*2DB%@lR13UixDZ^ip2ams~-U;kjWj6rXF(hb3D>Hqa>KZMt79hA>LFdC31mEJH+ z5$5o#6b;QeQQH@#Rz3t%)m?y=78{iS9|lH7JgP4?F5s57AclA*2J4mwL#v#s9EGgTpqFa9uimjd!USiWRXJ>*OEFT*l$wUp zw2~Unbm5T`6R($4K?D)Y@dwJCxchhytSuxPzNB9vBg#xKZEb1~-L}K1D@v7ne=$^0fb}fH1Qe77Ojo$?-^-Jn*fiqK$Bjb%F?_V z@exvtGV9it(+nB{pVyhXltrcKBSIV()x4eW`2e&}naaKM2Cn@u|JJI7<7L>^wZT-F;u)&--l>QC&Pw`)v+e zd@YX;OBf8A*f=Q+Y|f=6c*uw5ybrF7<^ox=V_{1MbNeZlJi=G8i47R7g%a~PFY`)L zvn?l11F!u9Gk2F#q z+|d)2JdkuaIrJIewJL5ja$qGD;fy$%j*#n3poj9fn_3NhRQ@2%q=p7 ztKU@zzV+J<=m$NxVp*#?R{us)%Zqb*2Y zVcP2<`YUucSE3eqj4IgOU7v9W5}`8-l^`PmJ$|?dBkg_j^c1;rBCsiOrUks5gB3?9 ze@Tj69H@D$j#R|HRl||PGc(z_-+fNGtu3M-#ZjTifKBOAdA|b6BO;Tuv8K6QiSCrN za~c|evJg5j8V-*{$w#6FEIjF-42+%ZIb5vFE#=A>8PpT|EsG4Gr2!G@BfD!BDv3?a zkjmb(%SXi}f)5D`&?lTxHHC!77m*IpH`<0}($aF;6xABBhbv3LAV%O6idYT`UP(f7 zBc#D4@0BfwHgQ9ipC20u*^Mcr#jhc)Z zG~O065i2aaQ11n-Hg>F@^56m8q+89Ijo~Y_@G{V1=TUO|u=hOSb2KcW+~IY+uC%_c zw0{qI7@MHJ7h0zd4x+nNpFs26B6M}>YM#;s)1&iebhUWAG?Zw<(l>;g{>c=c8WhFdJ=Yg*C88n5@s5UY3&4D%b;%zZ zv?n?Vg>|ni&aRvFvUhrzee5-J$?K9?&=?_TsKZz|7WNJg`aY2Vc>#j6e!~4G0%7Cm z4tZqk0i^8aU@0o@8Kg7(p_M9()Z}aJfkIwU*p+fv)JF@Z&J*c^Si=YOWwvAOLJW+?ASh=8gRixJruu!`{l8(|M@OrN z65nr6?CqgGH9}UXwDcchdB$T&Xe6<2QX_JcZ3R?*`P!RM5IP`5qFv*N01y*tNf)_erEu3zRx^bdV*|erCRB(gD#$rOC6{Chrt9Z4VGzx{oy)z0ZVk2_> z^RoK4a{BtXS6&KRd~3)Z(xMf`sC781KP22*MO??L+NxRxNPUVa#z@ z+`z|iQIwTLl@#sfr9jQ{f}^t{9L((p$09bF%!?qEq=(QcYsa9=-r7pnELd8I?VZWf zVZ+8l;Rb~W2K{#=v0KPc)MH7y#GaHLzRWDKsGCBkuIekUa;x7ilu-RVrI5Lf#8Brb;6dGloCI+QTM7>xIn-paswo%?>CA3J}swa|h9k zEserVVx_ClqN!Mn(J!KBQpaZgCX9kXk%rk$BE5Fde-S45Vce_?Vv-7C&Yp zvy8#NGzpxP6Br5!CPFJ)8*#wmWU>P#|FE@mg=FDkB4T4hLeBaD(wED>9ld@1@k>yf z7uRmvc05Kfdiy67(VK!G0uhM-;|vup=@u~>SG*!gR5AsHG6w4SQ`H9N4iE3@Vjhad zh#o4(q>$6S+IfPfgLJBz42uSsB^{koNhn%WdgQpmSJ}}v077#ia!;|Y!(1x;tS|7dk4d!jkGDPRg zkGhyWZdShlP4_?l)b~kWIcxBFm&XEl%QOuK01R&7*R#DJ^WTcBUYU@4Ig<8pTXts4 zL{zQ-ZZ0VffFQIsVUQc;jlU-N$SG}JrP0rQNJbnD~yby_;V734E12lC_n`vw0$zr(8k{0{lvFUz(( zKR5r`Y<_*7RQb5xK0bX59>1;^=YpEDcw67@Z_>8-+>YLguD-7KD+utn-gZVT_y8>* zeRCe)6!+Oo-xA-~!~)C}gOuh;ZA7Zs0zk6}jHht&7IO|5zr!V24msdrw07D+wm@AZ zQ8HKNIH@@#8&TW`-I(3yc2lE@=oc-zw|$I@93VEcziRFdgf7L7SFh7Fh%b?9e2*=C zOB(nalV6S+W3xtOf z`_)r`>fS)MwKd~2+2Qo@{5~k)tq@bvTHIV_GF@lCJ6mDlveo`}sNr(iW%tqWHf2s= zv#GYh`R!xJN`}9msBDaKKYJ^*EP&Ius{B)OG^!|&AZ|UMe0Fz7PR$BKAHyfp7+s`2 zJXgWJKLlGW?0zpGvJcAD8xeA=o7b);#|tow@l};8j#P=z(!kZga!J4ul7~Q!5<#?8 zqeTzo2gZh!s0twyNA^rsFFzMdOdhrnrFEsZm5QEh8t zyBk%M*|jgVD)p^43?fV;BoYgZ))9+C>A7L?b5gyjO{<7jf6$UjGRW62C{0AbmdiNN zHE<6_+}q#kd9TNukAt;EZm7o}l_*7_?VUx;hP2++!32(7)R!HOvx@B^qRr(Pv!I6k z8mrF~&nuePy+)8#i=+(n3HwP@Yekw7))Yip zm_?KOY-repIQ9Up$sa%UMFb5=Q>lU~RP==N!PMT=M^aBY-{9-I;xpZXS z1dJT2np+j*=8fqy?Gr6k>H-~e0!Rn{XwNKGpQz^SW3oHY($rE@DMG`H{uRnb`IFo) z%EAF)CT1dm428*oMqwe>muo4n7f3MBy(V={jUHYSw|ZEpEa4hrtb0xOvr`t}h{m&ct1@SSye+COM%}#6cSSnc6uvlvHVz&dH-bXDq4PQ=%-gDJv(JS3VwT zkI7t*&7u&Ok{Oqx9n7z&_eWrOXFt2zQC8Ae02Ez#*DkGF1?z`-OApIQX| zc1)x#9vp;wS{T@7Ca3Klp7gyF1wGGQ8E7`g!k?zQt<}ew)oQds>^YNM%JVKqXGdJD zx7?m?xoyhZmMk779Mu`=2SVwvX*s>j-Zl_6J=vf@8=}4_wa**f-!2KtE&eC9qR`?p z)9G^ZnRVIn+Vl+}uH8*>QvdktL-zL=>6@~?HhH_k;Q741_*cdI^00R0ZTq&_mc;x1 zu<%P~%l&@)aW2RulehipW3S1__5Bjz+m-oxJTbJ@@wnX+!O+=y-;;!K<>h?&4qO|v zd2_#nMa`^4hcm4!1z+YxGZu-;Tq?R3?M0F`Y}mp$E+G2jF3{Ll;mXR0sj;HNs#}WUqB6ziIgA-HXtt_r(~&@R%dCa zd$}8UbZ&DA2?U zj>n)til;Hu*r_tEY8dHoKUhlLEk$4h8(6C?=+m6H%GLeTB$VfcEOv1J{pgJ zu-~;VcRksZfo(Ji?PN&!m#7^Gx!atgV`taiv+I?niJTIChRl#`uqifAoXA*qtio?m zTY22XWa^kW@v~dt$J~TP$IBXPIFytm57LGuqBHA!g-f%I^V1}^`DxwQnp6M@{ecM4 zK|c8E6eP89pt4~=(yo9*3=mE17v{8zShd%EyeuQp_rsI8Qb2dm+9^KfT2d_x#a<9V zgGgl0RXSXZXEhtH4Bbk18)F~m(QR9<erGSJr<4G-ByLPXEVFQ{Huu&`jKvXo2( z!0^lXBF5!imk41ksT$&>UGRBWn;CfNTDR5~jHqgoGhDE&yus#E+v^iSXq6kX9-5il zq0Moc9jMuH3Hc=__Yd@~n1xuHVpE`#{FNs=;gEAjrr;dwMrJ=KOOtvv_sx$MWUmci zZA}jmKm5yCAVrADK%<#z4Pc)3sFUMK%TR=cJM{ko^)}QI??*C}loe5A;pI|@re>3u zFn`eU8tC|_EHsWAk=zSIL{+9v$Re8+GdjS&3HEOp9s%%+^7zWEKV*5Dth^#3UFji_nUT1zB1ZUX~OK@_@z^9M~B^i(u1XFtIv(Vy${rj7} zjj5_>35uBx79}I*S5)vPZfA!v=a=APhvWT$4p_&%{qv{bb{>+M9He@w=nxYIWoRf| zqd>(nZ9%dSR*QgiSe>q$@%{U0z*1y{hq^s(HZ>2bs&{sOEN zXV8k!p6b{XCQu0xy-+h(@{nQU)i5n7t%*wLidg}X;25HDe-g=MZ|v_Vuw_A7)m$_n zRqp6*NFboKK~~>x)KMB_KpZ}@J!1j*X{8I;vB7LzL)Z9N#8S_+Oz&|fJ>fIC>P@BUiN*gpwtCkN<$ zOo%|T*cX0R+pW#kUq?Z*Dd^igVh2;d3@#ELlz}L#r<@VEk&~lQB;9UzlJUfFp`DIv zyB1!d=?_O#mc%N#h~L)y?TO+2y4-1+I>XPp(N_n1e!Jej4>0NC`XE?j{h$2G%KOdf z$3Ve**0#-eHWT~NH}m|h6A}M!TlduC)^GRs!?Z2W>z%YDn=AUv)HYj-vp5->@7$vd zimeUr*XvCLge~tw7aJaL+o!cE8_(O70Crw3x66!&ZXTJp3GcT9_mu$X*BVgGENm^B z5$u`0^~G>3E&a6Lnt|cQg(%_r76v!XHnx_H8)~^Tm?`o+!sR2#RMDv904St@{=vCt zta3|Op#R_uGs<)d2b)g$80%pIdIIY`>=YQAi_4@Ix68+aFJl#5)nukljEb!0F*OZs zWi@I%r4$==QbIC3AEM)S!Ot#Hp}?7!8)UL@GEg9KZf0pY6er3z)RM zOMZ(2vaXzZm&uM=kDWuDs|~NWk2afjx3^Cm_R9{plgABa73**Y*U(aPSa4zeJgw|S zhXVT$DxiYp;uF`yCUlPgzPHfN2{M2A?HW}uKS{LKTctcF!!CNG3^W45LDw2W9p!og z45VS`Cxbpu%xC1N&I?*D=4Mwb4_9l|lDODpL(&+3(ikSQcv49b7630RNy=z{ywVYa zjfaU#dj~hnpb>_9X8J0*DE%y&n}_n1rK|JW5NP79Sb#fATAg(_E_>f=GExDSUc&OU zyks#H5~(!c&%X}w@GW3Kr$Eq0EW{TX$_sQBL=#SY-$m+1;rTVEqQMzQMVSrUOJOqB8Gy@AS;d`o>OU!dPh~Gt5dbRmB4C=;C`Wh z?XGu7xGNfpmp|A~sB1BCZ{^7JTxH}sVO4ZEU*P{@?46=33%F(BPC6aiwrwZfv2EM7 zla6iM&W>%{wr!{5yU#t}IQQir|GjTnBaeIUT2*t-svSS9caKpr+9#zK1#+(V7Gg-kb=^o`@o|cD`rXP#Q2V z6^zy&aJt(yO=6zcc*&UqQqp9A_iK%tCKDhlM#U@uO)V@Vw=jRudK!qu7?u{uKx6ud ze(R&!)G^e(o72d6Eny@>=MfC< zD>mM4#?Y>5#+yE(6JG+h8rnH1q&siG@Hz^5G|Ea=MoAZhhms5x9@yV!j|m1J9Xver z$LJstW%tY?{Okul$hLFZ?szv|Mf^ppa(jFD=7(yA#Sb`8+v0y$Hl}kGkq)> zaTJ<*jJilgqt(ZyX=9t^W@oGOlpuYSMP*FMG0hl9O(jQW$p~dNPaQ~Uae~?A(3a{8 z$d$aj4159$%LdcvPWH@6Q`8CNrOKhX6_b!8WBtN0pP;#(O&m8F9O^<>sm45LHIv0P z`q{QbG9 z{+ni445AHd&S^5tLvw)k9rR5FI!E&3M{h3Z z|F{A}<_-ozcfO7}a<|+MGF}?pp3aZcIT-YOZu++ny6$ZOK6O!!Rft=KvNhwPv1g3BPH$=0suOTCvatrH@{`b3 zMjkht@;mC86UE~#Ff5)xqKWV9yT)gZ(tUawqJDhVYoGPkI^PAf%e2nX}>q?qS#!e|G>i5EuXz>!juMa-_8UYl4 zLP!ka#Ga!JXaq7^Xzb62`rBVzG3n1=i8;{|BPnw9&oizq@NTT|&j?SzPE!AvJ}xN!uWb~Wmv4p{?c6wO7Pe;y<6UD>~AT} zeunfgNMH)E3h5=S5`ucU%BH=AU@I?8Ux5iL>d`d2g&5608}=#pXeT4(o(9e(gnHT+*-<p_iB;qu&u_J+37V!G+rDY#ylm5d!9t#1W-VjcS@&O}X@@8@~bLPy60h@P9AU3c@J zKkUfnGS-3!IGRD>ZgFK#>=J(A)|z5hMPgQY`J0$!oZ+^DCn`!=#m<2_DMlq$l9-Fc zl2tzm(jz0A_XSzQehQkG0Y7Y12}Mb->0rZEsL~4DKYP zCmIsIi2uQ2QbhH5FHlMZAEZ`aJ!{l?@vmH$(Aqe{_L1 zpkOg!138WjZ9OpRnmrZ4{6Hl?V9U9-71+7@T85c28PTp%@hC$e*e3(`qUzJNtPRDU z%lI`e5}*NTE(uLbhLw?pnF|(3DsZ5LoL4SUn?!2vsOU|M3l`0X?P08UI|00y5Meyk z=Vn)^I9_IN0}rL92)Xy#ctR_l-xLfl_|r!+}9tbpb%wT`eKkhgjKT_6X1rplaqjFc;H7{`W%dOSm;l;h6632EeWnM^?o_HWm_A;ngjg_Dp+Mu*(w9Tv(m-pbrPL96EJepnT8JX#sA+l z?>`ooZ&d$NVA9a8-2a&sww&G#IljN_^nA@_UPoG?U~q`lWao6$bve^8I-9hfYx`Us zHHYBv9j&axRI?swmmTIhB*^iON>kHk=8e07LYwI2EH*b?#D(XfQl#3gVPt9Rt?YW-&W-^GX0k7E2pV`Xn~IrT{4L(?%?_nK zvpadXlTr%%&t$l32%aW>x8EK|x8J^Or^STs!mun{P2jOv#l4&6wHV2}eMG#6vwlihtC=TaU@=61VJUEdmb3|;DjJ*2I2XDN0iNdpML9{=t6 z7xk5y`+13W)_@t6w3kGMI9|fcZS6ecetq5P;==J#7D-7)Bn(oY9>ffFZ3Cv#3-5{U zetzD%Qle;qv+sZi}=jV@1ubw7w!P@uio=D#k3j;m^^7ySz!1FMrr=>Pft{2)W(Ez~y3Ay{`C0OSi|c4$THaZSmJT3-s*O^IzFOVna<+s zYQ40=J!4Z&u9JR)&Hn++*ckO-)=llJElIYWXGSl`Lkayu0%153^QTmZWd(T+qx`5P zOX>wZ#a5aw>x#ur!^o$Vl7MMb3`VOcm~O$SR2>R0OBjxc>SuD8FlkX~|ALbK+1MQw zRGcs-CVr2Zw<9qr6h0D$E2;I)MCg~C{bHZAV1^<^g^jbU%*u^*Q;vF#R*oZ_^C5r7 zSea1xtO<*yBp&|Fzcmz&?e@zp3z{=BeVMp#2&dcc2}n;YG$a9`qH*=(jD3ff$2F-A z0$=wVK!+LqwI_D__!_xFJ2J*pC;_3^2dLMhiQ!;nQkq(s!~5whp{!&pBv$o!7(<@E z7pkS6$%e$sc=T4sjdq8(&Dd2X){69M} zIY>PHq3`Dne@6W?A-7KcrDsA>Rl667TL!$?$sh5=Wa4LM%@fzDr;&Yh(cR(uT5gi# z?{a!bG4tpeT<(iu8JvwMZ*Jb4YPk5#>(S1E)BRtNX#0PI#DR*Do0o3jMNQ(4x98`T zRwRe4+hz5$j(Toq_m-zezehFwi(=rlW#YYL*P$fbi6Pgkx59E;KvaVVR;qSdC0S9V zNfMo!W(Tb5xTv(bysnU72j#FRtU<}3{QMYp{ICU8g~Re9_qmkH0Npd5-nUh13;+95 zmzSFxM@oCf`6ICcd3LtI5z?KrG&wz-*uWeZZnZZ3a;A;QQWGFBFwypAeYw%i#CV;9 z7Y#ED_A!RO@kLIVqX{ELB?Be`O_WB7RCu3dz=%Y!5aB?)ZmnLpm_EGnZ=Xb-yC-O$ zFbnI^Gu>lNwq}>-`}}%%Q%Lu5#q;rS4$;f_^A!*d54vKndmg?nfM|F!^)jv7R_A!> z{<0cYSkanST;E!gZ)0KoXr1R>BBWtNL3LU_2v+f9EY&#gjwx=CWbZal+?kd=b^Jzc z9KGqDE_rk!VbW3B3A}+rt*M}}CTvgFGeJ&Rhi-Js7KfW_g?-M#^%RXdT%FbtT~k!_ zd}BRQdx$FpG?0@awP=Af^4FTnQE}t~m%n3(TEux0c@mXKVe)I{XGCJtB1`b-L35A^ zis9&=v+*X+^Q>)b*Jws63ci3;?=a9Ev4Cz#|7$bSOS8TgrUL|f#n=e(F?JhQv%-QF z;Z<6}HK4X(jEe|oV2F2CTQi$*DJ(9iCNAtKf4mHP)24c@V%?gGzR5FKXUmdJb*|Dr zDR-f5=J~wJ;OFZ?CCG&H!b177R9zGR9=3`Uz0ZOS2?Md6f1Ul)m{8wA@}c*#@>fSy%QQFf>M zxz^jyP8}x0J|-M&)3w#Sm`Z?o!_{!!<5Ta}FvUhVaHbg8AZWNM9w4%C^`z_jIkj>P z%tP4*TyW6m@U^scv0dj>UR*Pxakqg|K~szipZz<8&i3ThyQmxQs<-Ay{GB?KExRW> zJdVCFRmz37a@qC5!(-dTrd^SElZFiX_)kRja=yWfV0e^}w;p;$#^BEf_L+8QHA zcMGqx{iB14N|LTXvT;z0dPtakG6I9)Zb@iADw;!JAiJ;Np@8>41!T&I9I%<;yeU{i zs@T;*Ggk|f&m|ESk^wENZY8UW4j7>vRjmev^|%3xg~ZIoQ%fem1Z5`G$v>w%tArvE z+n`KvN0xowDs=*$=@E$xQ(}m+Gc@xgu4t{l3Oo*mDi!i+dCP^Uzrci{xC;F7`TD}) z><_$QYeT_viUUW=>wXrsf;fI);<5LI$T%7-bOv$ZZ%+ApYRLB>HkXxHr)0{?!ESN8 z9)0p~T;FK-urKr2A*mKMNZmaex{e5rOm(R7zg`}gJ?zA84pyXMP!*JaqZf%>)Kx)tMk6~p=zvpy8i90&>k=T~o* zP6Dq!^a#j<4!d?EilZG+J9g#E=15*vgct)qMOcTVy<3)(M2u+`>0qQ8Vf_m7tnmI62J=JOS@L<~bY<43nJ`s)ojzt4 zlS{A33v_%i)e+mv-RXN=dM~%;LRwzB7Ai4Q<&EpB&{V8+M67R+tW;Uz(HxpAu+7f2 zG`!)MQHDZb+>#PD+f`=!$6Fg67_MF;9Tgds*=T43N=|CFJucr}dOZ(!r7t`0r_Y~m zvAG@0J)LvxT$-~gO3a%od^}9;4Rzi}-k-aF$E~MS!$=)9WdghX77bkDBv|F8fg>Gt zNS*#>4q(0adixBA@>>xaNlI0gH$<_P!` zPIi5y%c|0^IJBRQa)DMYDzq}N*Y1(zItAFW8PIr=a-PXxKH;!iGqU`nGF-i~nQRFMcpZI%K|0x*g8 zXoVw0ms)p!`+aw{Y#8e;zS@_D*G;s7GcT~^=pXbiV!~ylnwy0N-yM9~vz#Ka5-!W#{|ppd}V5{3>z1}zX?5fJcpKM#wYP`Fl* z+E9gi&VEmGx5vUlnV8f=M;-ml4tyZV>2;UM)UhNhhE#;#6{txl&?Oe@6omCdBj{$J z`5+``h4kSB#Q`NE%Nr6-SIVzaogJq-3qIsbL{vzlu)r~gw$AdtT3)x%JINbb&FfVy zt95bI3{6|IIBZM}H_eVnOqoQR+taWP%7lGpIlyR}72)^(o1h*o;c8-nj_8!pN_OR4 z&KxWoGmkC*rpP=W4n-vv8arF?6L%CD<+ylYE~K$;pT`60C-Gns z7!!l|9kaf#srBE~&Z?1`WQ?5LhaQKEbuYEw-#`un%%}qisRczb6Q6IvE=d)$-Rk(V zX8yRsBk+H`y8-#{mWcoO_2iI%^Fd&}5bFP&8MZ{@=K?Kxhj)b>{6K@>@!H{UT%x-`Ed>)FNoQf_^PLD>~ zc2|T3X)Y+u*qT-@Dc#CoCAsoV%gGEPV&!;a#-?4b$MtI=mjCNKa;E$3{*wknE%ZIo zx{ViN{mEU3Mh^xA87V>y!TE zqpJfYTRR)6(x%$UxSIs*XfSj(r1T#Vv42T}P%!0lXeIK3>W3WMMOo9KP)rUcfK5x4 zIaf+J6C05OEF{TOO?021iT+PlKuGL*x_;GaS#fitXa=2{7x!)Wb8XJp9Acjwd@-Ge6FT?Z~*u$l?(Wp4pmT!VLRZ~5s z$;<-KJb8>{m;InwkB-zOG@-9p9I>oy_8d_g1|R0OvKkK&19x?mYgHTG2!S~aCT2uI zla%HT0||U}j#?`?t#rY=IH1Kuc?-t^P+K}l#FQ>Lc#?Xxq}Wf!q%ZA5G~Vw)zYBZa zc`J=cM|YKqYnRBVAPKI9*UalPEbKz4Q-!vL4QxKjGjWlN`O{1-z%5PiOaafalp|MX zB;@MHi}_?K`W%;Pxy*`$e=l2Zna}iW6LA`eS>Gp$c}P5gdfHWc*2}W2X_KEIKF`Jn98c1olsA!g56|QYHV^2$-Rk;WCEF+(et^zu;$I_tpnH4NqM5k)ZX6HY zeZJ?Dbn&!WMULIlbj)+EhDJ}93X4v!TmD{xGh%Lmg)Po1r_cRc_R6;R!CN+t8U4ri z+B-r|^NiCs!8eBQj@*hxBDbuyQD#>tn0Z0h%eHx75SXCh4c#9g6$A${3}nI#jE2jp zYj9h4E-K~XyE^0SX(>z+s>>d5UiGd=q`Jx20DcU#7cTp=KG zLrBbD?Q zW2~>VJpZI@kN>cYl07P0TuF0Pkx!tCOi~84TjWn;9FeGYUIJpl-k&LM2@{XAs0K3^ zPuH#n)7n3ZRr@OELpo=h=rB#|gr{}oI>FMZNX#>lj`c$1Sbcnld7hnqMDsh?IPuY< z=t@KIx{3gKgQ155B3!zJtf27m-dDA_eh98SEZxH&bX7ZQ@LQ1N=yZMD3wtml&^7CtN^}F z{1CQv-E{0~YH7yuNjnEdsNHo{&%-)S&)4CK-^W2N|LbdJD2HjrIlvm66CMpY5K>G& z&K-&*L+Fu+$iSOk%!an=4AbqZ@kx3O?}|<*kc8#ItL3Ka^FeRZ;{YJlv9i$t;RrKf z(?&M@cu?_;EfU{l922BU-&rPe)nl~W!!yI_hV`NbF^3a4F@44rPu96ePAO_RZF zq-|AzWwqDB`X4HvtG2B=O=fooa|0JJ5oLaUVT+sj2-A}GTng>zUhv->|6-U^Yn)S2 z+5;?YDI>)USGgXQJ|NsMGdREP?!0^WUaESr5-`4{{pE=4A{<=4%zSC#F8~)lhS?T6UM0*_Qh=9Z|q@R+K`jAeC-eG}$VjUbmRsGHZo19mm6& zACcxa@GqAjC#Lx@b3bcJYj5v%slngFOyFh zC7OYs2UE#ST;pK;m{`aHpkm?nNxboSmEcDN*}W zMzwcL;nDNsM^V=nR(7#WJbL7d%=zBZn7LuHb1XD~eh|F2Y_GW=2-10B7mi6n9)}JZ z>NI;JXH4HcgSX#u821B>w-~r{UvP}Zd=Y9QOev5_9@eJd!3tGo%PR6bEMX+r(%B&C zR&(&EskSST5Kc&J%ll2Q$s9Yln`iWR%llE344SaR2^ovrytN)aH+@+R>`#YgK;eG$RZSGWZGU_#Y-Of?T! zH|9mai!$4@gXN-IUs>y4SVh4iy94{?gxm=INF-p6N$L@3P!3?o%-|p(L_`YWl#n10 z1G{-?>WG}+VBx<6jC$kBM$_WtXNP9hcPOQWSrOowkc^y|cJIr2QNI@!8yFrw88itM z*uXwWA$aHmUMAS4*N3lkR`%AjS4L#x15%_#%r9*^i70)3w^BxoU?5S4s0YJE0NLxWnBW)DghOjtNbb*I1_gn;23g5?l_ zk5+~rH$g2`LQ&o0YU0_%(nPAOWit<}`mjDOWxILp>-W zwU{1MyO1&amlmusLa^L4vf^JoXbEF7q+0LKp}H?s?YKaEmi}NFd*X{b|Mc2O>RAto zqFC_DOw5C9OfMo}*(b`OQ52k<8OnK6MVoV9020#xgd7ZUHuI)piE{(sYx%tC1$bmL zz5QM@^EhQpEor|}{k!A!dZ7EFl5SN=6O^CZ(4n*EN$$ zy5x73_A#$%vHspy$FeBq{(xk90x=~Kue zgU3gv;$q<;5?;<8&x{{F5+oe_FT_)<@6-KW-364CpI@06ZeOxLNmWs`wA{AY*L{nv z?Kndl6DtefoZuQyPqWqA-s*b%=sI|;;^?^Q3G~9d+JjartCG}S92Z1~=s+Dgm<+2T zCS?Bg?5@M@+WS6Iuk-sl8^>z_zC(jjFaT=L{}IxgUxS0PT2rN&mPU$uuvt_>uqT6$ zGUjsl-%CH}NL)Tj>!<^^5j&I5R6M(U$wUk0JwVk<*1*glyMeY&6GF{Us5maN!2Y+6 zau^$WVhy4)nuTa2Z0bFv(D*Djdoh*J)>cCOVulBR%w;8CZ^F#^EF8Y6fbX|gLE-y& z|Ljt6ML4{Z4g3IkxC+uwVR1X6dAW$Ec>PYWGJQ0N_>{?-amnkMM9w666jtTvyLd;5 z*YcD-Q6s&&im4<{b<^}SCObAv+f>KqsZkHAb~TwQIppW#b8_nFg&5RQ5~q^Q`Bd5Q zqF)gMGxLJF#KGA{!=4ZOps(u20pbUg(pOX*PsNVZoL}?u45H$U5NI@Jd(zM*29^#^ zA|5`z3L1)v(5W;5`)%@&F!|KWD>dv-wg}QXPV{Uou5BnBV;Et8l^@un*;X)@=R88TJOmK!t zH%k#7b?{$_n*V6H+%T|6v!by2xkCc)zu77aXNdstX#N?EBoWdkbyB$phWsXJrk z;K|9SbKXHYlVe1X3;&HLVx*2LIF@jv8*W~&stbu2syGzkbAgv_k1E(Uu-}QB*ydoW zp;j2c75;^0+UunBPXeobzv3}v+RzI?*CL#nL9{~Vn2t*f8vQp9X^xT;5+4T&m;oF} z(mO{82?iT1JQPr1IPj;oS6ujyxVAkcAG@|p$Z>;swzV-Ewfx0RA>30_0rB~%LxbUA z7AiNH!Hh|!s^@ym)K!d@*i4yiwYjx84P}H`Az7@ z8E+q%ljHT#;l*BM6$dx}Ms}^mETSt3l*VG_3+Y2qwh|ds1(|2+Al=c3r)JT2bt7*; z9Y}ecJ`5`_6u9JHu}UIBi>Tim4W%lRJ*;eEmXc8QZ}=!QqYpjib16L$r`%lrhZ zTG-cDen80ziD1ajx`H%GOx#FdL}|9l!fjLil!HNh2v14|z1aS*uBgP(?{^LIDa?N_0kpX(=Jz<&TxC8IVF{Zt2`=7<2!)nQU} zG2{RdTo$N!>7VUbnc>lq;n0;-7cX`*vCCns^@jWFXG|2gl4{$e0^r(0GX0#vA$qx0 z)Jmt&r8@pC`0n`VEXKv`=J|3o8`!+t^8z%|e=M1Oe~nF}sRi?iWQ{@@5&KvmGH5<( zXdX^1&LYAw)2C8VNyt_@F1o@-$by7cdQwj0+UecXC*@624WgG!bXh7vXk04|0j`@| zcRb$*>>m(7}<15zAM=RNUCu)Rxj^k($C072uz!qVKCC zp)W(hV*3L}5OhYUgnhc~Wo|v=+?CO|6mFIiOHgagi3V(UW7N znIn#Df?siTIz5aQ5kZuT!)PX1W15t8GOM~-bnR#9b6EAUIaisRin`18?gJkB0Bu?j zK9vt1biwom=6+1;T0eRyhdn1WTC)xh`;LpQaW&9zEW_TRn2@dIhdA7@ zy=bgS#@eT~6?~G1mNb2P)Z99P+_!!ZBn~Y?W7?>iInRBWJT3g~EBtyTRK%jUB)(CQkA}NH2Rr4FSdt zvUHTPVX-4|qxo};1f29)M14*PK~a~&K2q^MZ8TnNQgweZbOoJW!V4h!|GmInvO$&P zM9C86akVyjPmHRsJTCpyPy?g17ny7_hf2N*YQA$Yf-{HMPRSE)p$%fe%+w78aJ4)DuNl3H)LVpl2MIX%OJg!X$wIN6gb7iQ?*SaeUE$ym!8rFE>TKHANy;}@Gmnazr<)R^}sZiKsUR&Jv?*gk0Ud% zT$EqkgOBe_V+Z zD|`J*TGI^at9ARY|YmppZhO8-&=(`cQslCBi&RF;<5iDs_}Wf)oy{$4{0Mg zrvE|Aob>O8c@q6tdVXKu)vt{mzvnwUUtn{A=Y@ zFu#TbM<6PeW;Ce{YfYs-7GIn%IBH5+dRcmkUQlFDNk!saMB+&;z*Wy>v>E*6UNJxD zcTcqHbnvKunwP$rzF&Nz!P(HliL{!C_PH7c#hIc+z)<+$I)!l-&jSUQ6hOB6mvC3~ z?-|y|L_ya_%4lS@_i+Aj-gM;F+T}vu!$!`;XJ_`Y-s#EFYscQh#m81bL{`B<#Ky%y zBwvz&jAg$-p%2s2yZ|d(VN|^3L1}&eX#xByN`@y%k9UFJ!Nccme*HF~!830{StVXx zBfqkGlEBht1J^R=s_FvJvVwt{nkEJPXwp{E?&u_@BP%C$W-s^I>2x_?+;o*a72LFj z+Yz1eHL)YB#nXhn1qN))W6puchhBslSXTgr6U!A_T(;E!L{m%$DBh?X zAqj;zMPmnWdU2^2wYY*QM@@<9dZwB6++pfNcbI^HLsIbsjZ4bObX&$}^zaMC1kuU| z_7G_=m-;~M`v@d%(vc=IW*qB?ZtVkQi}A(*c9lf_gi1T*k<+|Vs_jyVzS8i$Qi(l` z)ltUiAl0OFu4P4DmBi(gB0AIt7ud!)#IdMAs8MIYs;c!BK{ZZp8393MwL_YWsiuL5 znnCNsL8FspA%dk1wl} zd!|#RcobgH%7ihxyTEztA!*Hs1CB=22Cmw?wZ3X{gI{51!9YtJck#rDO_MMjlR^pA zFATp$yR>q=R28kNTRo`>Y(Axou)@63X?~>xxMxI9gxt+@aa$?A|2g^EdxEgr^g8(r zrMW^i0iEP5s-(VY zSuXW`03>>bU|-XO{S~dahO;m_DPu6A#*ol-g}&6??k}drV&M+h^QVk^yp_?u&87E+ zm~vKMDrQNPXO#V53<;3Z@_2ql>!k3BaWyh!vSL-tdMRW_XcRhjG_gMe3gOnl${9sU zB^By1Yo#np!~v7yd#jDBhc+5j{PE_5g(E1 z9!*paxj;?}nAd+Zk*~r+NrZso5Q0F}b%zt`DJA(?D(hpjQbzx!O%!jpiLlMAouj-E zpNlq@DwST;K(drY<|`$oI~nEJu!P58=<&I^oyz9GpGKI$C|$n$_siHCyDqO%-^A-K z`(@{CBA4LPC`t^cP|WA!_&-eWKTPpfrw_;sCynsEGX5j2-A%t3q+dVa~!&{p*=UJz&|g-AvC?jItCVce zyzN;m+m=4!l&+3<7w`tA)I;LsNN8qD>QXDEsyHkwW0IEiq1?pHpptI3XLf!!)(;8C zq&xt>VAb}Vwf_oklgQ4_v?>Sb86H4kT6`icm-aSsC^H^(Z8%}x<5IZgSeeq3iPcgN z>_(|@WNBfR;?ZACK*tfImPE&qG?}DWKgJLGtyTt%Kqt{93h5S%;S>oKJtbQY!G0IM z={3|+vdgF9%ONWqRMf9~d8Zt9rmnM<9@ zkf^~F9UT|#7c?d`RuOkGhsz`z$#bI<%Z%Hqm1U1737Giy-I;rKXOvawqZP=gSdJAY&@SX_?Jb z@1)tZtt+%-XLU?1=n14fm#4oRo`XQsQLU?&RohyqcR0Qt=zX3S>UrN^zu!zTM5V6T z2>#+@rst)kXa4akrk^BVm=-ruAWxnV6*)q*w+@m!)^bd;!jj?4ehFjhI8IXnL?hm8 z$Y5I&b96e0RXz`%k`e*QnDDQZ$0`+Ee{n=s>R%nj(S)qdG$IXi^LBo}f6rUt*~jw^ zOl&mIsGrFTsJUw5L}q6Sz5$$~7375_MQ)8AHf?Su%`UYKq+^t1^A4Ek_{04n3wzzD zw_J*&6GgoXMZ0Qcd%Co>3<$`yL9cg(Gt5HX!FBq0GC8^G8wNFH5=|v6Y;Dv6A~{7& zLTg6-%JtJ)g&*}u`N4y;+ScOS_W{i3s3g0ne5a^<|5!;5(M(5aqViJDKuXU980G@? z3VwC>L*38)6{NdOvxeowJ1PbB7#rw>-P=BkCo0~}105X#zU^|wl(*|4kML+y`G8BAz4SZrSTP_u%9zNG$0T!YHo|`>g4B%-6&`NgS zBEz~t8#xGKXbq)I;R4P`r_-R6@CmYe3)7I3EV$N^qv5uUwhE{BEYxOZmCbercL(>w zoB(FVC0^#<&Zf2opYu&xZZ9|6I&0e17PKUD@l2zLDM7|G;^&#x___q<+m|%!)~q_z z^OMIzZYMBTSg@H``SHK*M?rWcORI8|6xT4I-)nZeuL=yWu<`dFBI7FBoD z<#m*|wg3#hi!4m5z3i(8m@F_j?h3E;CeKKzFEIeW+O z`}mpb_udkgo7JDiJ@NY>aUVw;1!)r$-Z}zmIua^2HufW28|Y`kHX+Lsmw;bec-n^<6wkj7m(J1DsT^^kN|>9Efcm=RucRW{#L zGQ`tL$?`@^$1F)xfRSpxG2T#0jp7L-BBN1~98m2Fcamhy|Z zqHy!vroBsOxU54iSfn4W4TasH({!jkYUUWtljYJ+rPfb>ZLeu$sZm@TLgDY|&%P|3 zLO8hyNz}tv)>3USY9<|5$it~nzhz?AR59?jvbFOaVbYpro_-berZVw&H&VJrH0G5r zwlQ~gb#%8farE%EH!kvV%B!nWHm{#9vo_C95?7o>+)qZRs4ZN(zw5f}g~;+nF3KE8 zD@j|`P*(DH+e~&hvbkL?FNNCi17lrUn|#{p+BD6Q^0*xMSM}|Di)y&prSULG1_UY1 zIkBUO_sYFfma8VJM(J_N=raK9Qz!PNY)n6edm=CyT!P$)NjGJ~Z3zW&^mo18%fKOK zkm}wP?@*xfut3apQ5(wsFp$n2H?VMc0fo8rP3+7KH!Z-sc5Xy#_gyLA8%t9-@5j)D z_@rGqRytm{qltl?mFL`APP|cG*cc){cN)kYxmeCnXlK-eAJoY^^7Kw5HWqC!VIys` zjA+wc9yu*{;2;3;e4U2cy34zTN_BaVopHvms#VPIt2&Bz9fQ zPv`%3D>q(#dtW^dJYB4`;{}fO6NA>okvy;!P{QmMi*fY4>S6_No9GJRF2(-8`=s3*Fv6m0;Q48*{ z6SFbdHI=!~kIM4(%C++L@w!<5dJ09j{=UZ`_G$J<8-^bQGqg2eqaaJzL&wkAws$OJAE{*b)F zqM*|kpst20~4T2Zygi$s`o8K4h)j#knf%8yvtX72w4ZhXIU2 zhb9e@6DTub*7DTV*t*<*19}D?pLt&N{M=1k@=Hs}db;v!yUMK%>ur3E^30m*jETfJ zr=zYQ{NHyC=)`kBR@EB!7!W^wF&(ZUPUL*P7h`)~`VqSQ-XMNIzRtnK|K^JRDo;Jk z(rfn9S5dcT;bcTOqzKnHWt0q^r+!xi&PCdJ@l`_+@A6Y_`h+%0@qcoywh_x>)YcaoMK0JFduW+-{4eb+Ww)P6LNDxyh z_(S%HOM_wlj1deV1Op2ZL&<1T70aijAW{zto4*qe_NYkt*t~NVK$^(CH~|{{-nzXVi)r(F>g`R|I~OS1;ziUIM&KV1;jk5pRrur$vnwUAYb3DCCv#{ST}TH{ zkr?7XVx_U z5|(5|?C6W<63%gLx_n!2Z-@K)IswyBF`;^d;OH!#-`+8crIeov4 zub=C?rl(gChd%6`VC6k5jy@dDJ`DCcx%U9y6WfR4wQ2p*s^l9iQ8C84ZQ{xl(w8da zDs^z+WtvDd=zUAz(vJM;Nl~66(EOz_ckIKu@?yEE!X9-(os?e!(mUok9HNIp@o$E~ z{*1cjq&&2L(Oh*Aon^6blfc7i|A-h922R!KX6&j(^s~Mt5O`4+CP4$xk9a(uJwJNV`!b}}UXGGu znjfd5rf9iqw7Wj8JM4VlE^X3vru+7uf&s~WN9F7%@&o2}SEKp|tHvXb{c#ub z)(_?_`Mj~liV%>a{J2#J7aMpsk#>L1eW>#>$Iq zk5OflmTs07wtOq++HP>z1}> zn-*_&!0En`CG6xn=z_G?S91PjrH-f?+lVbOxzrdqlgdOf_1OPn?3;os3%E7AW83c7 z>DWofwr$(&q+_1gwr$(CZQGplPu-fjQ#CU+Z~Ng??T1tKt+hWbWvVRVo_G!{5LCY+ zft&+#Pac|5N~t6pK}!n-YSBi-WQ6Ke@ZVq z_mL~V!Bb5mE^ba{-)B>cRtM`ei2M;28b`$1V~wsvFE(LtB@3Sko@G=cBWg#pI&9OE-Rz zi~Cqt=t`aS8AbY5)|N)jTpG(qQ`$eU&j{`nXJ@jET=)fVDT%?!5b7FcKu_h;ORZDk zs-3CX?q*{MG{EyID2LxAWpNMR@yh{3Pr&9r9yXHFiejspZrjSLXdS3Q2S9ZS0{(J1 zI6!-Qh9}tS8x({h`MV)4QKUhbl)Q|BHz|9iO;shUl(rxg)+r|Fj@2C2O|l7;_RsL^ znp>&l!^k5Cg+`FcU!&DT^Y93w1fspuC<($!3PeeYM}X>TA!})ZNyCPeM9VZ+MD=NVyLMdi)EE; zgnN*HLDEbY!kMTvP4UEG$1i9 zl6sk1zKr4f2t=r_=kE89Z6lsKh9>c7-s=AwI@bI8J-C1FG||!NR4(x$6Tyhv6G!|< zxb`jwDl`A^zXyl)e4kF!3A=f{jhJl=T1?#P`VC%PxG#fwuWCTt+9TcbLu+Ds z@g&)w)s!FD-6CBl8KyVdeUIa_eLvQHzXz**Z?CivpKP^Lby81pPD?E+7)tHjoTZ;0 zX{F&S=nvc)XO!R>Z?*XmmXZO`J9~yM(vD4m+g9>AlLJlT-tjY-h2jic7a*v+(}Vgf zj;(Yw?PZ0zR%N+P9gS{=)~+5dUe7~7!_St_buafdKM*M)?K+=tE`faO&N2J-7Je!Y zWtp@ZR!ZB$OIcUb?PFqQ0In5#)sxK>XH(nV(-;~kmoO8#FxWk@&<}dWUzn*-cJ$PW z!lI*`OLP9YVWX4f?Lb!)N8_sAlAQu(c?yPzXL|k^YeBkXA%N-BNZOGBT{jXzH9+=P zXV>v_JfZvNdUxh)b9TnxU5e_Cn|!73r_b!Ko$t)It>M)47k+9gJ;DEe73M59Q-%G+7K3HZI`vpm7 zG;ir=$;A^i;Bdt}YrmqXXNI1a%-VwEG13eAIajP1l|_cAPpt9fvP)S^2WU_|P|#&^ zdX!pf%D9(iW@#UcMM;GFD3+DXvER8c0pNH7ZAlxqFkM6rc1 zdStqmR1H&Iasmf7nHDNK|0S0y)|zqEoK+o0QMwR9Ar~i=%m6dO=5a4F&E2ZC%caE7 z%D2s^aN&0kiEHe~8q!zmtU#H39-pugf^A8d2JWzS7SWZoe3kSL10au_OCQjPB&C8^ zj)k8J!x{gB%LXiSG!TL%zHgXgx86U-!{A^1HTxuN3I^CTRR3|{u2JO96UR5o!62!% zItEFVM6lJ|F21R2vkYUpOy+!mnMQ2Ae<&xXN27c_?}E?u-6W!}*JI_S+I1vLbm53( zZ6ps!vG@$*^4r;YNcYzRYV*}e)ATbCD~tbMSouQMmXAx+8%FydUh<~0kA%1FayFXJ z=j&o|`+NDC|1)}9+vigCeo1@tO7rnc^>9~vHuLA80RERK=9zEmCeWM;qnKM&Q&5~2WAZOvI+iXA$0fraj)OY3v~A9+DcK| zGsnNc&Cb?ZU)yMJ^?mNW46*BcJMxOY;_iCi#l80ZSmP$dca7U_TTgS z?0(4U-EyAeqnx0k*e@M#M40KmY(;Fp`|^MK@^jpO5<-5Rpj}X4x|<2oe#NdD>};Ia z|8*t;2Sb;~3e!}LiaMRqZ|B&Na9#l;x5tafh}fs?M-|(1)U?Mg+-RV+F_3Xs{bRM% zA=I1^avFhHzMD%OPj%Q@;0Q~v2hUnF!&O8oV?`xFS2|5yCMhe6Y7TG?$|6@Z)ab)X zf}4~RTb1Elhv4BD@sov6rF%`Nc_`;3805IoXsd(2bOR4^ygvH6B+~?| z$eJp*Ne>Pe8G;iu@v?iYtmXg`!5VcxcSTxnpLMd%Y`SFSvL%F+l9{G*e`{V>!b`7X zzp&Jkrq-5ZWiDN6GKru$mU<`YsIKuVtn7kUgn5#;lor{n8lBjcOhdc|=;8*IE4GE z0Z7*wAu;t_rHmYls&AHMx8VKrgO{n>k7IX%`i&hb(-BI}8szhM1jGrVf8nn&l8kw> zffn*{X>cb`FDnG}EqX|tv;v%T6N}*;pSQQmReHYfZ|&C?w05jZ2qy`y5RABXR<&^S z54`U0U)kRe!(z`p-&-C?ypY9Bn+ltfDsvGd^oHUM7d%$+wE~h485#4#4QM>Ll$`VpOAM(c?F)b zjWpHS1=iLEpUqHU`@qU|df8#s2g&hJNARt0jL3 zWYdgF&(6!z&nmPmS!q|qW$7zG(KQGF6Z*5((9kle76Be>)S%-N;Ia9gg45p%?+dWH z{JiI0TMV?MFbI&nyFe$KZkH}U*JJ+o^ZxhqCuY}kz7zk8#7Oj%p&m?vUL;HKK#@p5 zLJpEPWw2NxIobJTYf>!CsWgg@AMzzBr1Xxs6xJpNwJ)C9_8)qxJrfg3W~n%4T$sAy zGet~Xb>`p{0#|cCqTdQwWxJx3SVY)CDU{+>BaY6?4}fOp$K>SI$0cb$wlMT+ieW28 zZ}ebNiaydn`(H~T$WA!Nz5;m2hC)Ne`HZbACC)EF#y5i%=GSxT?ul{p^5o~Evr((0 z_^bX$hWCblmkc7D`7ymDAWxBn@KFrRntVzmIkii&X{j_%sncwfIncyO<|1$$qQIjh zDDKl(vF8Uf)Bh&hS#NQ)IPM>vtyx~r{L%GH!V-!QrGaihX)I(e{@YaA!ALVmJeTHf z2)sil7lwucEP7ZMPcPaYI!ALjli6tFc~$PZaAb3)+ue(M*o!;p%UiJ$aCgn}@(g~P zW4V2Rd!4`=^oreM7ks44A4D5(wQ0RTV9xt_oQ&}$)Mi(MLu;pxL!&W-7RL!Nqne|F zK^6D#RL`gO7Q|p=h|)X^P)*qpkyM8yDG(;Q8Xb3Xu?)7EKnTmB5!=!##~D=skU4Q# zS2TI=dkbxuip?6@Sh|sqPWXwB4hVy9o6a4myKtJOs*El;$n(IZfl|QcYI73n1{_7i zaxevo_y2yW7@#$J)%SRH))^I)TKc!ColZwRuYZrFP)M3h9jS-URs)WRv)_|cSSyuR z0-m)^dw9Web!f4NO~Grg@k0Y`-YfNvOVzM&Z9|_)CPf5xE!5)bm8z&(35#h8+$}cW zanD~}zagebPHvK3g05QeT*jSp338kw+$J@y&3aTA$5s^e;y}37y$1c~l!+my6iti-dOv)=!3gA=&-@se1k2>2aqu5|%0(#G)-=7z3h=6PkZ@gXtI+ z72=thRrq-|7u2VkQ}<`@{iu7>c2@dbr!2*nyK?KTYqD_#>C@u4a1y~yd(*J)a`@Joy3a3 zxs%|lO!lIO+nexI1o+wN4>i`!emZ_6D0J)Eb=NlB9RZ$wp4K+sove~CG%6Jp*#y-G zWUM6h+MDi9i@RU?34OlJ)gHv7eY1JvAKaaBeEdZ@Y(-5U-n?%p;5KHy$43|D&XS)b$9plKp*`Ea&^Y?&fnF zdwMHWv*`%U6OuH4vvH0Lz%tf=qG)t!rn&K)=3zPcf!-Sl2x8ajd%{Ixpbq!xdq}%> z32G4f{8RE?tVD>alx_-q znOxU*z&!s8dp2PvM0T6_&D}4r_n425nJ>TEFG?=if@K`3aL2c{c~h$iEzSfHksh$% z7XRhTm~z!tqxrcbR|kW_8AX!01sdhY)UhTQK>eRCeSu{sAti;MbuB~)5VS?VrEgao z3pV5TVu*(A7;u@Zv*Be#h#nvr zN|x**xVj^f7^dOO_C?T!AG;VANUKS5&7Zi0K^v)P;Qnp1O58YaYT+bn5ev1E)MqcU z3XX`&T%?*JKX?8+r0!QIiccT%5@9r}Vdx^JdZ>B+0{jHxUPidy;Na<~Yd&97Kew@% znmMJq#nyJI|K-G!Z=1icl^&POfPn+GD=7aD#(5SEKbJMGIMNt+KkC*ki}N2?ocY*S&*#h4G|${wQv=+f3n7wlJT~yqB$$1Y90w!oI5Cl zGu?e8ALR<#B=tVUVyRR*JSU)R0Ed7i8`*-mA0K6`0=qE>gw9c5{71))f~Ywz`g#VD zIrT!+0k#=4kh*Y4gx=e_2pm;Z(Bo>KFT-l0m~KqAdsM4-Gi^X0VOo@j{+04GV#n~0 zw=)_$Mqh~jAZ2T+p1MtCNiAA($v^u18f1GGC>cSEiLx_UF9o&ILS8ZX!l1)B;8JXNteQu_|&o-yf| zW|KGwXM^~PP);`Yun_w}RMU7Awe+&)T!$a=UAu7WP%1`3SQYHw# za{n8;@}=QU-#Q%i_BSUL|2@CI5eA0Chk1@_i&MosKay`W<<^dQD>vL}&p6$$=GZQ- zetw&#-A)@W-oBEKp0s|eFC;s*^Y6bh`QX0DvVZxK0hivER=E|zP4AEE@2~yrFXzuo z$W66m+$Z|gYP)4T`nBuGQ-rir_Oa6t*C9G?t8QWM!iBmOdERaITDI<1r`NOIDl50f zwbd$%Q4wRBfXR-3q)B!lhyD;wx?x>8J?;?-UE1zokWo8CBZ6pheuK=pv7z=2!K0-T ziBl%!*XVJ@jl1Z^zMyYBpnD>KM+2e}iMNHcp|Hoy_v??3-gUyRrzc3ej`!K~Yai!t z0I+wkjk~#Sij1Xt5*) zlRPZ0K{<BT<=^A9JZE;l$4wEL9}avO>!oCD0c94;RmSs50AciFhJ3RnP2@f+fI%>3MSoz-Y zy)h=p{UnRDCEFqQ-yaLMR8h-Zjn`lnkKU-%#B5XIWJ5)a#;Sh>`NmXTG}ibSnIPz=hpf*ap2S}p2xDoS+=)aQbnvY@^t?N9x9 z$K25NEIeK+&TR=^CBH}No?unS8GM{o?ILFq&?ahl$Jq}G@vq8+9$NZ3QUONoflD@F zG(lpfT!&QJRvo2<^w>?a1vi*5GSY5gaqU8NMy(!avR@b;wNia0CJqC5%-$JjiD%dac(thrq>rCcIdwe3bKBx*jBMD=(v!TH)14G-y%$P7L7{d4N7FXrYa(GeyVBbv$mO{-ppjHY&6$jOx8O463#)b*RK zBNL0AVt|&WCb_{O-E*ag&s7JxlQ>dyCuGtA)J%O#sX=W>f366 z>jZ?EvrA_JH};=ai6861Z%ABIO!;s!xblDWW@D%>*oBEg%=^{djcy+Kg-!msGLZqy zJ7Dl?@-c$ubHV^e5;Kn2hzu-DLPiFI$>UQ@uXekNi_R|Y7LCO9VG4Bvvs53mk)LLv z2D-Gu_B;V`g~=EcVM-cx!jWuYF>zxf)A5VTg@C9=xk+clXk|55L^(% ze~UAdxi9}XK9`OW^c&8}aH#mz5~8 zT;TUU$Jz77J$K{)(oRUV-YQeXaSVP$8(L~+T?4}m~ z_l5e{F)A!SH{JxeseRYVP|~!*4b{?^}RKm-SM{c&VI$$ z(cxud>rrY}(_K_pRKmtkJ*B!4tI3_R%|3gioxRo4&05>7&bF8|quN6$hvb?*q2?I0 z=@}EgGcBr{BiKn$8Xc=^9D_;q#Pb^ab}~H_6rnNKw~@E&*Ki86nGrVAi$EhFs7MJ# z#ft}e4-LH16G0b>E0vA^Y6lPo`6oZ*RWCP

      8eV6?TkUXy?GjIq&FLfpUAirRW_mRc9w&y#-B-7rM&0)#-DtYFEbF9RoFXUV}5rA{?KAbF?F)^rHsYF%&&t1 zQ?a*QKR}!1pJ1fCHG-OUavay3zK%Icb%CL3VeYu}_OCiUDylYlQ8%=^H0IV!MQ3nE zB1ZDLe-uTd1&vfmqlUWa^u&-dB}-)xXC}-VA1a)#5@?Lm07r*E_Z2s`qAdX;Rx&Ej zDr0Z+FP)y2ow3T96X!DM01XM7(S@c7Wi_$Gsf7J8_fhTi+1MfJyLm;-?-thOQm z4TXL+=h<@48%ytnG!91zq^mvf>AKINRNeRlW+mloaG!}Z$=X;$ts1QM!`n$~TXxj> zKQJ;u;1;>Fp0tW`L*=Cj?hsN#3Z#~bj*gn|o^H?2RhN^xniVBAQllUCV1y8{jQZe$ z2m0O<4Wx!)xQ!#xx=4A)fQr|?jLO)rbTw1kC|Mgdtn*g=zcq;5CoJ>_=#~Z5Kf)wY zBAntBC6&g{n7G>SJh|&}E#q)-<~)OO--p-RAj|G?m@Qf*tr4;nCi*mg8+43_i{MR= z|KldDF@Sa!MLt)ArC+UoI`%}&;BKZ6HN7uO<2+BM<@c(-TMA!L!Hq@s4Muqu%KQ-Y zATW3M=WddfsS6M>CK1vy@7nLku`msdCpa($i<$-D4*PO#XhuIX3x#GE%sCYn6yeDq z9?@e#RZaMHkM>RA{D%reO?W2RUd!v{J^iCoWUP>JpwQvsh}6Uaig^>9&Z?liT$zew zQ6%|T2eGR2^|stiS4X{DTW_Hd1;e1Q&|50s#PTnYGrazKxAXlpmjcou(^kM~kOc*~ zLS5=C_L+Ze;4OjMm2n(H;Oq8nK#_V_RR!(mwHKhm-|pp0#=D$3gbe-H&f-zn-ww>} z6^M~~2s$kU9Yn*?B{*J1XE-yHv$1Fg-O$44ci(^Mb-4gWXAr>DLXTOiN0>Uu$} zmNp51yvQzL$bUzAsO(M;ml{g4TVaMT2%F2Z?*d=G+M8<0Tum!IUV^XcWP<45M{@W+ zLc|+-gKU*tHaAbVB|vM%%Sbmk`6uS32l3lOT46IkXX-6(KMAkTI*|01V|iA1C;Wa1 z+5Q-|JG#Eatd>#J(W&li)p7lu>ajx4Z7*+^$f#Rsyg^rNZCZO=2aozlHWho7**KLB z>+vpA_v$QO$TBl_BSrdt2Gyl$T@!^>X!b`1E;4XT_{XCvmM?{rICQsNX zH72mmc=%0xX;F03=Vz@Hva!IsqyZ*nZI?5e_{378YJ)6;UhC&hC8DqE{Z~Jr+-s_^ zuxmEAEvc<;ZEtQU@2smXDrhY%^9#_wILYps?9;Vv|NGbFNKYbF?yI0>JNd06M6(Vm z{oorD5@zYmeZoq8!ASi;iIaN`CKW`9$+P7ZNVP{75AB$Roi{v1h2STjZq2_TL9=J^RF97k!-!$*v9ap?6FlB(Ju!~PQPwb7IZ950FYo{u3iOw^_mjw6SE`dbR0F2PSKHymj@eJVKfv+p;z1U zqR6kKKwtKD1VAh(&{0OR%%($OF3v=T$EYD%eu z3y)5(>p0=K(Z_tO%GJTF{1`pLEcIVx!tIoQnM--qG`HNEcVwVGDiONM z0vL<25ow_&A}?he-Wo_ zr!fwOXet7xW2erHndLjfxC^4`t4YZ!+e=59oz9nQg&}T7?~wJz!6zIF1^m2R)T!aN zssfNEvGpI~$wZC{XxxO+S*(;vxOepJ z$YRJ*k?L=e@4Xl50QIwq9!5uFxN4Zq>*VCp>uTY;UX@?FwqrIF^~Jx5m2M?vM0@_& zJd6?98e}Bt4+|gV_^+S*jNbqvcuhP8j}R;lDI~{?A5h=IhoX%Zruow#+(E>xyJoIB zQJ{qJm<#*RBVe6E5~UCB@8s*M^|XY(^oYIC$ho!^_wa=BzKh~e5^qdbbhfUT z$b4DJzVr<2KfdYwTqbCPIC89nw-#VbR2pbTOsLRJ_4>|t`+6wm|9qXkD&HaSGJP*9 z5c}~gz~5tsV4EHK2H|l6th=V9zXGRarKE>JIrZ*>0E3bm~DU5uTfu;@}ul(W&A}T#T|XW0eb`X?H$5LcqQuT`c*x^ zE598FzXXg*yin`_Lt?1NyrzHJgt|_Iu z{V;Bv$eBw=rL!nyjVddxMLt$Oo=`Ti%}V$K9fx&D#R|_^pGg+-DX9igmWZAd+4TqX zT|PHg8e}v^zoG(LTXVbpUEjuRy_JXmBEy#OqMltvg(cA~vQf@X+Ge}6<8f%}p&xLx zeB`u+qo7+#+;k?Nh@zYrxRtL+OQCQ!*z3=c(-VP~f=Ts8`)iMu?*os1BLc}K3+pce zBv-`Gpx-0*r5UEOJ0>`Jfh9`z)!Cw1-01F44co0wKlyTNXMw;ye4y~c#3U!GA105+ z=Klw{h}-ipMoEh)V41_9`$xfs!Q9^Qz3*fC+VA$s#mw9nf!*l?S7ycY$@HnOUScJf zu%QTqpf_ljjJl(~hg_CUnpmEG=g_pC){OKR|;;5a;5Re4r9h8B7yY82U=7*o#@%RT}7V2Xu+EqcfKrIBKbg$@D$-# zCTKyfG!eA)z*HAem%@w~xqxQ-UMHrxI@zY!xV9vXCgm7TYgQKAJ=_ZaHf!C8plypJ zH#G8x#p3GbqHXIP8x7?8xfC{pxnCGA#^;b_&iUvPN{Jfv@I_tPmVBr-g{aJt;cxzV zg>Mg|g1Uv08cFgyBa<{zwWd-crsUdT(G2LErgY$qitz|GbjW6iny<1t3uz<1u`aH` z2lKLs&9LA)9;N%0Wx3X(Ry>qJXLSF9Msn=&rS*l*>%`NPo7VDXj#5zZUW<0Q2HhF! zv~YlpG?Jk$L;&bGd3y^89k$6ODUEjyvPHs25E5eH^y|j$9658seF_irj zM=Xhde@Ib*ry6GSQC6a0It$6HNe!2s9mdaA$V3M6Sd1008b)9>4npW*1hqGEIFqX5 zJ$-_mrzE)f#}QIdhor;g@vRl%;}v=_&|x26#}+;YF7^^0I?#;DezC5rDk>?gs_U%k z+g(`_q+x03>UDUuFgGovEmE798TcFL?zVA+CgK`l3O|SU#4FCk@hqW7rzj~MF%`nP zG^%A*t*4V{!AC*U@#5~1wY)G*UemJj2nY7#6r}Y<_7#maQ42;5L6+uSD ze{$D$f!9D;0aeX0iQv10S|)sYMxlxl`B<%m7y*YFJYM%7m1DTNLjUfctd zzub*WoCzfywY3sdLQDx*4bV=KTDHdjIN?KscnQf$(m|pc+;D5q9L?J^pTPs`i=&o^7r%Y{|{_`fzRdl>c5pM z-y2sfJ)mlI4Ssl!#@@Bom8hIM;V$d??xBkD`&cy>*X&<+J-)C2f4{%2+wMI;;Wp%i z!q0F?NEiL7R5(11@Lu12Q_WUreH4bM`Z;N}&a2_+w*83xS^Y(F#pn57jEcq6E7iN+ z*GDq{_glRl|I5i_*C!z3u(qu;v1$E$HRNv@DCB!mrgL+~mnHUP4ODZQK+41(yb5;a zCOYJNVKaoYRnUYie&0~w86^}xAdOVDfDD_da;akCqOUJ6eC%x~sq4zG@HH&pv$bf5 zCF{q8Vhwf}RZ)`X`(f#VRASuVK#OBrH_K4=PiW#_xhMp~rc~#r>FV3gRdkcIlMix$ zCOB7auCp|Vv|{#*bT?Pm?bgnltH(6R`Xeu$jdz5LG{KZ2I!{mV;ya(|-qY`P_Ok^=qQIedWxj&2b zJZ87A$>8QFSi`uMvb`?HZXmC>S6Z1i7E>*y$%hT;q4pe7gN7nawcgaLtRWs)k zdr3xm42*kz&-t>@TZ0T|C7V{6L|q{0bk}=*1KO**-_JVPpV_LW7Z4N9!W(M9WOMv6 zijGB3Gz=uI3*f+G4ecF?wMLQ3uuxb5BxFddlpKuYCEO(xYsTZMU8bp=ldDz$7@m1Hi3iK_UTh@f!mLMEA_2KzA0yl$jE zhP`EaCFZgFIpGG`vKdXX1Oq z7}D^RKqGirsn zGQ`UAQ)3_W;z+SLWZl%-C z0~X8y*Upp>b%CG|+5o<(EJ}j9(jw-QN>jy737(Y7Oa{3%b4eXbX+lbwiUvg`w6MgW zd2TOuJ+J#-t7<-X_v@_yFRyo8n)1#l(FoF?B5}ebEeZ;z?)vbIhJl#vrJ}lX`)qJ0 zF8GEj=$*9CT07va96#?Xa=>kGi1}Y;v#q;1)0*QiScQ1GC3v|-+h#B}oBZBI|Fudl5yEv&C9tgL~@BrdSi((N)YDO0DEmtc1= z3>~h=?^StNq!ZV2{ZR#O{m&$Vj9QP5CX2m=u=4yo@wu@!2yZXw8Pfp}0fG zUm_DbrfuJFtObaW)Ip_I`)!a=$!4|J)68M2#nChk3SH?8#f3(1e51Xov*yznVwER7!nA6eo;qTM40*l=SBKKHYKl*W8vtF zNA$wlMOFWHMkwzT#dYNxAiG#O{j3V_TW8u1BKqOQ=05~V*ykZbbipwH$1P&_$Hj6o z!PZF&)3&?IqJvH6S&xQ&yPS`_3@2sYW@XNHqY{E-X!8Bde(FYS+`{12TqWZ$Ah%B> zq-%__NwU?`ZvrXXSZZownxV9!%If@#AoGj>@BHk-NmlM!clG45ywP;5#4-&LRHBwF zbzO@&InB{-2`bo`u{Fh>iWUt~L?UGat+TeGq@vi%(#FEb&B@)hz^I_!*HYhe(c^V$ zadG*X>x#|cVp(D)R^ersO z?3~(;@Ajuly&sL6vB9SGe+WjCdQws9=90`SshZ(2i>geRieF;`VrmTBN1&L@!H^k) z_ghgM*~&$q&7Q8WyT7LT5&3+M1G2kaUXB{C5|;|dnFj_QlJ-Fx9{%7j>IET0i1qF} zOn?)z?DFNG%?P&e5>AzBrkDkqJAP z7-4Zb4&4CmcTKyyhc{`J_17Tyh+8(y93#Ix4n?%g@d$VI5k%e-ixOH;x-iL^^f}5n zdFAj3udOX`Xv%B=XT=YuuA7ui@+UcV%pRJhVA@KI(E|E0IZI;tkd-@ra7hQ29`6Yp zEV7x5_=VjvVgj`nYU?DGyH`>P|9DNDfa4$}XKC+!g+3;`ek9rqAgly~ND2_Q<-KVP z-KC4JG_>!$f))UNAq(0l(r+%a|AC&$MoJI}aiEHLp848o{YghD$*!G|-`^N6GPd{W9zH?v$rO}80^=r)*Uqd+QD1`zm>a@$M##1ZyrD{FB zHT7&9f>WDw%W69ts|)kX6Pr?-+T&z1EGMO)B{UZk+cojTQX0-Jfnsd^+Ls(C2oCW; znDN2@PqG~7U*>+0S*U+9VY12>nz)!eojl&R1Ovv4EdPj|3h5QRbO-`&OosjTQwNj_ zEBeZ+8llDl)nS*iab2=dut)qu>g995C{$?ejsCD`MWwXca zBVVWoIUbTdaFf0nXZ)ehc7m@5J+U6jQpKe?RKHdunavF(M%`_x`3Ax})Prs_i9#NB z@*;92CJQW*y?ry^ugFa|kYh)9i;=-BjTtvx7SyT-^jzZ1+VhlfODIFuc$8K>b~Zde z-`21Byrt|PMvo4mj*)tNqSq(uTzkJ<0Xbo@X(P4lejsCA3+)G)_m<+1 zx_d<{$IbJ1?HB${G55#7=zDVWZhiZ+AJ`>F8Mn+|=?&qItNcb8qOnRL?@#9QH+8g_ zuTYIBY_yBuzB5Kx|5)}SDM zlx`#QLo=J_rlh@@z=_VU^^oMWE6nt7KOgcSZ8p_XzoHumvZ(usy z+P^GXAn~x8_wj!YeZ*gOpF;I0+!GvIO;NfT=HTsguImlse>NC!?wz;4oZqnWoUos&is2j3K;KS>WfYGV-b^j1pA|K#kA>5 z@XQp0Nx3VkG_0_<-;(^XU2hphzJkh`H3w+#7Bf1`lGVG?c)lUHMnD1yBz$~JEfCW` z15tVlH1k8ssi#nEb71hxFNHb)xoi9TEd2u?@@RTiALPfipX0w&S7NfB*^;c4`)H2c z+x=hBPKG~yJfgEkbM0g&qsCo^Bi`ahk7W0&pv*ycp7Sk!ulQzUOlD)*x*J;jzBcd_I!#%wIVi92QS{=;Qrc*(Y$TzNK*VwvP(&{=8h)c?pAd z&Db9#K=dG{5WRlsgZz=kNUPk@{Sdev??Zg0eO1F5DQFivz%Stu&+)o-^yahC>_^{>gQ3Dpo9 zV9=DFnyS>o-1Z#zEIR{NZw)IY#pd$j5*rIAGtJSNBW@hd7Ou@8Jom$Gvv{==(Ipe%Oo+jRDT?!U5y^6i+p`+HYeYL+` z6T3MRbX6jHecE4^Lij+@C>;Cc%YCdSZiyzqIBq(gczUOATAp}1Hjh9edL`5;B_?9U zo}Y&@IE+XlRMX1awKS2&BzQQ`3-UeVmXi=JJW#&|3nzUdzAd{x+$em8g&??ZFh;{c zm}?LCWff=$Esh5*QjkN{zyX6UOC&-Po11gfBX9TJGk?NC2%sHOsM2+4#Jk|$_OUYa z>8h#;q?p&w38ZY2PKilUnmH`#UP$7w8vq#o%6Hh!ubDwsKfns+tCrZJJYUUjd(;2k zZLjWpo&}Z|01N)l*}bZtG(?$@R;BIW*TjULl;S^?v0@E+AVJWT<75<>3 zs5|&5s_Ci=Y1NlDBf8fk+~(oi^(e^&wUv18jlwIj`S=xz(JM0ZtRgg*7W+XJFc^I4 zLK96RIFgPS=MMo*Ej*5)Tu(f#6Y1!PIPtWB$Pb&F?5lWk*@bsdvA2EA3?^{ot@EURm~Nt$US@|u2e zfi3H7C(G=Ab>=gqWUjhUT1!Mr@FOzJ)iVyAj^3E9 zKESfvx{selr(FS9gpdPb_y|Y+f#fCAb6=}1%*@+>W#<{V!I z@YE4bYh>!*Ln$^0d&(A2)}*dyC0lV&%PJ3b;Y~SlP0U042OCp$4DQ@8WZI$cNFBL8 zqXnDUcS@o8T(hhBe~|S}!I1^*ws9t!*tTuY#I|i46MN#MqlrDSZL{M{Y}>YO|L5Fu z>r~x-@2Y<3y}q^f0)O|?dD;T|?H*Iq$J9R&1FE1--VrBEq--KZ=7oCtqCq>CG#Y{5 zsPO1y$|3?`qGn^_c(OM3szZ+wOFtBKM95+)1I34v$X%Cb^iBSy(YP3(aMplLQ&~0Z z;$L3MT~6z@uWPIr$6FYu;qtg({XEa3S)+L-)6$|^?m@j`AG^-YhnZ4-x3uz4Y79gb z`GLR6jSMqhK-H+traPJ9t78JM;_zcT$*8-G)gbxX7MzO}GgmvJiJhq&Bh|+Gte>xb z<9a01Jgiwcq>f`akHuwEBwdZSqSYU}LccGj1G@%$#3O9-$O__33TCmF#J=^YXs8sdHdeXAeRvxMH&d< z`ECntrxpwXPl{cLh+#p&E+37_87Lnz$)YwdowYy(aQ=bFL9kvPut}kWWu$*$1qQNGK65!VCS2QJeLGJ0Ev0;R%*FiJ8?emVk3J5hJl7F z1vOXynA2Yrvy?As^0Kcc7zLee1TWC9Uw-*}@F;EE^cHLip80>{ah5CQO_-eolk~lB zd*lcZOgLH=1gyR{@*>ATqWG-uU2=Yk0g$JZN7(IqF8kv&Js>C)X%lFP3iMP`RgWESlCP5+I$IRVaNq6{GX!n$Zk8#4Jf%+o9fDmgBTT3@* zLp?8F%PKqH#{7z|mZmA)BqkoOpUsHlrUxgKl_7xZ}o(@7>|?S*AJiFp`JPGxyl&(rukjTj|DmYj#YU zvAq)>ZFAaamfXG^)hs_|oyIM%-ZTAie8XU^>)^HPZz*QGR%|*36l^%M5OKK9br;n?8N!}dC;@@hQ8rzeF3hu3L(3W&~#nMxF zONwswqXokO`e|FAwUr^~jH1N%WOOC(6b|`pjSP)BmCbnrgRQL8^a3<#B@U{zA4rmD z1ApuCXKq`M^|;LB5Pj6k{H!Ycs@Cf=%&)i(6tz_}?Gqm;`lIkxCtwcZuaiX-k^pOe z$SxUJrW;H2Pt~um8me(-*vYi8iFFH(ILxR3>ND1*zU36AluO)6*sWhaUl{~d6;uFgC<7kCV7H9DV-u7%)Dyp{{O#a#z2ZaVstV~R` z@6@HnU2b-&iM8Df=9RNt`afta!_rM7xr$ln4Khk*G&38hqGARXml+D<_$UO3#-#H1 zmqy@aDdF(SHDncKuw~fQj@8iX`YCX@{#Kk|&j(?fIT@zM>m(*0o+myX7!g276sWH& zQxi@nGg9wbKqn-L{Y|3JNQQ%j4(5t%W#sN|=;Kf}&KjZ8utlM~i3&O&92JqUB`cF= z#+%aQku9p08&%6_8%4P!X_BejXOqWzeY(o-I-ZUWiB2pWRW(CBq~?&Ihf7eU_1$6w7%vWK3Edn6(!c=7CcOpf4C!#(YHMrZx+1W4upMC>mz9!LqNt#tD(Wv^ zIK&gzAXKI}lLepP>hui@m^!7!1Pp$VKu^2f@;gvQz}xFOAVH%rZ2O$#56BHc9I>r~Sls zT48JBq^@vmEhy+IER~>Z+<6a01(!~v>7Z!W#X9>VJ{?tX_}rLG@S)*&)Yrcma`72j ze@;b3i|@{gijj;Qu36B3OWNI5=WkE(CGC)xM92fY%{7OfU<07`+~kGtHitd*&QNUtfv0w<4g2{%vLZjIdImp{XiHbeoj3)& z=FS5DU%BDA-ka42TYNVb6fDF>DqGJ!&JB-bQ@~_NRXgwLI9%T>Ax{A}p0hJzq3u%I743N-eLd&d(up8VjKzmO3TFeNv@oiyhG1@_4rZAsuY zl4#KX3JU%J=O9}H*wCd;9!dVCf&-qd+W^Cp*|zc2(6f+jft`}De|n$a54Rs9ViIK{`JV7KLOTAP%MP!TvV~ZC3EjM zwb)=mTb;HROeaJWq`eb23{HGO!39t=T$lG5gw2*7R~@FQmD-myPq_{Ncqks5uNexc zKL(>v>EO%U+@*~ok4aCC$0-1~N!xPc4a(*6a- zaWqN9!>^BLl^g`1+a#K>}a;{drk%H7MxMhusWZxIf(GEr=`+ zB_ISY6-@Kw^#t;-dj(dU;2 z-3Pehtf)^}50KJ5PX1Xg%$xE_^-f<1RNU+kT+x19x^40{^>(;he|Qpl8!iHNHUF8; zOcj2e+WH+(WY?_r;>A7-@@*EiCBI}btrEXn#h0~yho zxm)g^Uy@+H-dC=^Oy8Px^)*vYe=T14oB;;fcKJhYxX((t$ICoyX*?=uVMFKD>AOTN zPe%xK(pEq-G#96{r?XOyihfr=o(9*)-d`6Mvhmr^Qr|4Hv~?Ur)hCbh&YX^J z!#%<_H|Tu)WZYX4ekp;%{c$}B(LD)qE8`M&I(=PZB=m3^W0*`@zZKZ4)KP8ov#0~7 zO!~XN?Hs}FV1L^Ir*PuI3`0jB@^%OkbhY|x>um3Ec6yKk@J`Jo`Km!WMz^^f&av*?7J5XR`F@cZ+rXivqBBGr? zP%U|5YUL2RTiB0QH*YU=E1s^Hnmx>-51arrfMHY~p*^GF$%KAY;&*Qp}|h1GiXp0v7zUwCXOe`$PKq!)ePO*O6@ro zI_wCV=vMsFY5L@5@vzP4EWd=RWJW8OT-FkcHj1L^@OCV~?{wfDM8R`W1{Wip0Z`@v zb7~UoOGi@a^hTUAeh;Vyi4oDhQneVERis7}b`r%C z^JX4A*z_rq2;6JS<7NJLmC*>5chL+1*qnA55H<-$<%#IwHuc$)!B|KF$mr=P*!jJE z=$@6Gg@1mAo0kV~j7aVe1;skgtI4E@CTLPAvamHtl#@nJaj^&go>-pu^!MN^lg3KG z_ECoQ5BeV2bo?i~>ZVJ4wj1hKbh4U0$pteTBgW{VdnIm|oml)odPQ6%ZJ7HgiOkaG z5jK@1F7?q$WfPg_vFh`}85e0swvxHti>V#tgJ=tTv{d!OiIm3@gbJieJ<3tCe*Csp zD2qm@6M3XglKV$igNQPO0>)v~CF>D)R9|%%U6nxwTC!9O)bYe?OylQz61xQA#t|ef zBj|}ah(nssJGlUCpku;C&)|2ry5K{cPlfs`l0y^m7)3T7vEW`?G1}xuhmyO)u7S6j z&GpSJVgkEK=5ggBtI-=fjbOQKdwHhOiSjX(LYf^!0_`6uwrwW3Ig{W&K`ANN9#7K6 zH!@N>5=`vXQ3M?Gx2ZajtoLQyqF(icE-oSW+HP0JHdEfM`LW;lrc*2siblf?~mbq2gOu&b)C^`c5#^fL8z2IUssY%-s?atn-Lmj zs|ZY%A5Ui`FGxy|;j}>)TDfwy9%Liafx%{~VpVz$NQ|psaJ7T4^LZby5q<3Q|4@Cc z=>N>fNjoaXO%w~ang_I+b{r+@;hWmu$5+QR)G*6fO3r6zOMkGt7wAsyblv29e6Ekj zMxJr1zp;~ha9eu3!5rPGJ)9pCNU1Rq8ImeqmEq`nbbWqye7%GVzn|OztGye6HP#^S zxsU=s;IWa~p$%QY-}CfPs+!-q@+CQ32?zN-^hE2JKWxViTd;}YQUb~@@=;s;>!Z(pNmj$AM=q;vkilB&+uUxge z~E6JTrQTj$VGnk(UVAPX$CiZQv4LHT_4%$gy1Y-{|r* zad%j6BdWQ#-m(GP%t-f;yin)Pihy{2m7UiA_OAeV6o&s){jF2zvqm(qd}Bq?H>VvE zoQV1ErP%=_$@h76s!E1{nF$d2??-^{07y??socl^?-0<;SSOov71X;=!+O|}NFMc5 zzjXYUVM81can>Lkm)pgsYwa?wO#ScZaZCFHrUw*!nU7CJ+ zhlj`4g3r>^FHI~>eNolBf(F|LTg`B6Y`hY08Ou}l!|{Uw4ZG;9B}auc+6k9MjVZTP zf|pwgPJk#t3^)>dJG&ZO{8+!)9d&sbJO!9&UW^Gl%$hA8>)(7logBU8pL^A{KNsb{ z(ICCl5W1$g)=E7EFCAa&6mk-ybK*hmd(m5OPTint{ed)*;7 z*29pUlw;)J_TZ;Fl5D9qFxb>e&&aK|uGeLAD;Hx`9JY`hM9dE!{9{D(&O?U&Gmiw0 zf+7e-l7tLSj3)@p$89npjD#)0>=!|L2w9!7mFG1Cv<@6 zmZ#5)clQPrxRAZ#vDMX5KdZSXC8w}c`yy4RQ`$&@K!-T*AivIn!~q8_-%m!pjhgiB zA7ak7%B`k-R4l`g2wsu6Xbo54BRAIMFY_7nVGgIZYAHCSLV5ICu>&RTU^Y2XdA~PM>vt( z=t(W8Sr;jT5Lt}X3Dj}|HONhyXjqf!tYTr})7&s<3W1kF< zO|rW;r%(OaftSxrQKkb=$Eb`t{~P-G=R`$^ox2$9!WJz2tRTLfMuE*Bmr|i-it*xN zk`T919@!NO{%1v0pn2bmc<~oJxm`LD*F=N^y7THCT06d+saLsydn4{A8~HUNBcIyv zVG1VY19u_sow}fn6CE2LD(TdIri>cyg12muoW9&J71?y+U&taiJ!7^qgSe~Rumcjq z{ns}dTBS_&MID{mMY4;@-+#v1s-TN+rm{ji>oL`B$Td@?ryW@|9*!s%DV${YFk_+H zr)1*hxv0cR~PU?#$2Gb#|Gl`Nz5xK)&N+G-E zg)H3-jJ>*_0ZuanY}Rp88;66Hw*{%ttmDC@;y+8Hi934{^!9%$VX6D}l;M}A+kwV^(B)ag^;C?&RDc`a*fz*U! zqr7%;|3Ts2PCwmeZ|C)M$|^wD*t{<~fWp!h0$PUl#TO_+5ckj1W)9|lH@9++CMSSkS0tul_oc{&L*Bs1{?rrD zyUaUhKG#yQp1Xn;+?V-aJggOdU@Ed7*PY!^&+lyuN_@>mFc8T8-V2&;A#Mj=$UcgCKm?Y&oIy=@`4AwD%pJa`dTwRk3N7jK|GTQ2x@(>*}p^QAp+iw^K z``Gc1R_+B!hPeKXDu}$1GerJe+WVgv$0zCR-tu7MjFnKCt}i;+5JYHh>7`+RSKs+` zrdef&3)`vfwI*Zv-yQ_d0>v8Kjjor+x0;@h;Y$<6K11`u5?fD0O>bYz1>^Tln!Ko} z&*Tl*ADCA?{yrY9yjKZeDT%K`j_99$vwJ||P2I~D-Su|U&-tB_FZ6@MTna(|R~yAJ zpX2-D^Ti$dCnER9nfUJ-%VRdr%qT);H8Fp~9@3 z?y9!lPg`>RoE)qDUTgGyHirXTEGfqQ#BT#EP`7tw1s|FB2Y@+PZ%fKmwqrA=jDUmx zWXCmo{^L~6{=knz6CjxWdjD0qskY1>@DV$mc>|iUb`@+29n}Vf90NdxJ45R@qK?<& zKOYHTFS!BF8*e@DR<}kSzJBdCK4rJ7COfgD<3Ag&^D=xZvRrCnYBNJ|G?n=|rR`T3 z(X%_ao3}hK9{C+N+Pv;gCpvA7`d2tlD|2xe(ygcT%DL=QY*JhXRTm}O_w4j7YRD&* zNu_5CtOoxrM@0WTqGd3V$*7x6*jUqDT+{uxkglzos-k2pQ!O>eg-O9QPg}!@@&r$^ zG)uxgyA7M3HUM#6MK*r{G3cOk9?Vp(j$=bvP(D;&B{vfsszo0upAYRcBZM&`?rTN? z8HS#~!R2nP|MLp8`cu>n9d8P6h*-qIwcQDE>f^{ziuR(~Lxlfg%)La_8@e9!4a-{1ZDxa zjnz>4i$Trkq_*(S9L((*sM$X$mskGqG127WX~{t<(rxocMr1=hhtXMN5YJ79XwsK8 z(Vq61%&F<$s&&|x3)%7+ZkEQe&0ep-jds}=@7TQLrO(ntO;Lj``csue(r^m}b8`$z zOb#^)?xnFcJn22{JazT$sN;V4xqw*A`Z0LtS@JNg(iAZTQHL=x@l`XSws@lJFUu?D zPJI5^u7G>wR*wyzrMK>*taNsEX+G(sl|(z~=AnuDG;>|HQMM$8qzTYRE-`(>p(9-s zJ&i?Ddy%L9AZ&Es!$Kl?`t$(fqU6-;mwU}?yN#{!^oywBHY)2(LiyO= z$`zPBHKq!!Kp6^@dpCnbj!Fs{!z$!5joG9!YOi>9wBQz@K$SvtWQim?=<1o;2GZv_ zaFMV6`Iwc`_$ zguk)G{ON@N-cI4%8mmK_q82)NIuWKDXIrr5y7^n@gk8kS z)&PT3Hg+3>l)&K-O7u4qte+OpwbB7nu#>!#K*0&*iUYb`^7``eTidZ+dFezJ-mFlU ze3EQjEr~R$qI$lrP99cvCJq&*1k^b;a#%@z%VPXg3t9NveZ742sPp~(y?rJLQS{bJ zcZelxI2(nrjO2>2;60y2I%;Nn!xTQGyZPGaLX2_kCVe!UzaWsfmf0 zNzJUk;rFJfS#8LL?2e7gE<#I}LQU)%hVX=FWP}8Ic1FaPvvdbtk>8L@M0$!#zdz#i z$>DfugmAz*r8EpQx9iqu|1wy?)2f)dLP%Mt?{sUuua&YN}f*3tLO>SH@J(T=j>zZc`ru%$OO9G2d?!0Gwe(^>VJB zpY`5t_CeT5<+e_Ou3uPr!}P@;?ia%D^JUmUp5T9+cYAop7R;;S~&U`hC{BJE>lU zbH>7Lv6X0vKypj8^E+(4_P8A>$VzZKbg;$V+LqzqqPVa703?Fh0&?C&@)g;h&U??B z(^y!%QDM-gI~VfDgLWB2=wIM`otf!r_@bE81P!jTL8k(=HWeo+xJsuc5k5Mc&^=XCF5qrC*`&kwn&mg z0PjqSIKbudj*q1ZImhLnBr;*)+}Rw=ci9FoMcelZKV&FbeH~!+1@20XK`xU&3E8lk zBk}#GVng}diRsu9vfse1j_i8~?7W&$?U4zk}=5#C+9XbhHideuAZ{+r`BgN|$7s=EnRdj(+f< z@eVji473#uo2G>zW6 z^^EF$(r(=!ewZN2F42=>_8ODzL7{w>0LYYVy30#MSIz{v@v3_lE@clmW1J6T37!Eqs= zVg9tXmJ{x=T@iL%S<7ZU7$O;UKnco>UPQ`>7W=i6Aj&fcHRVHqj6Wm_ypDH9 zF7}#A6tK9-G1U^oPSz=oDV;uE!_jSP=5Y0|wI~#`pPhX`vuWk)#mUt)RNh+KWMxxY z+DJ3ZCd?$FLolyTHVclB(yV{UM>99^v{H~!@UR6Q+H4Hn^y}J#zv23y;mun>dDFx6 zpoQhCk&dry(u(;KWvflxk5RN8sCEJ|{rQdkb$5%68Lw}RyvA9cE{dCPu1NXXLCXf*@^BHVTR_I^>`1mEFZ}5|l`2 z(XU9@@NwVcH8jHRF@`2B5Hiq}y9ZKUK*jQ z)uM_M!QO}6_jlF|Ek}n0$>jIxM-tL(GhjBmD?9Zv>uXz)-xVD?T>{<^f;ZZ8F&*4l z9bG?~hiDJ&wNg*8;9C{?kj1!*tvusEm#h!|k>O?zkESXMfr#Qzwpy#u)zt~vu&POu zax!%G9J%ZoJ^$O;++lb9DTaI}22)?oj(7IHcNXevD_!Znl(kce0TyH4H{*E{JV68c z>ZtEIayPk=Vw2Db3^!Rto%bIJL2GXaOC_n(OZXiS*Xd5FQqSx^H<^F;X7_I!7#nyJ z24hR24JzN{(?k$_lEMB8zVf3&yhw-$DcRYk`YVY=r~|x9Pa!`tH(-Z2M%+SwcFj5y z{2@7?`1rDx5BVb>C) z-(D+38}2j^E1%d-QMhI)Oky%P6}mM3Y(Q`(jx5v?u|j(f%8V7i93K z#1^y4i=ii2Czsj>53crfZD{@T<5D&QL2D|IXmhL4fY1Bgui=sE)G0g;Zh4J0Ds>@$ zG2M#~du=aL;F*UR18g~8-Y6vfaTk}NsRfTf`;{j}mpMrw&5Oq($6Ka~i(mq(PGX+C zE~l_j$Ch~&yi&1I8;lsP7UOHQ9;(yrkY^xX1)r-NY@6OyX{e>Unaj32+0^1K4f{G$!fk^5`|V0m1v7H&g(j!mi3xvOBFwwumbbt< z%0wgfWB3BKX@IZtddqcxjf`=h7+;T`)(qbM05!`h#fgQBP zDuPt)y%S9^f#K`PXOXV{$C@~1uMgC+MqFC}GJD|Ux(@jy6c6`qiEiJ+_ACZM*0E8>RDdT` zFa3ZvGTpn#EP0?1Q;AK3kwd zwL8V??gtm(rOf86*u~3GM#bShJz={oXVeuRzwu z)DKi98Zx=^VsYv*lNcHOs6@h(s|w54L->CeLHk9Xr=c9{-F=SC;9f%C>#)N+(<0h! z2DjKyACv0Xb;Ja>1QVpH<4-)~M$dRh1!+k!`5cN7@kQ_ENhqYFf^Q+l>kmTWwgNsT zHET9ot+cZ)j~#5zN^P!ani%f&yX)Qd7Ne&&;kh@*tm6uJx+zIjx*ILToF zrh4bnp|DbWcTsT!1i+HQEpOoLP=hFk*@whZ(k8Ib(?tmM14-GHJhNJm=LucVLfm)X zL}yhY!(b~UBu>L5@Z3gaG-st#1Lv5^6mmF~uD}gzj2oA5zO#khL49VC{GgVqWsO?G zL1GoZ%PugTL>w;sv4Wa1qs!CORqJur-=IC%os<8UrHz4~ zk6SwPuj()jW&Y>;4?JB76et!<bZ9 zj8LZG=GQ7P^MRt4%1&NxX_3boa*rADB+Z-=lPLQZI5xUR9XL=Yk5BgTH)lwsgyL}M z$<~L%46-H8l??TaDrq$mr$wd9Bo-13^wfz7*jdZTi!Ga4YuPzD`5b0YgXT6~61*Jg zSF04frpi2w<5^3T4)kbo;r<{;0^ewFTx+#;ba0JbWY@FIqAm*Pqzbe6D>~roKmBn3?Z7!|4s$XrKIoeY z(;aV7k}C@&E;?h)xO{evrW@6sY;ry!uXvKad(zOPDIBdnc$5tnW%BQ6QYegD^a?X) z-1SnPFs7Um&eDUG(el&v()`ZSIs$RYu)p-G-0AoxqZrH-BN|Agx?TzVp*I~~qx{gr zle_z|_rH<+_AQi-Q?k0q!gVl4Lcz`xhaC;TbJ6<_3*&hy-F{v)5kzRg-)h5)F^p{^ zK%|9USs!*}yi8%`uXRqi8tj-SkWQe1UC|0P=ALTDx+~thBa3-|^UXThWZqs^%+oUv zHzO8+ykMq+3j3Fcm^k~lHYjMd%5|-#)BEnOr_<}@ecMR#k5IxlW1+n< zSC7QKJTHie2o0O>k@Z#ubWnAX=YItBf66LPpWeSuW*^}1h2R&VBB99%tV_f2lHcDU zVal@Y%10#916)fAl3U|onW!HQ;-p{kkTWQFSAr? zB0Aa+p{E;5Q9%m|@&LxwK$I7+sP|MQv)L zg=(CBi&FYaf+4C#I?a|({oa*D#)1M#ln@n~8Ikj1rZH zUh=+H*&WfKjiHi-tcS72vbe(0H1BFm>hqWSad41u#eiZtPD9`BOX-NY>ZXJ{&|qsm z`6ORi41??f9SG;xCisd0M_WN!zN=E*l+kg?;~Q(X_29b4;N2&aG_uhxEUg$1+B zl!6exu1A>HSj?FXCPwH!9U}janoiWUAi>^_*bjzi#YGS{XnWyQd^0B33QiB_rU9=U z5I%I^1FN0t<89>frGO3h?Szd3_XKr^4L1O<7pnN@P@Od<_gJ_ZZlneP>$;8D6dFGo z;L2B*#n1y z4}XYELz<2gw2t`4eW>yr+rex)O2bW5|%6LTD)PZdf>tSiCO47*a;g*3Vh>% z&rB)~=M`{YOdTI4q6bcJJuCTue?9+)eUj9~$U#h2=@SkY3#D1R*CB;3q1)03os0#r zY#lm3YB17=TTb&K1K-)k$Un>>wO(j7kSkc@9D6Wp^SfSzyD|2i2>*%r^uZX_=vKJK zWwCBE1HrXPw7|ihbzKB_cK5RHxE27gc0TW(#Nh)~fU7$Y94^yC8}#yFz%dBMOs=mY z81+)Hd>I}7{0^M$f&6|llRz+pdBAXVaXk z=8JZ6V{CD_Odl}*&g&?jK_qZMTL_#;F~18=Zo3@by-y3@qKz3PZhK)5y3mX#5;iE~ zJN>;iy<8s0yBU*v^JjLigIpU~hmclq^~G*~4)1HhH<<7a7XFK}9ISrI%kA@8ZqooY79- ztyMxy4Kc1`MWg~K45*HF;|Svrz)QBjJ-3g;b$ zRl}f*T8;)o!=r*5!u+=ungS5tySrz_fEWtM2WMfyz{=>FTxheISv zr=(!}%~K90d9Vwjkpy_B7l*MtXJ;NVMHKtywn$~=wOZiPp`HmZu*e||j?@sW$7h^D zVE_}-0iGw;$~7n~KKb8@bMfSM6M6Bx)fkgD`v`a+GIB58FWZm*c0UgnlMynxo0qB? z8879VV>t)+DWMC8q0NeN7p9AO3GF+la#F!U2v zcr0cpBPG4&UfOtMaMS&ERq%Ce|MdaHg-V7ut4t%#h!&a&R^dM{PLrP@+VBs$O5_Y^ zt=gBICBG*tNTTU#C^>z#FS;o1bTED%y&zxe9kgXa6Jg<+8Ju+G1x`aIQ`TAw*#*O$ z6nM^~Zm=m$;nlF~#U+8_UpSiBS@=*_0E+e`9HnkBTq23_F*Wr+#~HTh-W_8=>ac0U zWuLbYWW%-wcdriK9_7erZ*Vk3Ui1hcMya^yC@MnaaPsk>jkO#EJDn_8t4mqprn*yJBbV`f7|Z0g{ikr?P$q8h^}Bm&EKpD0H(9P<%RtS0f=6jo(D z9vv8**xN06B56ei4JtUjjq|oDBH8dNQ(}iq$uU=m)93PO%nF(g3ujoWzf-=QS4OcE z6i>m}V4<-uMe#G;PZ_pM7^I(XopDxS!%PArErM}HP4pNE6XHB3sXWbQZoJUs<@FAn z?oMB-;y_Kuu*AKf#$Fu)!jsZ_1erLn=rFh1{=RH-7T|v~O6t|$5Uv1Wq5p=!8f;st z2Ky)gXo`~NOmgE#?*zHWedR#U>a4M<8_Iv<;5rk{o7q!8t8e=k_m|LY$RijLQlm}5 z+uA=M^H!JLthZP&Pfd@z6;{PNtK>MiH zOHr^0xNOAe?cp_9jE*0;4Vx(dVE*pr<7T&Z{kR*Ye&X0WSK?OprjFFo{u*@D&Drwp zaILZq%y6Tu>CKxvuv@8s6)+9| zsD%NWiM=&PXge#%&p2jiUOm{x>olW=rK*KC;KVY&Y=xf*rWVp5LGJByzwq+@^UahP zB`CJyL*U@em;iTd8f7RJ&pi|r;H|`yYDvt^5K4V&yt=J*<0$;|HLu9S>Oeg zn?Fo&`%ZU`QrJ)D_K0k^hD6Zdj7w;wvX;O-n|6eJ@)?&{=ayLDgSO|v>bT<<&z)7% zRatC6+1z#Bn&jUK?H655;Yk~{kI#Xu+?z!PPx%Tax!kO+I_HC~X?r>zFpx;A_=o7c zacj%@>$Rh!rt|6Wb}|}iEjsj!9W-iXV)2Y?hb3`^AD+@ zQ_|DfdSQKSOGiDKpM5Q0@9;4@m1(`(b+n#iWnDc})gekc?tA1CeZR=NxeT773}z_} z1Z5;6#lICTJVN>WzawrKk&$E#GZ;)MmvIHI&Ky`dQ>3gfVqsvCM|&p%WJ%Ga%JDS9 z%)dKe_n`&)M9GF(yuNV^Y=n5-dQDxeBPn#-J9*|Z+hIWB4tpc+2n=5n?Rk!X%~WK^ zlos#Md(JjHeOTFysra8beEeJ3d8xp@atoniVqz;RLUp@;#O{TS z)QB)sxB_N}kF4E)Jw@_n@lRP>&Jz`VaU^J3W_!(ML?RE^zUaz6Xe)cxQ1qCd?86;7 z>Q0(boi)n8tcBI)ahC9DaC-1iQ+yy1tx=Y^T&)*_o!Kwy^URHGhETJU$F z6G(*Qj1=H6BpQcL#VngEUpAFT)J6AUh~B^w`v;xBgtJu;e~{dNuxLBP*tcw!Xh}0q zxj0TaG`%54o*aJcbB1X8z*;c+E_1U&@{Ef)#LTCoW+sEfFgqWbVB+`Q?>vH%z#`1+ zRY+OMEdFosCxxj$^YxEm7{cjmU z>lAXc7~`T$=?A3LIHyE|@8;oKp>c!kL;F4=e|9<7r*Np3(E9cl=CCVSl9%4ibS7im z$b|XQ%C`TZ(}}WV4n@N@_m7sT8TzrW!s1Q2?m>&vP4keG>XmM;6b)jG-?i0#r2hFw ziEAefk%`?mAyS%t#S6S+i56f`IqoEYF-qyR2(85pScbyq8oaNhZo~D}n>S!WWOghj z78k*^ZtY9>yX>jl{!=NwsFV)QwlvDRLh;mU^zyVajWzDVpuM%uUR&>+<}xm6DIPAJ z=ZS`cOMZm@JA&PuB$Bu|H>|j(jHs=7#$sN4-Th$l;bXLH!_uOJ$JsdWz7sJxb9Jw= zrv)7uQj;Bpt~|5%hy&jx`0x{A-`zXpqR?Vyo zmJTXf3d>Vd#yEuT`Om7Q5Ev(poK0+GmR*&$A>kHLwstjuF~vm0*uYzWE*)FFdbA1= z5McoWWh}ZUHEY#bg7O%QbC?hqUV`qI_%8wxqHuPrLo%wqR5@CvP&+s+napDUw{}$z zFP{r1zNdUU^J99=zYso)kyLq=c5LcGO%8g7x1L5;3F{c`pB>J@GWhk&1Tqk9Rf zC8ee8M}k^lR!>RJf>2w+8`vCli;{Kk;2;r3+# zKMyxtm%;*-O+m;1e(D{g0>txkuoM$EP3<3SnZH zo;-<59Lz|VYtOIHSn`r_6#Cy&g zfI3@_w#N@Nhb>(XEb8oOw^lWCj1?ToWsqG=((288n|Z934;>J&5DTj2_2ilLW-k}? z0i@g4wgA1r$tUS^#ik>+E;Mi?jfP>RNbG#pF zH(fuUA9ca;S2HK}WWg)1M*2icw<3EqC~yjC_sX% z&nQUbqzoV!2ag@i{b-P%F?IT*7dh&cQWuiQdC9C|pG zAK$IggxH!~oQ^KYdv;&0VnD>Q{@y6}1K9KV`~hn8xZBuR683KKa4a(Ns(kGCo~z1U z)l9iH$c*weSNc%tc>mS(WkFR&jiH-AXfY}!4ql0+|7@qRlH6SU5d=t{>0i|8BGoSa zKB$5VMHSt@H~Z`x_CspN>6;rJ;3sg_T8O6+8}0POeG&2|IBo>j@kgR};eHj*E;RXP z2Al^uz6U#g06BsOBf8H@L|c3eZ|?6dBa%&-lC0>0hjB>$V1(BO{zDzhsYwM#W&p#K z?iBM?SNEoC3HdK!X-?Fkswk<`((??xWwrEV zv#5!h(Q>Prk@Ar^X?B@LV~+d`Qe;y)cSL8f1;gK#EHh^CQDWk#xc*{XQND)WgR{I^ zbcB+oySRG&9|$_cz4ySmWga&4%V;;}fSZ^**ODoryWsJw9QUtDxQT$Ck&mv1PmKRV z);k7A)<9jOv2EM7F|lpi*2K1LO)@bi=-9SxW0Fj4-+tcvRo(Zi`}cHpb)6r**WPQd zwRTA#_yS1eL$Sa+D^V!V7!E3*>{AW7m!+wRinTrjBMtM&lFniq2d|H}+5XJP!DH!s zb3^p<*(JU2s!{Ljgj6fG6LZdp>=7kv+ZafgCd6v}CkIDJ1Vth?6}EWEDYTWjoJX>I z&l)#N7Evw*a{K|Um^E2`5Eed-_!bWuBNqfPKlXEBT3 zi~APIZU~+{XDBJGvN(%SpURmwP9^?Z;$Jm1BI{n0__Xc==1O z7S1qWo4GE{9sOvfIawzuJoPG=Wfj=BWn-7bFiwJ`gd4YwgT}rC1HTg>z91s{F|D+K zm^&be7?(q$nJ!e(t-f72hzn1pP^sdkJ0MEoJKU!yhgnnJxN161uR9e3)lhS*gD6oa zMWV%NILWqFjKjwqrae@E6+POu08S_quQ4C5!8*-( zJKcP%-~oH-@Y?-3{Ydx-iI~1V=v^60yMWc;#D`WoXqu+(lc%kXQ**X_fo;m+RgO*C$jaI~rg-p6IPp$7_K3OkNP!g`59%5V;sKEE_`#^0 z)5H9_!IUoxVnkf}d$1TwKQS_r!wx4V1BX3}G6rx7pr-#jGids3!@5K!>V7}3A*yI6 z`64~rH=GV%XWxW?N3NjmM}S^H67K-@wKKt$PFIXbVZl*QBf%Tptq4W3cZQJ`9TInY zFWWC_yJiSZwgfb=QarQ9`dLv_$bi3t`_xFm!b11QaFWmnuDq)a_z1~=po$|*=dkt|w7@E0} zr80EQ1`9Gl`*xk`y`vN2vdeQ9%nlYilnF2x6Rg@R=I+hKzJ;dG;8=)l2sg< zZ<0l$JU9c69I`=Hq6CGCkvgGpP}k;m;^J-HjUjXWf~fsLFXR8>MCx|Cm3-M6oI2d~ z%ln!H9?3o~(F=oQIo-FFYa=^(AO|Vf?;M1Js6nrIn|}leJf5306Gv&=orom7ev82>pNb-kBBtQ zR_%fb*XY1ki;R@(H>$74hWZuG^`{BDFG$AttA8q#pnd6k@-T^ra2&|O8onKujs{{g zc?=29S-KxzNEPY}Bp50AFz5)JY)l#H`+RIR5vaEW2%gv) zTB@06CbnMuCR)qmx_Jx!7)>QATze@zp)Pa0Xy)GK%}7LoiA+o*y1u`aVxHwZru<8c z^915AJ6UxIw*t;nGD@u|eA&D!{Qip@-R2S`43Uka``RP4+>^sn0w z8GEV%#bH)l9;(eu={w2Set$v#8^;>!yb_tQ?A2uE(mkfqA||Uh1J0s97AAGM&a3P& zT8p>XYICOtE}gJbla&+Oab9w|^YS92`ev)@a`)2yHog+N7AAwzryKF{xBO=5+>^yx zasP<&J199DTG;9;JN|UHbTl+Ia@AG$y4e5xRa)KAwxF(_t)rfAuxzNYtW%icv@jwb z9U8*xil|llj2w4T>7lPf5kDE99Op|M zs&EM7*Nr&L)?pfO7vz5;{CzR>{W^>Ny?Sl@{YY@@S$;&FXExi0>E*)#Od$IZh-^qA zC9BE(rxA1?JvdkFynth=E-C&~!{u|#`TFgA?f9|Mjz0DDbm|nlApE9bkb?dSj~C%LOH(x6PzXzt35) zP&;l%2a>Lme1DR_Nu4HQ{?bhpRKQlp4v(O0sgI$5MOpDiS*=B# z@&b{u1b!EpPGs=_d>L~+r$~R=hsZ_ax{2(kQL5-_X%Z%?c`|bTQ{)3nK0E77gHTT? zhCL@@#vZuLjR-dYCY9`iftZ_Ncqt49e{rE4KXnvN{1I&z~ca7{hAEpJcnoIti1+AKeA1D%}TQM+(`bpHvc3VQsAX+WBKu z3+Po6W4eEQ39(lgBs?L|eaL9Q=ZA`%|4F0RGR#?#%{fuwIKV#ZAv_ttKIo{DVU+;u zQ@O-Hn;zyLqChc9EZj>7T*I$0y&*$4fw7w2(VE`(ys>SD$2@4dsO~AWFp2Y4iu>F> z@^cwy@)bQ9;|S^B_o`JLcI8^5t)8QGSC5WUTJb;e`SA{HC&@4D4svtUa&;T=bz{`v z7d4{ilR0r|(TC6R5Gipl>7OH#NQA%ygyKePVbT($ZcdsWyg41Il2~wQ^BI*42#I=I z8r?k_1GprNrX|A374P&5tvZC2?){Rl&W7$n?)+(kmx3VLNvUg!$w((lkP+3Y#6pht z-<-|58aO19Nk#sWGD#lYOSGxg%9pz&Z>G(;$?k0r+|iouRSkOOLsDL-o#1zx$;ChB z&o?5F(q*74qvx(!#MLI*EkrLl3)g{!*+tdaQQ#HCMN;pRB=;1Yd0FEl3o$)5kJaD9 zE#%1>&xbSM0=VclpP`_bh^t(Bn|+<5*zIwC0}F)=JEzSLbcU80rnvs#WhLmrLHPi~AH zed2;l2FY7*{+S5Ex=%^AW7eM}A8s=-2m`l>5rpln*38m1AdkVS_~oH0K5@nN+dNPQ z6J>wLkcgq{#r7Cq{w-+al7aN0IR|lFMn5h)#s*a;AmO9Kx?zH~$3Z^ZtrUm8gS zvaQV{5rTqKbj<70I#MH3iwb9~x3Di)$*2~Cxo+^rPEr&1AetKBeZUpv5MG0nEa3_% zv5qZx1;&QkoJdWtq_e!Z&hA`jZ<5KU1d8z)z)}~~5Jfo^yq*>eYn$j&cd(V|CW>iXGcjyg*lPs2kyM&b(;$Xz%XPluevic*+kFX=CmNK zM9JkVp@NQ&({-}BxSIaL@FDW8&!!RKxF5c&PejvZGKs>s>*dS_dDV&y0mA^7$*=VK zZ$}_VmP;cKjlSz$?ry(dg(?a2Ja0V4#AnAHH=Nk<*D_xpZRbSwuK#Xdr0UjSY|EKm zmn(7_d37qUWJ;sDYSLg(D&btBb5FLfjO#N^%Cg7HRWf^5TPI+P6){(Zl?M)t{j6Eq zP@{=c;%GEDXgMQ;*0SKHz>Pzv`#gS zcGa%blolf)SC1h-6I*wS`l@mYHZA&?J8HVIx2>VC^!3U~cC}WYyJxvD`i6f`Fg}vf z&W55tbrb`Y6@7cr+EuoH$m_l<1928lj`Yw{w_Ap*Px3@}qG;M;*JB7M zXoZ1}0sR2a1MXh$E8*|M_V1VY#lTObr_IxfUg1if{j{SaL(toQz#JsjBu9a!jJ@2L zqBGW_vxg-=6J5(6mYRM64j$`s%G){ZrxR}nlcz0)e7!#{tZoOM9=;UczsyepvP~(# zEK7K8V3}O`BUnp?__Pa?&KoPQre-j1V5v#6eBP0aj}n{^!9 zYSoCk$J^z_ERMO*Vj$6gPM&BA`}f1!Lvm!yST@jG+YE#^{-@~KXB^H?Q5Zq;kd9c= zBjuWfKBO_2#gp8F4qH`h{+CIpM9hZKsx3DSSiNK~=9_&phB~aq>iJntxHB!$A{6C{IocZ>$u=cdF*<2C`=Q816Ea2;c zIbK|7@1`ZYXE-5tV4Lh3f72|hLOt))Q@3*2r!!j=8~$#vG?+INEpY?8?>(|go(55$XITN-UW zz27!w21;jE*2P_zcEk={Q!Z`=5M5J{!e8E#fQkzBRb1N7Pa8NHYDm`FDFs;uO$<1@hA8huhoEzSTjMp z(q+JW^GQ&dx5{pcwX23eFR9+H=Jl0?eh-G*Wz5%v;oJ#XXB~2`b__<2AB~Qeq7ZYj zK$l4y(5+4%_;p`+z1{ijtm0mg*m9PcLe$&gQEpTWCFk&jSlekF$;{hi3kAZJ>#o!U zYq33U+o$@~WyPPz|2eqQ{g0e`;GfG)Zn%T{&VDWeXi%_Toe~5caXSDuV`Fn3dH`WfJO2)6dGMyJ&@k$@A#_(s-eraw>0ai1{su?_hqQ~|Y5&n>p~J)*C$e_g06 z)BncJ{eR1O5`g7e@hmxpZBOI|M3ykeZ!On25=83!?Hr&Aae7S>1LFb(*A*& zmme}1R!B1P%SH38jU6HVO8ng*GiR0)^G3g_ukX-*BPTe^$;~yEUwu1x4%~+gd&B>L zYvnT3uXY90pk@C)01`j;o~zk=?Nx9n@7`wxNFSaT3o%Gk2NoPQ1Ed!L?SRkuZGDD~ zzZ3}4p9Y}(C^8aRobx4u2$wVxsIyJ3s$b>|BDXIa=JU(dvkkUg(L&fWMvZEIxPgBG zno>rJR@4$BLoabQfz0s#J(%ht*M{EdHvjil7T0gp1L(ie4@gmoCL(f8P ztO4I{U9G=gH3+DetwrMVbEB=-4RL{VUONL)uM&~F@WzB|bv3Qy5cOYgOVq;OU&Vrb z6Hf<-S%Px{d$Z)i+i+d9CodR4#`hgU4mpx+Y+v=FH`YGQ!}#m6{eP`Ek5s>zXNBt? zUdE{lK{Wl}&VXmpdjIpXd@h_}rxGz6b|;(4f65f|fF!|UeA=c5DiFa1cT_B-w<4tz zO$rLUD`^S}LPW}m_nalprZu2b*VVWbl>&`7wISKD20=;`tMErRlN zCF)C4s_znNINx@?R(1Rl>~$FIQ8C)FWoph4HOFyJ`WWMnZ~?4rq5xg2oJE6-JXEj< zC5tr#)o0IxwAFixjWZhR_@Jq%OvqDG(6;7^CmQWk4;q0NFh0!w z5zPP^PEYFMC5{E2AX4BW{P^!o_+u3CeJZT9qXj%p`Myh?7083>y0Ct9z5?+~(BIK) zCP2s1re4euoUK;s=!ncbrd3)7S%Ots!kJ#4*m7Ej#Hml{)FY(YzNpePm&3o4Ex1?! z*v1jeJu{-G#^LSJ#WJKfmZ~s?U(kcilU4e3Oqs=r%h(QHW#oEV;VK?B7q4FYL2 z1$P6Os&>DNy+IWh-D*YM4EzOyS=^{M(}Z9KW&u6iwFa-N$^rY7BnQfNypSWS^Dfy+ z7XStXy`(?T=ICJxMeQ*z1fa7rCKMYGuLHGiCBY`uMASkw-RGV_ti0P-x95iKPkU z%l?N3>3LHD3y}*mRML~79RQjWU}}@>Sy$bMk(OA$lP-LB7F)z>mDS^Ig0@USZVq9kqJ=-O{DpsH@!VT4+ zabivtu#VI{aO4?jx3O{qHq++OX;@51ZU4sVKV$0@?5HvbOQz{&b8+x@b@qOYOm0qQ zB!uYu8;3wtTMZo26jX|5l1*ewM#vTRo~8{sDDN%oU+a##GZyibo8=#T8o#>Rcjv8U zm0jCA8f3E;a<4vF4rNBYQi|GxW||k9q1{?Fk1ZBS8=-^dD};%^b_~6=A0-Lkw~xW{ z_7|Jz4TNT@HgZqkd-6*%B|aMvIP&e<=+mc6jVPCk`i*KltUC{znojtbY`16he}09_ zr2#kL=lJ9ik-p|NY5_jc1&fA?4cjeuzr2mq$ z>k1Aq6=9@n9AoB5tYAjL;=;GYf^ypKxf{+b1g9?&^ATVZ%zyAIZ9gP2%YnHVjp5@V z%dHi>V8ZEB_j&+s4h#Pof_&vAM1i~3ycck7<|uW*T1-PTfCfMjfeKj&@PLgGs9N_; zSCV@&Chh~3u6VHS^;SWOe<1!65Ip`=kto!*Ak+oVFugW&GKTzBq|k$TK>;$mQC9;U zAL#Ge63GnCh75<#g*bgnYmCZre!NukyxP*&qLs4&x{1Wy!0nqj*iSe}#RiYlv#jWx zQcKhXWU7mywh?ilvY@BZ9|;nt?FAO<$)B+`XR(WWE)HqR3gKRT-%np#Q_8w9;BvWFDgi=pL6AHfv^d*0$Bhu zD<-r6QVex0a4M20j^;DUZous|Y1oZ16)W!reMIS`Uj+j<51ATz^0YP@+? zBuL<*_6Plit^MUhfrIf$e+3T=%e^rqK6{Wf_ve73I)!K-f@FWKk9 z&Hvt49{L9Y*y?Kie~ROvfFM=hme14^-btU$+2$iiVE_GG_M;2$=jB_4Es$1lcvQevZX zX^80;eqaD)okwW?8h_Et?X=L`9d!~>Z`b>ZDP%=S#BiE?@6Wt9;0NROEI97j{w<%v z6Wc)V>wiujw#Qchu?{=&u$pwDr|{=o$~Q*sSLuJ9Lw;ZF6Y=-kp;6D*$6apg$REdy zD+Y{z3{6Hx)x8di9Xpsl0F8Io@{@F=OS$P_U(A?x25+}K1_N@K^hU2Qcc#pPYb8rJ zX#}q9@v?dz3M%+nW0Y)pv{(t_`g(V$6#1YO6-Q8}y`0X?g$902;l*6#Y~mbD;v8JGLPAyL8YTG*xT78d z&UAdttWC{kkHf90{Ol3@N0V5U8zi!JZ3e|S7OYdw)>h4B>r~D3r+EV^t7P-@CgLZNq8OqPZN^p*GQw)G zA+NF^?&tpn2$qu>Zfa{ApE2t?%4W;JIl>$b-A4C+Re%I2OPVSejc&c2PiGo=pDk+{ z`Ml2j+xns7?I)g>#3Z_q&LHV*Y-}j2>gjzhuCbx7qpZL~o*q3;Jtzkwv@S1Ski~-{ zsvj@z80O^&)%J&GmT62;XNY-5&QL$4&_GSBHKc2_WKO?P3u?VJ44ivjf6#xsiNo6Z z7t5+S-g(S5V>;*GGYz<1)juudzkH~enzb=Y$|Ogt=kctnd~Xci@u~pJ+!qsbAYm%|0VOZtYx`iU&r?#B#!g!2Nn%4VC3Y zM>njWZGHQVOIoy}kf@<8t2akot1o_|72BxH$3;<)@{8_O9V`OO$RZ}fJ^Hic(|lph zd70kQvd(Lc^3qdh#*~?Yy;_xvQ;~eB;4TSbJ!JZLDfegbZmr~bGW}9KX`waFlq$+z zF;Vi0S?73!dU+JKlm6H)!{k7u*;4(c^6 ziCQdjKBcMhO_}PYCH3ji?m$tCXH2{rL24oA>gh1kz*0XTe(^@ z{FkFNqD(%q;hG*R zKq&BQp*@%TiHdqdbukn|Mjn|QPgmp?9~f&xL6qwH44eJlHq|`7%Nyy#MdTq1@6R=N z?(#;CM8oRIQfXN1@-j0y8yQ$Dy$zYReYHn$pc?YzLSZKq&zrMlpyjFokI+n9R&Zm<(-cF+Yh5#BGNdp6ACo?M!#Q8_sM$PhJHm zKTf|}>~>{-PjAu|_7Hq+BpADetm!1uFo@#a(cn^6ZCD--+}%JE_qbi}2r7F*Xh}GS zyHk(=8wl$}P@TQ~MSPG|exJU4PW*^vQYYaq-8oCWds?od8vYV4_g6WP>i^RxKwHCK z?GX8 zI{ZGGW*f*maVDXH(FYP37Fek_RC5lREz5Eu2!>|tOXJFJ!Gr(7c^qV0QZ5j?$$da5 zh|~zen3{a0h8e)M9;1G`%7g$as$!7T=d{n}UnofWZjN44!iJ&!rnB-tUKo}S@>OkT zS0r$E*O#VURsv#`pkAT1tp*z~(`(2s?M?S7TjweGmy-X6cujD7kbx;6dQ&OerXrg< zmHM2g6Hm2zZ>iNq{s;peG7fdhXx=1G{Ma}=(?ljg*M@bV0|&_fA>05E_r1-_(nC{^ z=G>P|GPAJvy<4l{g1``w-1QeGy1(s12Rjvdupxts4Vms&+jzfli(Z}M6n=D z_G!9s2o5{M)T?`Jl%42=R1zEsKj_ZN3(o&jDB`&v-*?;l66pGQ#Vi@^_4icHT=6`c z4V(<@(^?(5>nHb##3vecSvWk+j39o>Uh_XQo(Gy=_m+RDU}iic9f5zmYFgpZB>$I1 zl^KXP@+jJ zc@6``W&Up$O7H(Xul?V5jD*&F4>jL+WM4Dd&kl4K4wTsi( zk_b5D_-1A?WTI$brLsl6QBtR`YHj*x??UEWnPUeiSq#8455?@P@^B$?L9{nSd?CI> zi@(JnjFyW2loD%x6{+<9Bl%`t2!^U&TAmwu8L9TC^!YG4RQ zF5i!UT73XstSYvku+Q3{S_w9qb^zm=BeXhaLqxopThPsJ=qzMpodM82UShCNmylG@ z(=)SDvr{tgxAOOvbFdZBEFoPnj+v!rAb$>ipdoW>hoG8XgnpaK z-u*rq{(jq?{jB@udoSz_{d&S30n9=d@)9qDJC}7vk=6E_Hjl;GmAmDW2D8S5N#gqvt3J8iXohG z+30i*aiq{J-LvKT4K58a)A}KTQQ<|mA_=pnws4ff=JlVKmk#a7xF04^Jv~{Gx zI<(Z-C<0=Bg+=`Z7Gz4!DvDqn>LC&|GCd;d(lj%SaEJI+_jSlxYvQGaXy+*TY{`o^MhdHg=(l8T83|J#q%B9&jr;Fxo0=$WOhVU!?f+5Uv(oz%WbuIn5Vprw|Iq>WR#I=+ubev*6}@Eb|^bSTjD zMF=&(ZPC|=8rLd;f^e57Y&H84e06!k0$sC39^_~*pf5%w_y3tk(;YxAz&Rc69NN~` zSI5(Xe8Yd7_RRuat05A`$WK34`r0A8Kr{h(KVRPZ53R0Qz5QLWoLiUErF_1t^*pC; zX*E;vZXPZNT%C6ZcbgRWuc!UXBlTI19Dar&c~Ug7cy z19DG?s}A<2*Z4(8%7M8B8C>$j>`y~qRkJ+@Cu+7aYMU+?^5?<1f?fV7G!TWuYQRD5 zL7$MVu*k!mdg=s_cn(p`9Pu|`*1loE*>M{5D>tXju`nG>jj;6Zd`)1;`|RcTU0GJT)ux7!&SAasw0V>VJssxdef(JY)RD_3{kjd^O$# z5+Tjc*7Uz_HCw@cLm8s%ae{`fNBl?XUow_I$p*`K`Dty$a{M3jZ-UYJx5jIE22t=s zKQwXB$$xx466iuQ!C9sP(%J3xaVA7_D`~5I6@N<8Zxc7TM68MW_eje4{Zhy|VWbc>V7M=8oybtwt0x*u3@eW(%hdlRv!0nG(mIs2kcS@M5LQ$aS>2Sr<5Q zuQ&R_;^_DE_Q$%ddnaMDCMCB@-M0eh-t-%vCF53YOLk?OoCnkV8>;uW#HW{nimK9Z zvHp&e3M6_wpZwBL$%zs-5U-KMr%Iuxl_%XuykwlCN3WXfm?GCQ+#&2(&h??y;Hs2Z zsSiCzkIBi|jEIyvu~dt_haja>h@)D^Sl&@b|NBlV6J0` zQc%Qz3ZJ*ob^MipjWd#5{a2JV_#*N2ZVZeyoVoNxE}DU~V1#mxmjWwt=p=~;xkRcU zY6P1-Ow|Z@`RU<-c;@Ts`}yDZv#{ZdaIfI|=I(xhzhuDqFvBdsKxoEa=udu+BUO_T zgPxX274AiT7Y~P5t&p{LL@k9|toues-oxue*tY(PCdkG>|1+SJkQA2?GZdb^b*HP{ zYuXfV2E~$o+X7;jgh-f{t++33QQ3ikIckaxg6ceM-?bwpVgD5+Jir|`f@)+@9HUHq z3K=1Bn%lw?6M7{wIfi%VjKDJ$MF=NmCuaEauMR(IKRzq0UGzA8#N4p2AHEa^T@!!jWD}%#XDK7SxuU&v69p?pUUQe$x7&vqWzsoG zN8~H1LS$gb3m5ihmKyS~hL|Qr6FEs;^@6vRP2OHARQUwr|E33tm71|q5inpPGZvec ziLW8@ZZSM%W2spkv{P zQuQE;BA!?k&IA32Qq26${KDQ-S6j4zM|oUQthXZ4s}j}`vOwYKa78NHgAV2jXVf05 zV(9Q&b=6@tw%+LrCw1IW=_*PI-JC{XYtdNl-CMMKN>M4th?D z$9AVbSNNyJMw-m2LjAE6+@x6iql)}|60kOj!tzwf8Q6wGrdA200Thvc+%^9(Idpe* zdOOtEQW@^jnykWB9Gf~ui>jayWMKYQgfoeNolE9W0$=Hji6cCHQ@k}%BU@$NsU&@Z zZw|9sL}gMzDcMNJjZ>FM(vU1`>?_Pr2roC?9{9`ybDo1>tS&Bb^|m=%`C4kvIX7XX zh7Ht2bW0>9TgWm;&rh4ZVLB$!9ZHjl|GBK}_vh!!#8^B3g_~9xJ@+{o*235#-crrP zY;o~Sc#Ng#;_Ad3bHbDncVVE7|BIhgCFO5#Qd4W4pRbKy%uXeNpNjjQ#OeX}hU=Nv zSpKhyE1B0N{*Q_qtJfug?;=m#iFZBUJl~zjZoNLE53hP>g}v!_nZlBRu4<1He7+6v zoXVkgwFi$aqcgKyTOB=*)2l{XMi_((hqH^o!iq$|<9tJZKjv=*jYRNqSWmR~esn7& z_9Bcj_az1A0epsjJIf>p1}pIXR~ksz_IkNWC-#Co&t@EdD&+H_`J1k`1M9j+$!KR` zz|(^C%%GUBuo$sc^WB@3aHX;mso;hfwib`q(k*{qN>5zm#*v77HY2u>E<@nW{Vug2 zSXcA*%gw|7?7WqS(fh~#Kf$60ufkcU>DAp#5ag#)IFQ{@AD09 zldWXL>)(mh>tC;t)WkqIO3C^_)suML#fyA+@hpXgCJywgU;R4Xt~2yGZGOe?Y~DOM zxLkjmw8O+cUF3dOJsVBv>c+17W#eP zM-m9+2b-#)fPu*?Jx!VX*rYH7;0@Wf&9+PL-ZxZyia$t@pQ!R#3S)XQg}0gP)s)$2 z!lPkTHhidfGb5hoK$D13lFqoBvMjZKPbH^bNF!qSeY7<+asQip+wxVyF`SE z8v6WoeS%Jo760nx`t+F`b!Y@?%7=^+&Ww|^j1tT&RaZ4xTlh_%3u?>vjMWkB3@B_Y zpUlj+Rxav4Mw>nEHon%ssHvHiaM8w-Y}Y~g9Fum0S@M1(nb3gQs8VWBl;2R8CuEHs z9a`H9K4Xh7Krv6tOa6YgWiBseKFOS+BkoG=$79s!z+FX!A*rkKzjb<7r)N(GV;)R& zrPB9TOSTu@m>~UjAtkbeQdBTMlKHGus$#YB-p$4>e+f7pOmZy?8UTi&SR}4XlzWH~ z6{^*MnSz%!)cWtRGj^&G#_DJ{k*>4)`fQ%VwuXA<>Iz!^P6j|%Wrvk*5DNM_cVyITzc&P_QW6OYX~r*;dv`yHw50Mf z)vy4X@Kz<7yyX5g44E`qdkYE;G)XfX8W>(IqAAnkp~_tOWU=Tf%TlF~Yue^bcCuM3 zi2Bpv9pKe1bz7Z1tLE2$g_hgBX(Wk`-T)>E5n(kBedL82w3CBgSXC2ZZhOpWD zZr{I-l|olCJv$QW=7_`PprKPEBq1;`u;WtF5iYDu9Cd0Ct>_g1>W{p_XEzDg@sA`D znR-!N3YbI$X)Z~RC(nO|8=V0TuPdcRUo+xnXbL1EeY8ZAF81Xu<^qPgq7;t7qsX=I@~g;Jj5Vj=0`#Ffm=?= zA$QLvM~2+zH>pfGQ8)1lXAH9Nm?_gecIgs*ydK%1>-Z?6ar#}S^IkR%ckhaKQLTMV zi@&CDR*I+mr5%A{|4iMNbT#LH`d_?WHN={I`gS{<>YlFx=&?P}`B5|L&UOQqZyx!9 zCp9K}-vj2kpJ`uCKDV59Cf^Qfr+T{_-~QDeFz-~py>*}0?bf{=To%vn&b+>L$JOmB zz8oy?c``@+nM%s&i27`v>KW;a{%YEe|MJ}Jxj)V<{JI%@{!fm2RxWY3%gQiQF!JX@tHix&7i$X$M(__FhlVYnm?m?fLPe(=ALnG@=%!ZMy55&vMB|f@>cSNCL z&N=y^Dj+AL4`2KnIA?$ceZqrltXJL&dmy1;5*FrYup9ThJgHze=z22%OMPYhccqE` zl+s%(6BQOrSHkUdCh}z8s9fR?94Gfxg1_g~vxfeUH;gskJHYiF?%zw%f;$?ncK1FX=O6=&lLj`(yIDtL?mrE zno#gKSpyFTSK$ww+Ln@{-Ul27Twu&`}8Hsjxh4duEiYQV zR;N$2qnggOlH8V@*;Z(>HCf%g*5PjE{r>heG0Ztxx?V}|?=Z>fZBPcH#v^)mjZQ;# z)+~eC9g#<(rB=cgq8)Yn{9FVu?%~1CDrDE2LWo1a8m-PcQ*|#T*r>hB zLlkugw_~ETxWb9y8=R0Ekd0w$#BV$}IT)71`9eqI&OregN=N>lmL#|c8^y=u zEhDyuaJxN6!lizL7=6m|XUHq7#HKbxjd zy(D(x0%AQDk0E9(Ms6yeGi$)Y7A?VbCDQ|n@j0#ZzL>80c75SU-9^{Z*l~S_py%g;^`j&yndN31IPCaL$0QIGCDKZY)cMm(H)YJ3q5G^pP22>OV*5Nq{x;Iw z=4p9ngQL0yN9m-m#zC+#I_I8r&ffjP5-Q0&%ZqrDrJTPws?h|kL_JPFxCJ|%0=xib z5A_R1JB5_o1%usukUZXaU+!mpzV>ULWpE}Cy_SJ~jd2;$*Y@aI0|!8LuBT!5?Yfa+ zPtUI44rVDb^}ua;-lw2q#2c>`>(+<_)1oRiU|_N4DQA(SOspMC?c_@RdpX{%b!zbb zIC%YQjAba+w$2KSWHzFsHz|(CK-Bf(u9rEJiKcr>b*yR4Utc;;nZBG%v@_JKN8|1cYX_hf-d`3>`>LPy=V1J!>qAmf4X46JM z#a0-jD3%J4-qO|B(q8EcpHJtXwDZj1XLgrh#%W{k7h;!vi38*PeV|u-sO6gT%*TCQ z!)VB!c!h|?h;2jdo_#M;i+>l}df4+>zjyWiy4#ieyv)CD)MM81E;7@dc;EZocC!;H zQTWMvI=IWz5#pKks;3WxxNJkEQ2(Ll{ZV4%-0!H~d@oB31Xy56qUdUjMB zN7RIjg}25fF^N|-Mzc+~R>St&H~hNpw-LMCcf0M>+OuUzm##3}Ae zGx$zhKF{02Jx_1>_wW4q2A5}4YR1|WT16JLVp&zr8GH*y==5-jr*ZTV6ttSB%e&s}&ctFEnsD*CEES}f_W|zw@ zGcomTt$W${-282>pRSs#?6gy?8+1nz zk;-C*1Kc~H)2|eZ+YiV8;56cghg-^KaR?^n(GPmq`C|_hO^OKR>MkD-J;38WE=H`h zgcaZMi21u`@uqZQz~GwZSCaCSo08ag^`g-=W(*1db}L%EcVyjAv(L?1zU0}H@F(6I-@_GhBDyM`3DVqEl=52qR-z`!H%tC& ziq@WUWhX9X_PNDgX{cd3Qm@FGkFimRx1EM(l!uXtN|=s=g++@DXF(?laWJQBX7jqX z;ri?+rRdwn5`8DI{fca!iLO58#_^Y(BP$mvoVN5Od+r8;nL2zGmM#Q?41QczaY~L2 zbEq^s1Rasg0YU`#3Ok=%wtAuDbYfuvLIz63i(yoFZB`0Nn081^^mwAGCJIT-I5bC1 zT!MmJz^uE-MQF~t#40Q^66p*tg4D`dG-qbs!2Z?U)jHMIEA< za%^L1i;l6DMszzBwON^>AaO`;g8dIl)If-NBn(0 zRk&3-r6WMLj+fI`a+-S-Zv}7jshr!%NqYtnRc-gepU~C7_!Q~fqcR8qfe#kVc<3k(gbyopx7Qfg2GhE zHwL7ni>2Xevztkj0~|y*o;b4@7+n@~+mxmY*9W~5yv`Mk2G!K&tZc*Z*o;|@pAxou zk=}RF6IX)NZEwQ68dnE?AOAWUoPnO4Pv`D%K(Er>ad$7lxB2T*|BRRM4jWJ>(dW1# zgU`$HU9NxQ`=O-jw(pw%)pQdGa6eaVc8T;-JKLw$2#GV-(+cTtPrvoQs;twxyIuL+ z9UAy|=3dr>#{35ZuLbcyjmtf~f-yRq;61cZew{NRNF46CwNKrSn!!DOja@dXuZj?@ zzy4>YmI3|#CqEk0>i`a#zxkL!LoJr{Q}FOxsn6%@MVGzc=imNf-gRYGvw<9l=}YWe zA@dDW)#au4XbpYOi&*;&&zIy=S7!xxBg0_A+}{54bTVp;3&mga$~n7Y%cK-8LKh7f z=PjvGZCMJPY0~S{1()ek9XP!b=|hj;7q;NPMM(FY z4Ab5Ja9>0@JP7rciF}1EM793enECBdtp+3N<>i$dT&PDaSEd$_B$e;8rPVwVTfJkU zmYn|dcvQovt$)dRVZoAW8l|1@pU~J`^RYLm6FDv`YSJ}%(Ijujp2=Hj|8W|7)%A6R zXAf*_=H6b~OiM_|$0nqk4}k#-s@g6P*u*eS%~9j$U?sY7y)^k@t%4_-q2R>?pak-m|ehs%1Y3 zWp!6rhP@ZJy;IKh`-QN|Pj1*{w_Nic8ZSc*XMXZ?!EpOOMTeV4 zdHvfzPlx?qkM3e?y1KT#in$vZF%zWRXI1!3Z564(X$s*?l7|X@52(4iKmdq;z2@hN z?&}XEOwDN$+U9VkAOxW01M|^A2YZ$=WV+J#YfC+x3kBn_)XPrZZn6?b^>=uUDA6pd zohh9~w||Ry0lT^^j&X7ciYVY(BfpQBQ0V#oM&LJ<{AQ#ghPQ4x6j}x(kGF4F<#@Yg zJ&PcHrbBHw>n&h~tWKGKGZj5+!1<+zBoRv$&;D6j5dTHb{}xDi_EQAq>}0{KM3QVz zoPB{iI;u*;N^&02q<}{Q>fU?7>6reprpwDr=hFcp^A>W zY+32bsd&izo!Sa4&pQO#DM640JCoz8WsTHy14|7Wf`M(ANOC-CrpX8+yW0bXf*iU= zDzsVA%w0s0I3VEVWiCoh!IVt_C(zKwP%8bH)urY5{U*(_i)p&7JW_QDdS;xuNQJLB zOQe#RmBwMg7@s8c*SNV+gXsbrB%?B6T0z*Pl6VPpNC~9ud;#|9=r{S0l~dC%TyB;DoQw0SPOjH4{tn@b^SM~$5rHvy+S=B zF>={Pf>BY|>tRpUUeEiyE3+e2LgKjIx}8*I{P(VwoH8FFPMA*)lB2o@NszBtU6E!Y zR|`j>$)BgbhwMturSVLaMJpfmc+EL5b*v> zE({`Ai-E_KG%mXU6*96*frSoA2R3i15!pEoUTH>NDQH4(a?$xvoVjwx%1VkB@1Wh;lETwFY8 zHiXgaj=-S!7g#^%*2Vnk6KF~trbZW0CQoZ`V|QkEj%`_OLtSM>ho5=2zM?PSZ)9R& zZ#KpK84TyZMG96tG@wiN;sdU|gs z4IfpqXGdB~1V@t2Lb?bcJdNfc-qRKVHu&20FdTOGhEy6SckcX(eTv)6oR{7~FZG>d z{8OKn?+O51=9_Ma4Yx#xvq6l%0HjAwhAcV>`$Lohu$GjKvF%vw*v&3Ev8R@o^zha^ z@Ai@fw>G*Q&0gnZ`d@%)qb^QOf_*}+8lVo_jF!N1jx$;9F`6^y3R*<7;?bAj@KGo; zOD-*fFidF_ml&k@$YZ>uh$W9+5jd0WU#l_Kn+O!yv2prRO!^}e>r-Lb(JGS=tV>OP z@G8^aBW!Sn*ul@^L!QP+y$@&e#qmu`VOlC~bu{{piZAb+j>VJjBIeBWF6+r$IGm>x z>J<=~6%-w&rf&H$i?+sPp34?GlCRPg9i_#%2Z^(cJNZ>+^(nyUAi<+WJx`RjnAOy^ z9F!!jecXjrMEyJ@3V3)_3L=#x#80Eccf(2G=(FiX@~yU9+K7A7^for@JZ3kzl+jI% z4Fi#ro>!WuS*MF^@CXGmYWu zKUi5-M^CegdL6D8ie&rgJ!mrKUYkdse@vt^GH>EcAWY!HHCX8d|5M#6234(XmdHAL?;2 ziDL#NCKKrC8r#}2;$hp-ok)GJOrE!C(?@jiAcAJ@4V8cHP;|&1^0c6YsBT~}Xb|D5 zg1OWC{jqCSYnHG=AXA6HtbTMw_3kGA^&+;@RvxuuDr3wto<^Xx zq}k-=cX1~BCdwLJoPCM|uJtm1*q<5X{FW&C7Sz-c9r8f;pn_ngAeuHmH|h1DQsLOu zX?{K{HmSfrO()Cx#E0VgdzVF^SO7?ShLOeaul@JL4>*a?=~O$vhAmI ze*vAm-MRg=2n}!G>+@2nxZU}7IQ(?!_wvzY4`LzTh<;&Qym@c?zAd(Zyabo)Pgk2= zADdX?+kSJelinfI`iMSPU{^WJbi}) zv7`n}{BcBA_D%ku56A9Xzn=RE$BvUbT62T@3*2wyYx?-S@HZxHr+W98xj@Prc3mu`VB_x>wj2yFcu{uwc8 zwCR*!C^lXm25&nutz*r&cFyz{kgR*2{<+^)H@@C9uZq!NvUr|IEjw5*O5 zW?B@1mt$i~a6y!T%QlUey{*^b`!+V=Vgd-}pbjsGyGD_L^&wX@NJ?W-uhttov@4x$ zL95mAs*y+Zk?e0nEp4?@(^b6bMm=sR4c3Inp%;r4Y4qk9;)gts4-7U{H9Y(j@KxFH z`gPSl=d6EVjFOw4%1b}0w|r1t>C|GDzMe4PD}B;T=cI$_O;6)H5irB!pGvj?ACNO0 zq0m9@@rH>uOYUNTc2R`?2pv)>iJcQ)7;!N&jb}Udvn+zuETR$jXBf{BnYbBs^+=;@o%s#eE2@e(6}Y=w^zC!Lv20 z6|Sr8ImNG>Q_qOlWQ&2+ho)Ga5YFY05HD7m2y)mP2zhK8E-iemqUjSUnTzNIbymkV z;FcBDlbB!&RjV`Cy-V$|bk(|a^!X`qm}*|E4h$}8c<}Jv$6h!#IAU&Zv?V)x&1A0s z!_lU_z^X3M*f;=Q6sI&@V5Q7ZT3kz0Qs!MMt%xTn0S#p-H?>`#-XN-H(#fX;RBc&z zoHS#ie$qrIN;l>sDIO*f;|(>-9`ld1sjxBjFV5^D0Y(Skd>*(KVN#pBRP_Q_X8ls^ zpNvX*7Fxj8e}F916(u!ybFwWzH@AFV#%3mz)UBGycvbD>;HM@d%cvr4Y{pLr$D&VR zO4u5FCB_LOsH)&Y6R!5y?_dKEXl$@sZgDNn^V)azuo`mVbs>k~%<~U3 zE%CH$5$)Nn-e%jmw0+ml*WLXBd%=;fv(1ew0fy%r#=&i0rO$`;Nq0eR_p8cS|4w%- z-LdbKhI((iHD6C#Pww4sj~`dSHQX4m<#E{Q>Fq`WE%d4KJ2%4}AXI;U8P4?YOzU1n;nEQ!;G7MSFX+{MP%>JP zDmTxU18N-kx21Wp6S*=#w&Q=(nip*;+)0fFG9JEdj@)!)1+Q`DPni|C&);-dWo_Cn zDkx7#xV{>j3~7Rpi;ro%Cjw@OW?%~+D(ZL8?mIFBdc1flgk|4;6tyRSdoi1QvLAzB ze^C#Oe6lP3kUhYwi|Bi>LfUu;nP0nQ}9 z0aX@a{u0$S_1?^TYhOlRNb_C}aBeH0Vk`f3EBIw7;a+X3ZZwLO~A-K)&^S(_+h&Mc&(#;_20E-D7MlkO#@FEkD*OY z*X-X&E(Xg@s&MdRI>~TYeqqGnXv}TS@iW)fvUPzn-|D&qIA&*8lHxN6kb}$X zJZ@BJ;8GthS zc6PF$NnC1eUT^8N6rUoj!?(6kSG13#htsaj^6^YDH0VSv5?iDCz}$Rd z+_Di5HZrJll%Sx&-Q625F)-ZtlTayM5NF@=+mO zBM#iXPJ-ljkC6vq^*`#{t%o_57&bOOb~Yn5+&hk;5So%-ix%=atwkq=q(4lpn%byL z>A-lYekn%qPpE`xK`_JfnL|{of*nf(@6fjw>G~L`L^1mkUq$avJ5La_%-yXIt!=KN z4{z2}(#NYXOv3l*X!@o0&8Z95SgbX?p&m;omXCO!pl_Ed`-W7oqrbhkive7<7AHnt zADs2}0b1lVZrG>X?QacqC-5Rfa`=+kWf4 zIO;Bg(?L9I#lE|(Oegvnb-C*Q1H#CcSCC_1dm1DHEp0w!0R8MiLfqB6!_|5Br^D6f ztJ!f6Y1~IYs9)`A6Ki|Z_uqe@((Vxt3M5Wu^wgs({Ocv)@-W7q+h@%DeDw!i!1jZV<6iGK%kgAOqA?$J zIh?pq)-X<4kri`B5B{P@8dTqP1Eky3cDzaY?HGISWFnp}s=<9V(rKCI?AuIYFu<#}!iIM$TkHg(cxmLwxa^>qX)ppYcRG>@c|ghi;xTQY$k zLc`7kA2zwfR88o8?6*y2X5V<1e}W5-kXDmXF2rSSEdh+uZL+hhv2iOeu*+y|=;m-5 z6PSP;!X|VwHbiIEL?;}k#pV5?o-*_rgcJx-$-!h5F5xQj5IO}#x4*@{rw;5Yw~6>` z#gTHQR4y2Pv=Or9qCI0F^C0OH3~>>kXDF6s#4tremLH+7nANq2@9>;oSs%4dI`gGG zgK`lOMszWMs25+8lelC>oEXlJn}}qNRW?J*GO$GqB}H+FEBV$LUmNqqT zuu?K`iIl-4O7*GrhS$|;afjTFy_aT5(dnaL5sG#-nY2+Dw(`W}1V%$| z)f-C=QOuIqNve@*TY4*8Dm%QXax0mUDJ5|#DP4%*LlR^!E7yW&eARKwt54cvUV8T3 z7hRvQ?JMf)DL4ii0p^mf0+SZOI?6ONr@&w#1=zZbf(6X+mAT9JLs@udXZDK=$Kt`; zRu4E)m?tvPO%Di8oPJgDdxU{DtD77Y(_AqMhG_9o;~A&&MjujYte~k|qr>?i+NQcg z9#JDr4|8NeP-%o*t)`$MUU4H~4T`8iS zSWsOZMMSHhHIA+$QmZO5ku+eh1XEe$i9HiX%%!l4mS-X{{31C#4^|*`K#VFD;wyZD z7=F9YF?&d_X2u+X4(lCodjF^AaF7XxG`W`^KGK?=j)+jZyZ!576O>VIv!8tD%1;oY zSxD2u-{DqOY1_bTQ>oUBzRyY-IwhlLG04yWmdXtr|1;yMeZn^Ao^k7*bC{2bPLk<3 z)b?CtEv{Rxxs8F&nwswAS9WnUcc`&^gk>$axy8YHWS*_CPBjnI{S#|YIMRT#9Jx{sr5t^#y5|sAXS6~0 z{M%wE)|Kza?#JQz=h{Pm|9k{=aDT2J6x^ln*S`Ccz}xPdM)#NX<>i~F!MpO;X>^Yc z-d;M2n@&xAE3cKc&3%xd|NVvg6F{!^rrY^HGWq|3K>YWHo&RR>{+|!m1OIN!e4B#L z&pUtjEw+6=Z=q`t^$lj|)f|T94tfzD)nbgR#Qf?+TuLR}Iw*F$Tz8trdMXbKDvP5k z#edU60yS=ZYK~s@Cwp~ANVCRKuh7q$X;n0EZ%Z>1G9yIfpi&tAVKC*2f7ibcZp%Z4 zVacIJ85Ip|nw?dKD(p?Nr>U5%Ic2cMr?JMRw<4ssCn!I|t-(tht+a_{Glw};5fp?; z-N(Zjl@7zgMJY2J~ znK*b>wR97+<1n(*&=R$ibTu`UR#gC-x~eLw2`Tnb3gL5NA)`V4zXMSEdMvFRvNX{~ zHLO~lFl1>=!oMY{1z=xI58jqpev82u*)M`wVFz0(BQ_Ku_M;`WrB`c17c)>N)gaT4 zG@ka14;|dzoOnz-_F}lrlLfmnLowFc1F!A5BRDR^#rQ;Y9I89&9Bdv~T-Z64@^e;G zl2phko^D(utWPChi73$wEGlG{=7-#rEd({CH90#wyL6PA<}r0L(G)Oow{uZewHK9@ z({$7mR}s?-uqvnGV_@S@Az{+?7k`T%yB?TXXI3d;9rrU1VLw{~q zseP5~aG?ErJ7&v*0$F?Lm+4-YQ>}hFm1P1_<1d(V6p!gK6g=zakU1NWAvC2Ov?iw% zDMT8lV#J@f&)CR^X`^^HF>kQcD%=1|UAJ7NiYjoy8BO7Xy#B5?21s7^>O|`6(#4Pp`Z-o7uV9wKX(qGNuswP{kd` z{UikAVUXF+Ed;39aBFF2kZ9^+7ypSi2L%W%x_F>qBuF?QJw1HCHVaWDRXKE>q!tC& z^4+|7A*YGKJf^-CpuPzt&wH_>6NeW~3H@;r&v?tP7)oL|DCPp0s$G(lIy|g~$r+1y zp}W>VcmMcQQVf8GZ}m%ZDiueSe_-u`jT z?=DYaVD|_CZtCHqgd1Ipp5MpPTkgjTs7=vl=3rYpz~z73LH|Fn=P&kp9<(nk2zL7B zt+53JG%gVe=uu?SA!%2{Y}zAqs8a&xV@@oxiKmW23>$ku z1M+noyiPX-o)FGNxX!7SPcnti94<|<$o992d(%Rs@b50-g*M{n61aMrQ2KErS(XvL zZIhS_BXdv9l^OAzr+OGr^`K6?Q49Ks8FNu;jCC9oJG#YpS2Y7mx$V&+*D!8*9ut4X zYBOTHZe4d0`C2rbI`cnTe=;_+J6^_!rnlSpoL#H!t2&JS&=d-Aadp`T)8 z{e!72@^m;$rQ)xjr$&$;CZ!}v2|ZM7S&-Ogf)E~(T1V zt;gwk%`V_4{SQ5Pj*2(;Das|apPx9oF~+#)@g08uAz42-jSy|rZphjD!5)4#Nj&L} z5EF2V3_oBRaON^Qbf5G$@E)w^p())gdUdhN(^U`h0lYleY}aw^TFS^a%3r&^qKvJ% zsm0I9ZnD!tzjMpx?~HIzwqoRFZoc;qS6m}y@mD4BbqQ&yXzYAGg}M}XGDOrS3cC%)-mgz~viI^zGCM@)!vIQ=K&T;?T zmy3q2pQY3g^$HauusSJk2KXLUg^`PjfdsS>4`l>3i(CNg3-IHp0q3h7bBm@r!E zvWv^{%F)>A*$6lYAi3!_Vg9rav5Ukd2ML5jHZo82OD@iS7U6Mr4th>HCii5RUddqf z6G~eQ{N@{k0D;QS4)qnnG0SB`Jh09PwTXR9U7A}k_Z zLD)Ip#4L%IG-Al%9OS6OYf6G~`{&OhLzc~Jx_vEvmKHW^P|A>Y_wc{*E$@5!8-n>x zh51g0#g&SWV2Syas*!0HBx$3U*hMfSnm1*v4=tP1@#F>5zlBQ*Wqw*aekhAR+9t;5uH7uekxFR>S->3Z|)UA{8kexrJ-$vyJ_ zNV%C$MKJJhy!~)@_kZ8@KDU>DZ;V(~6#RVHa^LoMyjsun|7ibuQ-lNh&>j`)e6!Cw zo}QFtd27OOHk;R2`q}+-)I|h@*68!MxS9Re8ULSM_uq4;>3?02|1Bf>AFdA#RK)Ow za!Pr6^XV@L{5W>UvbS6K87(%+LHWl8%OHKKi`CepiT~K#WYW*>!`fuuROjJH=(Osz zXFU3P(`5q~?#j)0FXDRi^7!{9&j^=MWPiAj*Qj&)*{eM-&yNjEmJVUzbT8^O z9rDog@ImX49cS=xXrmzM@7_Y^*`M3TgrmB#sq(Yx@U@)s*Uz>!;AzEW-9aa*V;-tv zzqd&ChmsN$TK^5@E4-BpL%@g-v{-Pd#v%fp+(lROvU?@tn@F{njG{dtn6229E$NU` zEr~4&YY{7n4U_GDq3NMzp=D8xGf92vScCJB-3{FpK@Ca4rSYlxAT?>II1P*x_0Xt} zM(+=w8Y3KnxfGct2L?Uy9>C*^>?@C^s$G%MK+2Fo^0^A?rMf)s-03-E&6|G227?&6 zxgxM?#84J&g%8@?XwzbL+eZ8!1C$>c zsiF#gO0TkJhX%?wACrT&zgb-s`Lcy*ysCwfs%Ur(^H@h%3_2Xu>3F5*4*=M)0x1P` z80wtk(m{{#_#8R=j6f7*oVYAB4Nbc-dgip-y(kJ_6>TwHYah81=5`j|BFfB;G^ven z5<5zzX0)_p<55-NYms&h3KW3M-DIgy0#gp8=}8wEeEm&4 zTs{d)TYX-8WqxsGK@)pNt6XXtL(0i2Hu-G&@dy6=hX6vX1vVjNT25&?vb#UFNYu4z zzOpt8t1_OFiZ(a1>&?`K^D!2MLE8qUjp?i*Pti6_3#fba)l&pmuaqz@(HlN-N560GuLx74p@%=Aw~QRmDp*D z`xrkXq^IN?@*jBtush1*>W= zoJr{O%scqrt|fcUvdp2Hq?mbskMzu4U+q5_gzF&B{||6eBjM3jB@_(GT~>IsGF-x0 zu_3iYV!MI3ZxTCX%l27^{1Q(DX0I_!U7?m(P@~7tWyesb$C9f#Xnfn@mfOPB7T~A4 zo}j|QzCvV-q8PZ@c<={hfiaj^TiddP$vIDtVS#!eZI2a{aKsUlG0N#R+( z)bo4Yd&vx?3OGecBMkWU-{%t(tVHskf36w7l}Hj36X$IcF!6utc-)=L`13mW-ya;m z8Tj(K+s!krn`sle5&dktqFeA;Sa)g4cW){vY$@o~Ulo|;bg<`rbCNyLCNY!DZM1Lt z+v0i|mHMzC8_B*a@+d7fQ?8WT(3=CC`3IXJ3T09{esqC6rT*;o_KYI3P}xAail&J= zsyJ9%Hh-w1c_FzS`mfzSz|LgR&IC|p!hT^gb$Mf4s#Btzu!?{*?Yspf%t!8)V$qK4 zF}`sib7D$XG%gJzxTw-;shQl)I`3H0tu3dJCqvG1L^jHibTo_u}Ez_3$^|; z#ZXYpRy2+!-?u2TP=VcvPQ*lcoxSTN&(c*|=xebDc8n$z87?f_*F&y<4MuAkgUccc zCXW_$L=^xZl}CH zCfV18=Zy~5Cw0FwwSXTBC&$@k+NymSf7~VR~FZ7qs_QY5-{%J}ArU|zT+VTd=Tzq3l9vWuQ`iQfn)p|gsiURVR;XO*m3GLlh7CybSD6G$<{ zJueHt7T(S~B0DOh7Z=;)j7)8F*ectVmGw+&GXdtFITY+9(PBnW9svsP-PnVsq1<4@x*UynkdY_ouC6a#O}&`*FpBuzqH$* zJUpFC==+r^7;tlhWbz⁡JGQ{pZQ+PX2X@^3Ol-vY;0X49tl;v|Q|$#OM2E-*QcE zx5wl4tfGcs*QTdqv$gYBeb-KB^UB?5-$)g3l)&QnSKV03K5jGT7WOhe+pv8yUUg&h zR=RaJ%VH--h6X?m6JA8>#2MMZ-xMb67g@d4EbPrG_e=1aadz>XX(h9E_G`VhYq_45 zu_|^ITs9!TN(pN@1D~MS^#em*G+AC0<5F01UP=B<%FIMV+EuS!E~KxZXC}`u4ht8$ z#1RJU8wI%l9e*_OxKT2X?7GEK2_t<~SGT6~YI$Q}q0vt+U%bNAu$X zN8@UxwQSbI(N^zT+u+uwtaIpc%g+q~O|8tT%9iq`7pwY4O-E8%h8*NcII|FFiT)2& zVlHsjisn2=helsF2J^0J+A%~p(@M#zjlkkC9CP692fhh&Cz;D2j z;0adIW6R#V#vVwo8B|)2U}$}mo@KGJNss$_7=eNQ7E0L6C`jL?=4kZ`ZE}Ap)XikZ z^RmUL=489(CB4)0c6M$TCgwJt&RX^kKTn&FwW-(1&6q0T{vvsHv+>+|Gla5)HI@PP z@`O1xz2x@x*{wO%^{rz%>haOBT`AKfHfrUR{s}}`AH)E}jISvrsw%g3l zP!Qu_019um*Aqq!mZLsnhw-~7~xCg|&qGHDmoQ^)p3sOMzh7g+$(`J+E;IW?`V$8E+Q%*7Ri>vfZrb*rbA%<77n z<3V0W1vj5$phpEwF#}E|%wzc7muixM5Lj;6!uZBfeO*EkNF|xyjy(6LgG29$?I|4! zJDBTJ0ca&Q7g2L+D@c&{Dvx?t;x8q_@(6p~?Gz%x6Q&PMu}NoNkT-h;i;Y@Xz+bP{ zFN~dm=)m%(;Oxo#SM4UM93d1XCa`bfS!5##BaOkYGC^$xwT*Ip2L+0H9#2*CSMRC& zSMR&`I{rLQrGio~O`#P)NqcWdrax$D++Vg8gX6?yK94~(fw^NKqC|rjEU;tsr=i8jsY{|kSKWIrr&WEf{T{# z7wXVx)VzB7IutGkN62~xowm5Kc1l`my4KtRUuPG0=hB)$z8s4(Sg`)_$`)mr-?3Jn zAxelgRe~C3^25SHEJzdw;D1bKQ$^+vClsuRk;W=0B8SzBaeL)2jG+OPA?=K3P0Kwy z>~}Axo|^(*5$&dYv=6u#O_+=QN-dw7cULuv6@gTK&*`75;1}mLi;4pDZ!i5J7J~Sn zJXD`cUjv!6Yv;?;IsC7?!;1c|H+$ohL5zMCUiad&{fb4gf^r?5v<^rKO`9Up?#jzs z1JjB`pFvkKlK(+65SaaoXZGZVUJ#%hdsNU13=Hgb^V|G>clNTqKF9NsYmj8F;PcIS zl{fT7Y6?4TV$8>2xFQ3?My3{UZjQa0u}Yyf=Hzea#nMOf+~(4!jdRBpQOsX@4aJ8c ztNNf(Dg(9=tfN?p5LQUtIyP2=s`(@}>?#IP&*uX9Z*E&!JaZ9iBY-EP0vES3lea><{bG^;L$7Np zy=^Pf8~)1Q;UNggo)BLjKlg9L8akYr(@#HRk&0gfCPHZ^&MrjL3qo-?;(yV}s;F@) zapF8VEOQ83g%Gt312H{?;Wv7?-DdDPJz|LXrs4H>AQ>fsQXsC)NW8>h3?iTy@qGnZ zPnJ(n8vBB(VNvj4(=HCKtHdU>>Acu50omv}rS224JRBXxm5_b$bTP8Iv&yP%YdRf* zC+!?eE;g@o*;TTf?#(q9a+lT3^wSG;4>~CsG%dVYsc$q-+G8!*Q_1Z|Z9`jaz`E6& zoAl35BlmEv1W=5Qtk?iKNxd_bjC|HcQsxDXOhz)ychwi71Lw=JRbH+5t^z~)C4&H% zCW*kYAHM9G2Ht8tT;tv$o?cNt)(LLrG0uMR=WP>r`UlUG%;1>Z0kpFLn@K{nP^My{ zNtRL6d~<<_VMzQjj}JzMC^vlSAzUP~ec}7cT&5Civ=qz?{M~sorn4*f84(qHh1|=Q z%IjGbERr!Q^rQ617SyKV6xmfJ6ISjEr;}!F!7rn5o)J@V)N!C7pU+aMnI~+rgpwJi zIlxR6^0Fjxeb9CUk8f5?Co&qI1-piv8x3!LqMfFP%t)P7E}C)xp$i!Ww|Y@L-rAUL zka@T~dR4)IRd80IWf=0V@PnY}JyLXd7{H9T{p_ixih&^zy)b@~FDL{!{i3<%?@H#$7` z{3a#lk2X zzB@7Lv)l*cC%KbQC`H37<@pxH!Nc}itb8N9H}r>sm=c$S4Zr82VT=jiM|}@dDxuR? z)mi0VbA8$C>=+^yc>Oq>y{5BnuO8rF;&0>c^6r|R%Mh7_|BeosWef!sJ~M#t2b@>q zU1M)#TjgCXrA>@v(Ny+9k3jey`|Af&oKUMEAL;MpUy4*=328sX72Hg{BTTE?AC4Xm zs$LHJq2AgPSP8S6;?6eI?Yq+nC%YA5LoATkYPwYfJ|;e|_j4=+x85J@D!U&9(_v#l zNf(jFNdBKky+M`RK5ftMM%$6OS+PVXg#HZvZr#^gMsp)%b&aWs3mLQZi%zl{o(w56l_fTA+|NHm@2sRsuHrt6dd%j-OKMk&1TxlTx`R7ydf3LBb zuNNfwKag?-KKDXv)GrCt?c@L#Q%xHygus^O_gULzqfF01U7(JRYgf&S!ykKpps(E; zKfm>*?O0VK)BGN>7+FMM^j@5aYGRR7Tc6=v^4h)GcTvx#(N~I~CT$J188UIH&yY*F$4n#W^~9FQMjVB}rS^m=|#)1W>6Re#Yjut|o3S z^)@aACce&YUxv7dENCB zW3`gp(T#xpu#FGUH{W0K`2AqnCxPI{PvJvB@#jazT2}V*DTkul+SBG(6RLuwxo(F9 z=YoFS!d2(Sx`S`o$B}7&uhODKsQE_nk~IovG8ubD{kqH|KgQZ8Zhzc5`{sHJAA36+ zYX@ITU4xsWy{lJySJPnLJS-W`t_qHH#<*;}MNtxldGuHV!>H=jNHFK^3T=9Pwn!Q? zi&}I@N=Ojh?v{3x0U`?DB=n@C?=W=^+Jf`^pS!ya_;H_U@t9-2dHZm@PE3LYX;>bT?6NWh`nMa>oH z#!ubyPgBL*nNK!#Lmm?|{}0yg8PiIKmc=Lq?hIV`NGDBCEw;9Ze#L%hW$>wZq2Upu zxJIt(Vy*^h8*KWWv~c~t#M0Gol$M&dKTBHMRaUK-9>z7b17mmkw7hz#Ne4njg^DF8 zlPl!(rk2v1^OLKq(~lw^6HJqTW#I-WlE$+@FlY27G?zrvVl8tH>)^uOMH<7_A-MgF z>CE5Un6q|YcOB$Tkb}xb!wkH>hr8iAbpI|)0n6eXh0z=XbPH!g!9R1|y1UmI-u68{ z=(x)9IYt6acCl9LP6tBr`Cv}Sa=~lZ%`y3K0AH_MnID1JecnyS>lytGFMm2 z42&ypp;2oQrX_59bgOS_jorEU(RIeF@?1XDbAqf3!`PSWQwZ1*Q1Zh87QbuLu}9E3 zU9xcahG4LLS^2%9l=&%F1?Jy(s0lr?(B{NpUH150!<<)@kf7}_~8mQab2iW?xCpSgyqr5qxn zETBAvi=fLGlTrN{^SeJk(F(-_E+jL9m>K6>((C9u=6b2DEN<{DF0Q(aJpDK`yAJKT zHGY*sVx_LtJT;xC))-lQnu3|pj3x{M4t~gYF)@fdtAK-6C1n8-B~)SeI&tubzK6>p zT2&o)tk=hL*E^PZl@vQYpqJ{?{rMcF0j6MkjrV8r*+YxCVt1L(v(@xn?$1xJe6NSs zhj9bJ&(+ywzjFN(&eQ8r}B2w-Tqq%7E**@ zS8_`ysY6Tz89_pGRgOK8-`D$LWVbG?|Jwo4WW)Lu2xMzE->;_F|I6Ef-k%jb?N);A zu7d3WUw2jS-8=S|YH*+hm*|^Z?7v9a&1>lO&iRmP^7ccryYp$$0vuY_mG`bWveK@l z`M7)I>fLzjR=VXu-(c}!_mUR=&U?LjH=q+&vR=PGStbn3jSFKK-3hh0{6)KJ_K1mB zw|LQ&JXt|iJi2Yps;*-qh9|L0-R1*y^f-vIHkXkA@~u~x+gUZ0G|Ct#Tevl=b36bz z5Z7>_X){7Es(zSVDg^Z>r%?+V?HZ=}8(w>Uhb~vS9v^2t-&o_b^KvPvZLT?;ds|-G z-X`?*mvO9&XibeiiILDuzbWP}R#@I!dwtMZ*5EwG)EHvW*WTV-Ps`4=w62P;R7I~? z(bh1x4|OWo*0q{83YXq(^Y{~qDj+0DKVu|&A1CfL0!Hr=1D8?w$-`eSEc+gJXnF0# z=0lF#gd3zAE>0JYJYE2@G&_+KHsQwVhl?`8_hS{_!0XoYD-?msCF6}yB-%_ z?7`SjRIv%ps;lkH(CBiwii!fh4441*&1`H;%=HzILqBbGd*2NWRz(|?vU2iL(y;TZ zB#G=w??ImZ?ff2XEuGt>lh&9$m^qQxOfIhFxnj&RhWeeO&_~`%rh^F ztGX7QE1UE-;i|GSQX{7UlGo%?Fsv(~s4gMse+MZcON$29n_`03?q6H4MHq?Vm)Dhn zTO#Tnen$GTZO$OK`hkhlhfe|cRwM$S1j6Hi(Wy9hNz9|H`%j;@`JhZ9q6ypYD|m~Z z5_PRq)anf3OH=?v`FY;dr53Ex(5hl`YIKI21S%O8E!Al9@(BEJJ^)3mtW-YJDl+o( zJ<-;S;xX8JFUlW?^nw9pTDdUjpbvguzL;EY*W16!l-picRV}ey1PFH)gJLJqjvO|| zjmS8G*IZaWk4ayiHA+MXC^=cZe`;m1%&StHb$MxHQc?mva3F_5vU%!ki`kCI>CVWBTqiMkut2emLd)LjIFd&llNz^!exO{2y(8ryc$*tQzmb{pH) zioKG?wpXkb+qQMG-{-u~*&omS7w$2xG3TYpZxkSp;=4ZZ+!1-j7jh#Ye<>h-$s>Nr z8`I^0cHoHRPShK~I;%+oB_;M;Ss!JA2Nlu{^+?LEM8MA{L7zksIlKK-!;cpI%TRPm zYm1(Qhf>ADs`6xQF>U!cOS9$>uTEu@O^+f{n&T3fs z2TfRXhjddFk2C-Rt|v!ihS5R!X8@^a6y~J0yh&^dPScBqU^}b7Z@c-da#K02&WKKX zmFMlJgP$o9z(3XbD1P_cmS2Jl@_(Qp1;{B9wO_~uX^utA1bKs^trp< zn;w!7db>R8IB7!0w$nX&K9qkeV5$K4syrRSpX|Ie9w46r*5-k>#jR8-wQa0?jozJ4 zPcH{d@6#ni*ap5g9xpRHG8*q~&WQh)*87w!y2@khmSgSKV(m6ReCR%y9y9rpAwCyj zi7&HcC@3gX7f5MDAHX*^H~-zkn+xJMkAq0$p{g?srdXbPtY^VR`xlFb{heu$PJ!u5 z!91NvG`cUIhNn+_RB{du#b(VmR884cSxYTJw6>bARV_G)_t>T?1oVs*+BUAVVC2rR zVwE9Nkr_c~=PL#*uGiK$r!BJ*l(zT2kx>ip`|Z54+L0Xnt#RWO zjTR5^cQ6#{FTZ2FVoqEV{oY<_;vHvjL6MV#tIbnj2Uuq|q{8+pvE#~U*w&}0rj}HMDN&dhmoa>a zMC%n0qM6&1VzEi_oQZXmD<-~4%H|P{UrT`AO8=+*=_-197?H?I?vJ)78!xFk8uREh zsto--DVbq>dR^}VFw%x^q`^C3Ft9R(u7x2KN-p%tRioDC#qv12dCXGSrr<|`njzq< zdijv^JZZQ%GJnm<(!9vnu+XMW#c_#posAicIoHAuvQR(G<*!rF;Iui*sB}f-9<$vO zV{~o=E-D+Wtj_Xra&^^qaCET>aW9+JU=>T@5`3kMz{SE8F)JLP#4o~~_Z+E;f^-*G zRuT4U<7`^UTGsu^WNO6V(fm!~G?!|e!c4Zr{N9ujQTh?RY`2Vk%mvy{NqTh{ZbLT2 z?)uj<={GgSxbNQ@#Y3!Ea{1Gm=x=Sr|7kEH6n3Mk<#XHS%#{w$(j_>t1|`hhzP1xI z@G6+ACMDsYF&di!S2a_BGbUL3`&QR3>T)#|i*u^w_ROW(!O-UNo_gwzdQS0?_$3j& z{Xsn~u+-S--2>hZ;r;nzrzz!G;PxymBz+`-2|?Eo_y<&{<^fQCRYvc9R+KihHkMa} z-#z!zN^GnY2VDjgboE->-IK<{0@B0aLW#NhbK7%ya!6%iJNw`K9}DLecz_Je41KLr zw>DKr#~^B~uj5;&L8M+*$`SlBD#e^Sn3!PQJZjMB!=tCcB%5Cz2{l9xC?r=&P}r|i z_-p51;m*H**WcgGCjdg8_et)#R0xFq+lG$;4%DER$_MYEi7xNnn;_!F$dTCkzH%!l>&0eXPK z&8xhkPmI_zLFA>7_@xlhmOFp%Lus9;fl#Xf4p$m!5S0lF+&HV8Rwp>C09-;BDLS$p zMqN&Qzw+o<0i<;Lt+LMJ+Y$w+P+3j$I|sd zj9ksi;G%Y;yGVaH%eLhnYJC=YaT_bN@cR1qeG7Xh zw(H|?V3zp93HW^0d-w5p7g?>}>2d#fg-zVm#lh9itK{ywaJNJ_)c2B7Vvxe$YVY}| zwNwxb421!uj6lx*wsNxQ`UIl?H2=Vp*zPE<^&jU0cvrRyvCmsI( zgLE(dEomV63AFk<=YAZ|M`BL`PW?Ozd>sGz_?F*;VqU;rJ1~*Sp(?F+@d;%U*LLoI z)d&HJ-C+k}|8RTR9b=?PxbWDE_MU6YjdX0a8ro_*2j*AxHoyieb7wB@Jjc9rx`cZT zXZsmuB4XL=>N=+u^i@`@Jb3k{^11wzD?8fc8>09^>=ji;N~b* z(nJinJBjU0)F{}_G&-eXu*;&kd&ywcxci3Q6oFg6ZoSfd!{Vr?l7^|$3Qd?7V-K|= zSj&58kV${N&Cl82(KWxJP24uYY*b9z)<{fEej{#REpHNB;&fy5Pb=z@ReYBkhHDZ* zC--M+X`CsqN%~hU!;s2F9I`$uU&WwI$N-* zWlwbUC#|`@T(-|nTl;c5TLLH1$OKJ-F6+ zLq?rxYjHh$+4VY$d$p$z-Q3;h>p4^T2%(l&AK4khqko}`z*ahxhhb$iMkP}?%@`Xw zp|Or)lw)O@wu?>c4A%9djE42AJN3eDG{>oPX4yJoA8W(Gg*qj|I3KOGOrw`4MWfw| zb9zN1+eN`r!$M((ij)rvA3JQwrU9UFHU9?Bp-;<=l{%5=B+`OSWjH+ZZ5*S>NjMZz z)W|25X>VL8feqT`zzK~LlVDHf7F8u}i<8D=#HC#UuNt;cplni->Cy|mX~*^JAWnRU zXqXs!Fl0(vNX&pIYqy~#M96g9O1b-(wWwRU|8Y7S|AjFIHK_`LHG_&PE(2N1s*&!` zZ7qcyE`C&dhs*=cgX)bA$Gh|F_r3X?;HSP!Z$2HBWOY;VD$O_sIX0}+26tDv7zSWW z6K6V`GAUX9&zv9r1|~R3^3f@#rF5Xxv(NPPnN>15!j^x}&<^rNw$I7#lKZ4S_t}{< z2{khc#NQwi5kpuMoPB&0kDis2_6Hth09$7dQD@JAe2)La8M?pE#jVakdraVO{Q!@M zwrN)OL#y%y3-&7;5;Wn@M$hZ-hC#n~95A4Q&y19_;~!b6=O7=ZbH8Pa4pYOh58i)T zPh@L5%vw6_!9!`eQu>!TRKJ6c_#|&m@}4=-1!UsP>x4@ZzfF=uKJAePCTj|5rAhD~ z3Pdab{vE9Mcz0rNIcFXE2jDo6f-X#wK5&hG|Db~;Mm{JpoM9tVZEcR=wKeU?YnRqL zQ*K}{i@XaUSCVXv%F#)vpjE+GVb>Bn)i!~F{NaZFquz8NlGx=6+foc>3Ji3CM2}qX$V?3EDfuIS;} zH_5qJRN1EbIyT)NC^US6r{MGI<6Gz;lilHgx>NmHZ$M5|e*E@T-_wu+(TCgG3(Ug- z3~>{aK!@W?7vJWWPle z?02_xx~0Bz-)`ud?_*!~em{_~wsd;Lcys%6_O`U5ZDgOGX^Iw&mCYm~pVT6w=b>mA6?K9zQ#0A#t~5h0ov*pJt(Av^dD#M} zTo#R1#3H9bL5Hsl;$uyRhARu3P>zIhO(+!mZmk9jpbBM-6VW)#v!=h~Wip9|(cTKK z>i?M%eA(c!D~@KxhvcjDXFYt#hDw>!DA=0+&P=vXf94i(?H%T>N$BL`c6145gVFz` z@A*N<=9AV1BMY7TJnWov37z|1^?`>r81&!kov$Mr9T}?&)%0054_nyJmaQkX=p_kh zr7deQ5nC#n+9K{xvm&1y+pL!C($AE4Hk0$NDiUY8_OYrb7>Q-Mz2wR$rulhNlX}cd z`kmO&v@9JFYW^e-n+{Dc*Zx&gFw=2^)QhS(|;V=X% ziiM{~Flb9z>L;i*g~7u$2e)!}@bS$u8e1wS>S^DJiYzzBa1w<6OK2xYi4)`>lY&#< z@uk2iO%6H3%pJ;SN%WDH(5+-+Xew8=>h-m^7avcpbyQWO}a_fqRowN#hC7P`uu=K3aDC zuzwZgFDB57sNFrT7EYA*?re2_UH9kpJ1s0Jp@Q8-4h}$(WQKqe&h2(Ep=PItMYw`T zYTfkSsvin}kngwy*L*yeJiI%+j`4l%F-MiWaM1md9V{DvIa4^z@?BI~mOCXfCai}Q zovhzeH<@BhlZox#j8e5mq)xc=3B~>!3x3)!@L}D`k;*go_)0}Bcp>)OE_2C)b>#gChY17@ z38((7prJqll>U%JWiqzg*Hcn)ZBkl^LFSbGW;_O85k!&CZn|}+5(YIAF)23Egd!Uy zXeM3;UO^#_aYfCo#+WG1Mh@$88>#1n`he~BnV9|Jf#jpL0U+HCTN_*7i3+;R&Ns5` zWXu7vYa1d2qq^UYR!PHAkyV(r zFZ0KDFutVwC-$9hPg|1;00GbE+p9#XSRx^>+rFj^AD;*C9&q4E_(8M6F<-7zuq(K{3y-wzr6x1 zNNg_sx8@|dXruE3`Ry!6`sEr$nHj(ZIbL~uRQf_rouZ^-D$vaDOvy0&$tgO2XmfSR0D zq@I?I3YG?uZ_&(}&Jz1?YobyM-1;UYObxCPIa6GyrF;y#99H0J6)u3V_3bJ zN|sk(hvNCf1YZ20%g~QX*vfEv>XDR2tAtS-~A4Fbg0SC^L~km>HOpR zI?_OY-T!U-{e%nP^EO&R9P9PAeKHhVCG==!aw2W&YtUFxU1;xFe761XEP}&be!Ofl z)m0tL7?oI*^;U-EN3?8!dc+`ku_)+k5DJku67_xow zkZm!}L+y+D&06#}1dUn_wk>U{^q!FwJryI9j*=cl6>Yv6+-5L&Y%_CnjHu;48A8$@ zS%@Co$;|PR%3?9wut)T(BR!gBGt>0ZQu^c(_V1Q0BQ&)xmcn+8zZmKGpRxBw5S@IZ z*Ew}9b^jGJR+P?KZt7F!iKS^*4?E+)(+`Yz9_?!ClA~iu!Hp*=X5Wv^TsQyv7MvEr zCmw>j#}iDbSKf&>o||SKjv$8!D<>L4!GbRBlEK-O4`goQQQwZ5uiw8|)olCNOspBG znJGR#mCmf~H1sgFHMKT$$sMzj+Jm>`cXTo=k})^|FUvw{TY6!o5=Tad!CoTr-YHzX z&4z#RM@dgq%`LON7-6LU41Ryj{bOvdU;qpEB@ZR;@{*b0Ye>(p_(QG}V;oX;dU_n_ ztM9i0&hNX#>(3=0CxG`^!1`N3$ptRjcY<+=nWH#KBiIZSi0{a^h;1k+=g8*2HI2-2 zD5uZIh;jbiBH$l;-6)R{*ehLn;*KrgVa|w4$UAqVyL@a>Ul>LVG2is!3|R+Ua1A07 zn8C0o`U1Diokd~?p0XtGg~+~oV*hx9?-M{1QDF7ih`#jUd+qi1*w{gRA1Z*5Pxz*w z5-5Q4Lr5K#9vU?nBUy2Hc4@#$fJqH9nH(MCxDc<&)5*`ltV2#_{Sq zPU{bXzMiXVv?3%u&qQEB30SR~kpUYUcbj$o`w=){b^p9-uLW3flDMK0Xiaw02A>GO z17c*RkCBsgb92*_j=H*fm1KoOBl<%1BGLc1S!+rakrgaW z(kfP#sJ=2^G`&K%umKQipYL?HczX1`*u<+v`0qz+qhlu5$xijR-MWKGKd;-_o}ngQ zce7~gzHk|V)3T7^o``1DCZqN?pTf4hu32@1f`%mOsA8XNB~uzMb@j}OlTqtTI{X!a zaY7{bijJ!J^K&=$I}I-6mSu^PHY)43L4xrP(<=4PWjb$0PkTjQdA6`-IhkTlEJWEi zefIdckqcSPJ!T~XMq2kQQwbW!rB z4S8?Vwjm!W$j#=uamrDP*I&l}X13VAGu!WRcJO9MLtminW;8O^-}CC|1RK!d^?o#Z z0O<63U#h@JF9c-(R6Ewo{eznt=xKPpdg8#o1zF2Qh`pSfgY0fjQa%mL)20<8Pxk~6ut0d z%@e0%EE3mFO0OxJoP;Ika@4l!>I*B!+CVkLL5K!XdekDR0WB!jA}Pa4)};Dms}O0{ zlH{5j)@vU$FJ{WZ6sdBlQD76z8D=nVHb_%dSDl&(EgXGXTTRwFu@NXTy~+^Dl%GTX z9I%ZWfBjlWo83A|YM*+*C7IN~vwTb{7cG3w+@Cq~2pyk4GR3>$eA8C}@bRfA7}C?E zR{&QOHo`4zF7{u)?rYl{v?-AmPidl>7(%ddsH8EBs_vDJLE$B;0wc_wSxN*p_|ARb zWvSUQ6v!Qo6@$XM<9>F<{RYH+Rv!=q^mH@ha8nY*40gv`;GlgM`|(3klp2Bv0r3j) zn#Xm2v1Z3!?~(^S2IgS@(#6WK9R(ltI|RwAZ?2#qb2W<1kDPGnk?=A{>p@CdH!i)v zZ?w^W$A`PU`g{2?xfR*qdAmhq2mcK5{3T=GFbp|B8MRK@5g5F)EArAno1ob$nF*Yb z3S=?~_1OE>QM+Z1E~4NR5To>ojkmnV*s*6cw5iTn;nD{8q)0>*w-P`++Oc%_c=m_gkQ*-M`feSRm4%o5v zNzv>&UfH0O+9*6ZmxhRS3&SW5c;p4Aiw)I}%bNQw^VU$naaTJe(v43j~7QxM^{bgPcIw3EzS?QR_3H$t%6poM4UDxh)Ym`4Nu?X8ao?nDK(^$ z8%q0=3Z~2H_b9!iTUx8e=1uI69U5I1*c&uB>eV=1)Hv_w>k-($#px>f9&E-6+rY7$~Qzg-uafn`IxrCe&f5p>e{ZJEXDgXYzY zWB!fj%ZKA9wV8w3XOV#*Ta9beZ>AbVjp@;gAYq#W61N)^@0PGPg55?077|KV^WCOY zb|m*|y-uGa@Y>NGaDAW*d?z@o&0|kO#3ds1O;E)<7Z1zMrf~^lBx4yQ6T4kK&>0@cn5hSwo?^%g1Zy zDG^_RNdM(2wC|#;^LjjR)WFyAsRAZ+!_Rjo^x{I$>v4LP%7EYdek~F^R{s+oPmfZC zeA;|HiYnSR<~WrF>e)_~?MC!KQh39WZn!tkCsuADRVEJ)96_)xFuf^B-Z7oX62wF&Ay^5!J1Y}cn7ta&l9rTjuK?y{Ne3x~Aj)`|>o z+C48zOT)L@I9{i?6r3Wtq!cZTedSae05P=T*&m#KeTY0Z?X zSF&ery1Snkv$K&$cvyC#FhOHshy4!U zyNx0XEkxE(I(F!w)7DB0510581u&~`z9H!UE`U6lnA2(Q`^Nw6?b{DUSY86G7{tEq z_0t$?m&NLyc*(`;Suz}4tcX9*B7q$~{QQhrNRXZq@u*^O@k#*du)!aSemTNK<`5I! z!5*ZrdDBpG3>ODDq=5JYaeiKY*KG7$2`VF9MjYiMO=pJih* z$hEeXXGP4AC&nad3`>peQeub=VZw*ws!}6k>m_9zuoh~B8Ovg%1s!G%hr4s1&dQ+k z$*hD%vSFLUqztw~ukf|$K#PY+P?ijp6hA{lTb&%=LK}N|iMzNUWXp$#_2$-WPB{qK zpL)XfWo95mOd!iJ2M^5+PQAdpWM-=nudVv|?+gNakk2{%?rZKsCuMT{%lw~nAFq6G z3MLVS{0kp#G#t1?aH|72sYR@lHB%$BtBn^<($s=AbvT=Ku{2d6i5wERhR_8&v>$h< zS^+}y?~n2OnS2?1*q;{~(fFQsWO$XW2Bim^B&z*g-i{K7y4oSIhCV*@eeV8as`-Xb z{;3cD&zti9Ey1-b(X`iP?eaRl@mz-S<;$bNxBqg|xZkIm6B7$~U*9QgOsut-=pIRB zIUASIUKU^~eZvfYlQ*>wEbCJPn=Ghl?m`#L*i5Hr;Lurt%JKDpZ{xl@h{WV)mXjS1WA z|7xlgaW~0p)7sRdF%cl-NEAOy8ssX6%IxGmE@gsa9eX-uTTMro zrA=#7$>g3(89XM-HoK2993>}`lzA{}aGE3q?neJ$EHkSKu0%8y^11Ryh zj%D{wL;d|TTLa$22Kea~EGedJGq_WWrI3MxV7BJQF84i_{_ zJMY@^nzE&eX`xD4eH==2iNw?sx*t)lB!otain0!08>_|^HCe*HPT@{}Uf1j9(4pWz zKZTefgMJA!Zy9PrK*;i@4RwktLE z0}5p^R1%3y36+Go`bLl{2H<uOdgl2;LU~eU)DtZapqyZ2ym#TZ`QyYme{=* zy8CYW5_t3%o76XEr~OkmCM0_TkiTRXJ$csz1_Z+S0vd^x~=r2vFuFjd! z0^QfsVEa+%!Ba$3xpnTjo2}ycAX1c>% z1pATzr=Wy}Lgl2nDRO?{oJ7SvyEK4Ko1f*=^>Ob&OL}zhRd9OGR?qo)RZ5J!xrj)5 zgQ~u2THNPJ927uGdD-KnlGmV zk^Ma$`$kilHgpfZ{O{Ym7~SakAF%uKUtss}@SJL(|JGzqeBtwSb(w7XW+vplE|%l6 zDPhARGGF_(sdYhZS!hQL6N19*<99bp$*4`36myk?vIKUDCnhxYh}!p1e-9XguOkr&x~G zk#Jsmi1_Fs4A}l0+5b{twPHi_ESouj)O}W5$Ile-y50=m z?jmFL`CFcM4}ce4`cJ!WBf$BP9zo|o9bz2Nh4LT zqy2Sj5VV#a-gmXWmKPIvRopjH8+j&n!g1WdyC>@^9W0wfTtTe@uAhsMMXt7)U|@_z zh;1f};V+7y8jp~~FwPG~oyM&c)v>a%hxVj^Vk3q>$_WZi}v~qScaVyR-pPhsi&IMCl3XDwhK#rVN z`qY$(t}p7caj>!QPR}pd&Z}b7T+hr}UCTKa_ov_#_AGEMooLPl@AT)gv9o_33t3+k zYH{D&VG;u995(U6iLoN_az<#x>1gV0aPfW0U@L2RbS#6g11|DbzYL2;ch9GiQ|Z_} zYqJ)cgJ97(s9~L+W2rt)Mt%z6(23`BG$BXhGnkr4t14Pd)i|3^K0QPJ>?WaR=O={| z4inubQ{skziN2^ak{|FGfQf-^E=c{dz6Ku zxktHdTkGahmtVf(XA=$4%QDoTWWr>4L7zZBpD~)pt7oRA4UqQl1aQYCn)ov*VQ_N^ zf+-kq#jlaq_U%F+7S z@yRsfBQu8$yuM2DzY^jk`!*p0P>BQ$4_KmpDnZjK5u+N2$eoU2F|}ABo8Jq43L$~% zI$YTRKZ}?9n*_kQHDFbP|5^9$l5KqF1vK<<9tEcKCVWH#;VV0?4KB;@Z-|NBZhKMz_xc8tT6PM$7ABM6h+_O1%8ct! zD^~$GU-;ZF}p;(wxo)i|zuCjl27b72g>{pxRmAeabti_#Dn% z!qYag1!P-Z$+4IPZ5`dCUO-npt!br75tEOmW9cfVVm>;&dU)LPJT@@@J|EnW@+C{P6@|m>eb)fypX|NT z4a_w_oQm=m(tVwy4RRSkAeG@M+ZKL-h$zWFKp|71L({=eKv6#<(hpdUk zivR;|Ueg`6VzTNPv9M9?p)^BI;7Cl(|y&67^6uhNQ+I4t1Jsn)A zSL<65;S-@?-f{OcSq`zh$>i5rwO`jHP_PDJAjW@GZb++2xh34G~p`zX%)g)I=tXtN0*hWw~0k*EhvS6 z>X+wJS04rnJGggd5R}n#UVbIKa{I5niNA#3`YnW2Fs5-s8EW}dZJjFU^9XC>{%9s+L)tfqkehpWv8q6CxV=(tM;|<_LMhuKklU1^Uj7CTJ`VtEL@>lq?F@T)l+Yl-WBpMoVa4-54H$N{yDBKW9 zUkx<^bg+0Z$rLjV9)v`|mf>fL3k3xO4*}^8{+92;^S%T9GcS_u|6bz$F}hOnv3cfC zkKu$Ba~nY}0(FI<#G1_%LF%N4LJBMYRl*^Tg=W{rG%BB7MWsaQ3{(;ouB1{U%vQN6 zZzM@ESb*{>-@b8Gxv63`T!wIos}z<>%}!1vD~*I&{1;vMYQ%DGm!4NB5oZj62g`2@ zV{kMUHUcAFH2Av~$5ZS2HE6``LDhfAK|v&OR5u?qjG}~N0V_E5ZO;?$#G96OE;1G_ zS@b)@k*NTuxrC*0U}ryR^8V0NV)zfFxkyx>gk$#zm^;ZqmC*tUJ)_R>D1|_n{w?2x zd@ZcVVt)@8_qUnsw`97^SsnPDI&%yj|s{k3wWutrjL zG7cd=E)niFBJa0>m+76}Syy_I3hojETAaxR+lIR}fmILxvp(dZ^HtZ4cD>huq2eI} zJODp4|J$#R$Ij=i12G|A<;Ol4&yCeF9|wxNo6+t6z?!Gb{dhr#GFsIi;s3y{R9&yKCO|=I_%$WG4TYx75$|=`(9G|NjHz{KL9rW0?#(J)Uom z&Z(NLnB*~mcW|FYqx(7u2g@cqc27SW8rRfM8xPO08kXp}FtCqhZcWwp=Epf0zPS<> zAh|1u>7{mfc25hQS`e1noHDvMq*dU_-t&H%W6OF?D;!t zt#$uA0)_27m%gY=4B2X&HG}u#npdRT2Kh4Gyw14VOm4KzBAG#=RQuB^h%FTJ^Lk_= zGMUzGFsW{gw({e*b6{(Vbn>b%xQS?FN|-5g^QFh5`7-^@5Kb1-IOI@&<58R863|;M2i|gm?jg7-P-g9sAMV(%@|fFHFV8^_ zK=iGE%-^TWkt1*|_^9QoWh?#4%)5w|&LArZ5MQWlVVxEI)&Vc`hE5jKPCy%v1{vA? zGfb5rmT5StR62Sdv2nsKb3HC*Fks>-$NM4R;5*u_HA-7G{jFp&~3KB?1vrU;)V`7qTF9UoMG*2Q>l~2HNS~ z&eKFq)5lTl#~xtg>A+cVh%8Ll1}RA#Ihs5)m+Y4zw<0wqH4ZvT*d3L_lo9U6Z+Ux5 zCGHbAgrZti4d^mHM79*zZ0t=h?s_ZU!9U;je)?i6B4h5F{Mu~8Af7x#X~rR;hh>@) zHQ7@vRF?m%O|CYu9fSjr^!IN^PJ+$DmyKxZCK60^>t}oo5Q@&Kl}wWi%eJkkk*{%u5!EpT%2k?^$J9iaJ{w zTIxz_issj*G&N4D%F3(ilPx)(5)i&7|3!l3K^}w@y}Z(TE)2;tx@o5M{iXd+Tg``A z$jSR`qGTo1-RmA{)NY;TY1ep%3xFx~+WUIhxi#&(w!?%VA@D4Fb7{QSr;zly#|k~w zJ|1bL3>jd2ZnW>2Z5awx)K&Jo7h`4&F~v;s)SMc+3)K@oPn+v~p&P_{AiuWeum3x_ zb#GL3W&R&QqV2!)90jlU=)?vcey+Q97eqE){+iB?q=v1Wj-5Q7WiqTQDQsZsiw5hA zao!Rw4gIW&X%mndRI9SDr=F>?zwLpCt4i0}n%)w-;u61w{c&~a1uf8y)~}9_7t!8r zh&Ov&OI4kuDT#KB(mT-E#LL6e-SXjleeuOw?P2i7ZEf|t-tr%jl_gs};?frrQLh3# zet3mM{a3sRp~n^85T z=SEOh8kC-lm|U@QXhXzSW9^dN%RuX@Ev8)xOg3p>$w->MUl5x>QO7DTTe)sUp zg;_qA^5sf;;Tr#SV^U+fb~`}8TjXXdu*V>0&Esu*|E45WsAIN`$GEgSY;ue=qUiP! zA%!`b5=F%*VT5I*aB-J9J`Do^l1z50gEy+gY*9hKYpP-pdcB%m__T{02nqRoBu<77 zfob86og!b(I$$FA+M=&+(ph|iSr{XY>RaBgRZq^&&tt7Ji+4HP{ubzKFO^m3JGR)l z@I9>E&tK;BRScQ1L{NekGuCQ^uoG{TQgt zOJas)z@YoXvghI$D7$1`j^_|VAFbQscQgp3AIB6pl%x4Sq4Y-qODcFk?h><@E?D?9!&j33m} znf)Z4)^=TR*@|39DVV>UI)X2Hc@$ByWMd}BD=bQNmaOWDT`+ z|L~_q2oNTNg+z$Qc(+cIM2m31Kotw?-6ZR+@xVX|?G7P}={y_f)2NYz6h!#@H<(1E zulJ|JXi@Q4`c{(m-58{raid zxj!nqe-d~9%=&~$z~R|PL^vv6wuJq#+k|qvv}7Ekiw~h4OXA>|A7_$19jn&UPunmc z`ZN*SR+N=7*726p=^-LA*vbKI&qIns1_x8Xl$qmMiHV@S_};j8Sbm(zm|>LHg?Z?ehSiN-C1I#{D>(x0r?<=Eg_i_R!1TWLG`^2k7;6G@;}{ zPC<}O@M-n&HgenCAVt9UxA(2ql13Ba0+$n*YSs)|r8v|%^+1}*;P~ZqwvV{e|MGUE z51T2c<1_HqBqaa;A=wxI>h~P^|G1O8h?oWb6Xhxvy zvF&i^)T*7s>Y7P!og&G$OGH%PtH-2UqtI@nktmU6q8?Mm!=wxySkjtjwXr`0eu7u^ zg&;_M!O*qg{V86;8`wEhR>#Ak9tu*ot87$f=j9#b!$wZQy0De^Z9IE*pgl3Oz8!FS zHTqg-08rJj%sM`9t|=9?*&*QsNIti4q zU?0t(nNng<8)y4eCO3%+azgFfXi?GSo#o~Tk3Oz!ygdI3!rbA%ayt;Pd zsIrq$T+TMVoM?%wI9Ca-*T=_cXJPkq&9!Z)YM)H9OSmrlE)}d?Mk%C|Nv0x`a2>p= z3Ks+QSK_(vyRgGAYEn{!sPA`(Enmc+5x2p8?aD6_GuF$ADwY6uM zh-tXxJS@M3FtxI%{gEb(Y;ws`=>Z)v3A=rTHfmd>lK7;zzxzCg(Ztv>AJ1l+Xop*% zJ_CX6@ea?w;aPQnaMR1a=ADB1ulsM+<>rmeB??VDV2F5Zgpj)Gw5-g=<&aK#rU6YF zE8cGVJD*eVPRq0mZefe&Bl-8`?x4dUAMg0u0`;}(`IthpV>dP-K3vZ(_@g(argI`te4gVGg^nk1u`{jhy3+y)!DvlrPyTc{AEmryMs z+v{6~8n)4j-G6&}Nu>>3i08HZ~SEqm0Q`5KAVH)2_`wm>;m7 zFW~ddj>K#zXgMlU6;0THYJJe*W{O>8_V~(EL_0Wz0Zt+VqrC zUaX-qgJ{2ML^UDd0TtsHM7TBpd!SCkJ_BAEoAkKd!SLE!G@lHY9ioCkJr@uQ;nZ@! zDii4(%l}qs1RIdn^)z<i zO+^+LdfUCc+5xQVcKi88z06M=d|HM7cNBZCdK1Y0kAv7>;J-LD|H_4~cAi@QtLuT; z0|h2OmkvkgLJJ_DSqqP4nSgPg3cqslq9MqR1#=$HX`Hr9nS^0x-$J@Uy=h>{)Ui<~ z3rN8sH!zR5U+(3srYEK5>zKTvx|UnvLL+T!rBl|@SYOs<=x6M8b$q=0l6meu3tBlV z<2v@#AdITmOR5-9QW1O9))F^YyX$v3k_YVDB_7uD_^@&L2*9+ZptqF$uq~^Rc?zS! z^qr)-(xFCZ*F z7wpk~KF`O`Y5+mJ&)>U{BuU1kY+6A$$u3(l>$PJwqe85qpsvMz56*DYwxipUOSbsjNC3_wEjpQR48^pmuiOuWuk?*7nY`(B>a>Omn)Vu zX-5-TR&*bLY0@Bif1DmojWy_cKi?bWYXi8XW2w|W*D9~7pNXo>M)&lpvE}iFY^W#A z&nS1!Exq~0p0xJ0S2J#KEH;g5Kj?&3%a7?AXtuPpdO3UE|1NiHmOob|n$kf{_2O8^eq`2L~hM4l%_0$L0GNj!Oh&xV@82jkFvvuf5tU%m1*)MU-x>jlxxc9k^U{+n1r&q`70`rkwu+u-=yCt z7(-II*`JZTKV;z6acak>9|K!(@-JiER$$aWUaLa2vFS2ILbX7hHNqV=SGi*!UpS3k zOxoI+(b4jk&|)w+HPx#GS{f6o2EmS;i$X1}K$eDnOnHy?mbHafiqv!pXX-|OXr0e} z1_m#r;3k2bC!m>}91Rl^?&@1GbSOzLEb1Y(5qEqP#q2)}=#XC$@nsgIxad-%s9}=2 z7;wa%7!cT~Sn_|29hljnL!Migw%xTiGs z_R1z^65`i^KYYTNkezbAU8DSXRk2K4h3w=Nsu0ytwyf8%){_q&A(dy!WiyS3{SH=u z6d1V_5WeA&x)T(>;upT>#@f5m4;u1@tTv8+&&mHc^(rYYWfBmLk^}uf3Iiw!%`y$m z*$dGR6N4#1w<)(LCLqW@K0IY)Vi=!D zaB87v#l#j4K(%DXgCQ9~OHoUc)|Q?t5Wh+aV5Ld~@{}{mGp=cWyw1M0j55R&{W?=t zU$5=&j9+nAYH_ew>@w|iUbvoKOVH71NM!_>YdAlfv1UjpTX`o~FDtJ+&ySwyHQCww zzm5MVCU$!wqi*m4o-R6_#OC;4*!uFwclY4_AMXF13KU}?IcV=PNrCmwIwr!hNY}>YNCl&LGZKvXjom6bAV%v7|=DEAy?tAq4W$z!b z#~gF7bFO0s_ih?iS$nebsdva!oC0G3dL=S;)yi75Y|V4d9%l23{oAL1*B=f(J7i*g zR9;$mUY5`AE7ixo%bu%aoack|7((31U38jWfbgX&_QMZ5o#RdKd_R2*rdzAbbQfo9 zt)SCjX0o(e7wN{7?o z#rRdFYHYjmRXYv+MizBe$4clCcH}Apu;#(KQ#J5lxs&LFSs$+i9_4FufEOvZ6>Hs5 z^F{A6DZ)Tj@5b~#IT9BX$!t#+&fEzpGUuei z!X&BLQB!{sZf2lTJf&rYnqC{%^JFmXbe`YS_?bh1*UL_Cu+SN~)|jNVX$oCeN4>p? zaEm&&<7FTU*+zr3uf;1~QsYAsDa@?k+W%=^r{z_Ig zmR-6M%{KH`GD;vYjOZkg%36^OvKPZRNg4Vkk_v{8DSI1!*wd&eNYmF;8KEPeMaMjC zIA!Dkev#B=zQLu)1@)rHPmPcMl|#cmm|coEdYh?pXGEpUZ<8O@_msDfGJSmDXyh*Q ztOE1Rc@@6U+Db?RXjDP#GlzkMKV;tx?U zoFzPXE+%qz%p;P}w1p7g_%_I-<~0_#Ya&EuVfa*izKrg_AMoljzihA_>zH~KghAWXHCL4@;vPGk2G!HbYYmnj#0wy;F1rOMmrKCr|-+f`<3X$o9`*W$<6E z(@G^XB1FNn`2%kE!5OECpx{u!B~S$m{vc7|MfDbv6gjE_a>xEA9&56EOx{bD7L2IE zMZTZeXhd3mBi)b!Ns!{XKuPcrhYgJ^;lM(}h?J1XaH2#-6eW5FLP+9Z!t?(isd8aO z!i9ysf_eIQ=iS}&yIl4~nv`vMJuT$L=Dh5c-+gC%{nL=ZQx3>8=-Sj4Z$Zs?L&JrX zhz*sQ7%;}CcF0pkoHq_r+j2j6cvu_cs@>WKhyJlqgJ8n)OWZx67zt|0sz)+yRQPvs|Nu*N&+(uqsntmeMF4SU(jJ+Qtp4L{YR{fG!1e1q!Wm%nHD`b zT_4*4YtiF0EGl;y3$DVFymP^b-f5R^F(+}qWN1eR*opEr&Xt4-Os zk_o$p>Y6o9)~fe8f`z`kzOOG{Qoo^Nq%BA;si2E-9}24__iA#?X;txM-}8;|j&h)N z(U6~$@8jxRlTTI-rcLx=$qno1f>nYigIrUxN}K*nd-d@a1K#GyS@v`lE^6AtFmC&< z?1j|QR8{HDH+7%}*MrgTZX?)YI`7jR{0*H6@C`5dU*}f%8;vA#6YvDZYs$snv_Yy9CBc2 zuK`jc@EF%{m4~M!XpBcLS0$fu>=uOnaS(Mt?@MFt<0&b=JlT0{U8; zC>iN=7}bnAchT6>AgT_cG-5@COSsuopPs3iY2esA0dz1ky~R&EN>|&zSNsvo#T{xN zHrFlrb!%3!n1E{Nt)?e9>bej@WJ4vA87sF~P5SX!3J13$BvReazkf-xM2vyKCPrY3 zNsW%dsdvk2TxqYat?>K<{L9tKIKeupKDJ|R?m%ZpFQ?$6REG*Bk`FWN41y*Wy1!OL zrmR`7ASB>~)3Aa_wt^oT@UHZ(QSUk0u97rtupOa8Wb1#(Gk%tx_q90rylc$&qOr_` z!y$j=G@h~%nX34E6gA85mOxCZdJOlIe>h~a!O#Wom<i#8)04Bsc{ifH7gz|$_oB|U~ zoulnYV;B-*JrepnUh!+MY`W9ube-EFKmZ9WNU-QSfr|wwXo7T1#|sQC`cr30ktzyH zsl-f1lPdcSHP%Ey#>K`a5c-Ss$I_MyB{;B%SrH8)MldYoJ9Cy`$ORK47)}x=97dvK z$c7NqE5h_o5v)&uY^MM1ye=u=wSVpFK;Y{}pvP?&Q6JcXpZ}Hf$JB5U z(MphL))e2|+R{}`IrYT+fU*koAFdD&xP3N(YrC4|w&%Zw)M&a$5X<>UG+5Fgx5zJ@ zm~O;e>_L{&@&Cj!aTqvJe-=Q5{@D)HZREst&V>hzhrUtFK>?bos%24x2m%@esA%5UaJPf%~HKHm2^%w_q2d&Rdl zC!;{-)tdFxlhcbznY@jFui?BNpU3x;N{zo~YX4`*^;aOfr{_P@`dW}qNA&;U5_>>) zIz9-jJ9O+NZ1MBFzw0lTfN!iCzUxN2wrO;;q_fT@F6yW)C>dGSrL^amExN7F(X^E- zTh+{I+Q==^n`;cuO5}9aj99BAXDu$FRCd(cRe4$ZSnggLk9Sc|F2)Z0)L1B)yZ*`g zIuq2Tjp4N+-KvbzT_$FbOzPo+RFwFqeLo$esIyFseX&r_ZcMLAK8F#NQ7dtIa!xPn zJ%7l#q-4kYYa%>Jh7)2P-@1W(MLosNiS~9ar9L+?=yNEjT>T`L_0XBwn-Q`z9_B>a z)a|$G&x_X#j=@sB#&V$=^S_5l@hVOOk8Iua21{1d`c`NT+JAUfvgIO8`P}wn&%&=b za{0Z!(w4WnpS|8X5WhDTcAM&F7A7QXLI!0@ZZ>%zBoD|GS8n!;xFSvMQ8MymcRm1o zLuANFDpDonqcZd8gc~`Yx5tlXn1o&a?r*oj$Zv~6hiUMOx=mDyt!^M8Fyu2r;n49 zx1E=jm9u}lhjX!$^8z3HWiFOm47^s1H%J_&sIjn;Dq0LMbSP0W)XV7+M=o!iLoa8x z7+9@DC1EY2uEV0PR&^kHFD!daw-%7O!z%WaTlzAg_+ddE$hyBRRUg2(*$>WhCG6QG z4gohSjH$Uz&S9GHGv_E|(s{cJPLm$oD6((F$*BBTks&CDakAR#GCg~6gPIWqHe?5@sz>2(`5wXWG&m%Z3F>Y1css;fmiDQr6E75+ z>(X9d`CV=H5-n6SSf{(YtvKFE3&m8v2#cSR664! zh>0|`b*fJ?8V2s>Q?`OQF#B!pJ$DX2cx9cr=^{B3b0-!{t8j4LH<5#jGYdqc;J`k_ zB5-4(I&&bnisPLpfj}G)ZHMkix{+;45~c16m*h9B!^Yo3RnV0GP0*i>&&^dJzct+9 zMN5u;v=HLO>b1}!J~Ckv!oGo%sdMu+w*A^2TfBIvJd=5o>1X|Dnqui{XHp@FjEjql zJscd8pd8&DlBP(FZMV!VFyVpa(liA9FO$imMHlSoBvi%%eDj90})+WD)oB6UhgKqDa zwUX26Wyb$)roJD~;Wr*$|M?Lt`!8Zr0Q@H2L64W!PFDBFNrz6}hKoVAd~Q_|o%{Hb zxEbrlNdXz!^6u)$-JN0Jq zCRE2Jn2>Ju3huXkqbXjyF{6g^)41bX>YtyiyHVhN)o6Z}q8F7jX;FPo`^QbT1G0d2 zzMne8CaUEj@-n_%TI;5x7Y(>&8+JbZ4IZh74vh30T3TO@-`B3E`_4MkidrH)&9;&W z?2MT5V;N0iPC$$gX`kM}EKezrwW(jVlGh^KvSsS4T6%S}27fNdY7gU=O|yZW1Cc@J zOTubplPohS9mgmHXs|6Vd&`Nh_8r}C?q{P(i2hz58{^@aJzu}wI=S_;pryx&ZpnG| zae%ZGH;Luzq5#TIxpgoAW5SREAgWJ>1Uiv4N!gK{qW8V{Bv|JoE};AUbuh;ucdPr| z@Sne8d}m6Ou0q&-^k4MZLUWUqfmZ7_fS<(B`8ZsIxpcct_IQJwP0>cyM|8)YPY3GH zq{U_ev&UBLMoTmYK*LkVWJ~E7qD1je2&ED(u`D`HNgEtFzF>CJy-5=jx!|7&K4R*| zpoyY4y-1z?<=c`*X#A0pXm@SaZG9WsOG|3Yv$H%itUN0{b^LBGju(fMO^BB@@Q-Mf zuu_r6B#|;PC`!JF|`Hh&M&(DfUpCe z!Q0$oAB9<83o8(pnC)+Xd@6Ki@h^(mu=HtcEPGK=)Ur=a5 zWY@913xRCkVcakZN7Omz#qtafF(O4vFcy4;!o6?2M@m%L94VD7Xk<`y6kJ?{;NH!5o>da-JGRdagA*1+60Zn$ zx|~+q?e#?i1`IWJoN=TB3x*ae1SKxW?Z%YP_EM`|Ux7k!iAG?H`sofRcnXEI%z7e@J0Lorv1d79)zs01YA)Y;-TGokZoM zySHwADS)NlR`;)IS+Cn#A%~VICRz~{^q(o4voaDtbsv26HJ`96E3Uo_f}6N-j?#j+ zy?0izb-nT7?!O!bhtKQlw=xF;ci)#ZOwphJN1FZ$WcDoo$2SQ;{8tR0_GazXbD_aP z!Ttxc!nFeP`rXiW(w^EUKH1oc)i zj$3t)p%VJd`rMw_niZEn6TwOv!C{1?Et(6yVt^vYKflzg+v9ewZz(4l^Ga{MyMfiu z%gNHh*w@9@x2x8pX|ql}wY`Xh(VR4Ej_NWfXa_K;9DH1u(PWz?5BCGXkXb$^Jp6&g;Tgbxsjkt2IRnIuN7baLXU zli_IBdwcR0tUy4}>Fa(sm{f@=a7Evhob@Lutc?mfCl=PS02Q}>9#{7k+TzAc;$0M^ zo?m^zeBu6KX(}excGC8eQLl|xfLBdzC8H9HS~`#Qz?N(AZ6kJVo_%@v0QF#0K0`7i zTZyc$W3sFNvhL)vd?mO1#Joi(Cj(o|0-VG#_nHbR3^NdDv90{PknI{Mo@6^?j-|E~ zb~<}faM9I-$lvYtHZ@ooE>le(c3wr53l&~kG+PK&9D+wS2ziKVVsoF_D}Uh_>MWQx zYb@OY|*S4Tu-ozeWG;r(P&Zrn+68GCbiTVa2If&TAGHxGp=`N@ZAg|-E;Iwd6` zFbZm6q+wYMN>dqFpcpy2wu_dLzCRu)zUTXT-FLD3CK6lbNMC}MAsG%BVsL)l2$V4x z5PNW6l$k35PJW;^ju!=s4m2mUh#8vA8w`jeRUna=0S2=-c`0couDpVb2FMld6-Q=9 zP8e~-!wU^0W>zG_2@~y27%7Tl0>g>odX?rv3k@yYI*&zy!-)|O59tLJ4AkEwD3d1) z?t536(|Q4))nb83g18?RVE4EnxiTe%t5ocE09;j2W1AM2n$=6B<>E%8LMXyn zZ=tMSsf6UY$e|IUpt%R(5t5OhS3}ONQ;If}HnjETcYoWnB)8o*NVA}_CoUw?1u}4} z;`ys1`SK&5XFxop;DfitBYShO@0)^-kb;AZk%%};{-M(q1f0uueytS$m~KQ8z~<#5 zL?sam9+cDs#Xx>LY{4QgBaQ0Y8B>fw6Ok@B#AdZQl~vd2mZwaWT)`tI=nZ;R3}ToG zo@N%At}ozsB5Ne!Ea~pHb8|WvDgolIRYJyXbW79AT#Np?L z2_5bB!7o^PNN*Nzb|2z!VI8ksU9F!nSF2G>qAQjT#5)nV^5Sq{pmIz|+&dv(WdDJ{ zsES4Kn5}!jbC>D#)m-_b+Tv?=8LZ&&^?p43b;R;u?g{okO@ROVT*n<>J^u$Mj`-iP zEAP(FgNMrH+F0IzoA*sj!YO?n&Z>v{;YzP0VBP#h;*I))rq15`-{ZM|fBzY}=#-VO zXH+w!pkdbo#a&Fy&P>&!v&Pbn@Dz4;@)=x*eH*CFoN)GxHN)(z)1+;BCc&G(z zqt;nS+}US-!k<=f?1nL%R>ZpIQ=XSIbvRF$>pyE_m^0J*Qbe;PlH-lkW>@E|WM_9b zvU&K~+->&0R_BziAe{ZGG%@pjzg^m|ZVOw>DWs+N=WRZd4z-eiqGJ>9rZ(ELK^>m* z{2_eo4B^R?v7nT^y3Zl+!M=4?xzc>xF6ylz?WASYHhy?~Iit`r)||D=sdf%;w81`p zF)iNnadVxfVbJ4$Gh1}!!9kJ2KnjouJ0eE{FW=XMR*M$~$`{_C9rH870V&(kt!jy%V50KYrxOiP^W_%UBgj2W?l+>Ytr|XpVNm$;ZKVf zAs5>jJY1G(=nNBx3FUW;-`%vbJ;=ttaK)S=>c^se%Eb9QzCN!NUG&{$we_{Lg$vx4 zIDoQn@<3TxS1WdEHfcqug}0czGy$B*gBun$X$hH+XW6eAMHOjjHmZfI{ZJQ&JZ_({ z@nKdjGOR!-QqgVd2`Y%Rk^RJfyeQ!c``08|-w8LU@7ekg$xJ%3t2bIOidYeHTz67m z3~$s}Y@riLc@-4QPl>`XiNu)@NiqyfjM%UuWJfj@IA9Rz>@^b{FC47Mc0Lpx7&d}< zK`#{<77$9TPbA;)i|FePbL#ooi-?Js%9jdm@9HPu?eaw6}ftHMmZG~Lg5#=gp=G9z? zmJ>pWDLQ7!pZRcf-1iz7rcWEewKZ=tHr^Q_@hs(LI>yy&gD77!3w_6PH`9O5~;&lN}6~ zi|i{kN!Y79F3|L(q%96a)5Je9Kt|S!K0F!l`aSL+RHivF zDE3Uo{{PbS&8CPuy?XnPIQ@5-UjX0dt?2BxICa0hbnrZFIdrg*W|d>gEwfUdf$u#e z-cYRd86J(PKHYn|DAe{Ijx1wVj!Rd=v*$E)sX#W!Tsg%0)t|f@HXq9ytOH*sbedwH zvepo^UrVzfF*;r!!+~#;F*zvrH2_xygdW|Ht{M_NYZ64)5I=f*1>lwn62qayB}RNR z?21iPv6(|APvbd}D&DyMUS*qE@#KgYc0WcvLF{0AJ z2<+KWI)9evw26K4*%zsWV=`r1=VH2WYgX9dH#Ne|)906t63jS6LV?cvhZb1Wt7WrG zX)7J82z+W&9(q?+VoyON#nA(H>-%873N49EbL3iuunOtPlN!4mgS?HEc26%m@7WFZ z-xX)dJOJ6Iq6fS2;H2f$!>gJ{J-jL`XEMuqti3BZ6o5N#c&lnJY`cS%uBNEau_}0aGiqqSFzDpW z&r(Z%RJc6o=B=!UgfoF*=**)KhHJsQ^S@e|U%ZnJk(UDEaJK#N)_deBL@A8A35rWnk8ZCRFqyt1worQ6&|5%6C_t#-5C_|RH0_Juea~MZC{WaQu zrU!?BmN%eWkywGJ^)iN)357lt8p64min$1!XfkIY_ z!X{K#kA_?Tpeu|Z1@{ycnsXRVa1uA|L$}V~WX? zr6P%ksax;Es-r3Etm&+tx0;bm+8YtYz!QdsGYSLy(@Su_J%1lRkB3G@ALc;M3J))T zS#7uVPrI#?scvNfWOwMajnC%2ydvpSvj-xg`L)BnTV+xI&T)lV7Me5qfdb1|A-O&XhmDq%a3aN3zc zu=bwp;@nwUCSk+4oQj*(j$5iR>~VEr=kN6I>qLF^mtemC)MA;4IocYS$CpI*LI zo1#m7{;~Ib%3|5vfe~I08@~;}<7DTweF~GfUa(U)dtDr^zH*}fa*K8IDsa%_a zHmy$3my$T6$bj!;cFFCjasMYL=2s+Fk2gVsmJ!bBMdp?6R>kF6QkG2Nfw)t9o#64( zEaliSt=L2t+()4Eedfhw+FeiQ^Zi5R|4`4b`!%9H5NKAdHNC95r6MDaxr}95NGVcK zlZJp&2SdewUPfK*LAe2eNO=)+RM;Xpq2WADTYTyMkCtx-Nwfl=t)Ji7_D3C#&s4C6 z1klaI5PO-wJc-+FTwna^tvY?Qtke)TXADmia-$;JRGl1pN>7eQx2ID(o2TMe`yp*Z z2?a`nDakfAYuc#{HM(#6V@uVO-HRY?GLzI1gTwPqvuNU=X(=NGP@^HoP;j_};-Ml? z-Hx3ao*{%VN036#eM~~fP!W>Sob9aAknl_29n~If<-#di>EBS^-ia9x(y3gz$J<3n z@MY2hQqg_5pA92oz`4GT^ePH5X%(P<)exH*>H-E6K6nLmi&F!!IX6D50_61E&r+*y zRJJ^)_A9V{hs*<>=^KN6NJf~TLobj9xUX*^!lSp0!ULd$I$$_gft&eVoTb&!O*{cz zZP3JSJORXQe*_J-Xc!qM=k~{vN3GgyF$gij04{TP3SX|b)h-{6p2hq1J@%|Z2TzL@`8rfMwYr*QAl9}{YX3U zOk`Lfh+=(ze{%{U%^*>6F_G;D#Vz}MmnI*ze7y*K?0kJ5J$;@uF6#sm4=WwJJVSlg zc!x-aCum+XS^xGB75o7Xx04U9g;%Ynd@^NsszhZo$ZT$2%m70o0V!RuIZ8}GGO~ho zypkS2KN~pA<^Mg^{v5gX3O_qafPD2GMs^Lt@QfnZMF#%-F6&vE3mY5^ zrCqamBlSyKwD!?&)Wu2_4n1msPLYb#lb#or8y@^@${OE;?0-0G^11_ziQ>4EVDo4E z%9Q^*MQ%(f`cDX?Dg#|r?6%3sPdeeco+^`6e74fg;G*;W^MKI*^>TE6_z zvtS;}feFWX3b9`DMfmu6I|`&z!tDAA;@lnTIyw)$v|?HtG&Yx2mXP`+1+cSKkRg{su*;6A#;28r9M4}<(w(JCr$7l z9K}V*3<8N}xYIi>bs=tfBCge3FxiTH=aZ7rsg}v%Md>?_-6SGKxPeYyYY(rVh0)>T z?Rj;|Nk??o@LqY68!_KOh6>-x_=k}Wdf12SrV*YI>wx`w(#mCRmGrGGV}x$`%|AvY zJkj`6KD+Sy_o*L8huQm^iK*qcg{l7{;BsuDK%`y4ar=5hWj$Guy9n@|_zGUBOx}RK zjNQC1pKr?n-mkq+TkEgS8*SC06S3BQ@=?5W5l3f?&QB?Aub>S4`Oz)wi#n&5^au#w zg?1Hytl+q2n@u0y#{-LT0pG5t`?Wm}0j*Wf>b7gLpQ|v2_OFV~A66YgFnS|r} zQ{_*)gD(&qXlnF8iRq&=3qQ6l=Juh^_nU;#Nxk`@nF(Vr86R6ED?uqeX+MLD_1u%| z*_{W-mXBswKiVib+Cw3p(E~H8pmpV0s$QHi+z?!(-?S$DAsX`3*CvgdVYS1_ ze_D-Z)E`S~%_JPL?{l*+78g%b4g9pP82a59SQ=S!QBpEmU2>RxF8ITYTJIq&9!kV9 z-sQJ}rnafJldrV8pl3)bX=A|7`;~ruUHi~3h_*ydWf>M27B5H6^noO~a|w)>I-xd( zM`MirLSTi(n#Ce%;T*{!eQ78=j%08k4*PE6o@SDL}dxmrp#vBWC3w@pIEYYsr`j4T92l4W|iXs zo)3s$PYz#sE*hVI(bp=QTpbi*)g|^KY^i;5LARFVO)W^>kg&kQi0B&Fj7Q&T7pf@VL_bNUIH-UKW!^cPm%^=&?adLPw13e|q(VDukQKyyce zYV%GrWcslux=}~jo!}&aNCW!D)Mw`R5tw<`sJi7E2LQsJ^bvAUDD^=^35-8lqmea! zxGA;178NK-TX0fD=pI&%z!gcRRUwpnxQ)$LqTCaMN0yThf(ZEoQt*CZ`^FRXS?coj z6BOw$Db{e!SNnnQQ=w}kCH&jk>;`oB^K!P$CF`O;RfDy`ndYT;ES6&8C>&Gl?Rz_t(b?hR@UqU5Nk=3t7XAJ4;_J@cq{Tu?%F8ZM`@yFAtYudY_Tu>?|tU+|DVwP^n8gzY^=rz%-n*f8kfcw7w2kzB$ zz|G=Gp1=3g$^28#*CQ})Q>)cakz=lcR<=G4q5kgikB3K5Yx~@~?r;6e1w#RGbrz$fZ~vXD2jn?tmTRSdD-QV@MA=g$}I6 zLaXM>Xp>eX_C^279dKnBd^N$)IJC&XM{V+1dwOpB+1&2SSN}~^dQVjR&USQUb7t-W z_yHLXiTHTvAiq$f3TOdinMZr<=B34-gegEmgNqHj!unNu;B|oBT3SZZ8;F-OMi7Gk zBmMNeBvw9Jwp?=BnvsL7Lw~TU7Jyp)p;@d;Tq(hj4PkbM6rePfo}ySLcuOXnA@LiQ zsTvW3gXhIHg%a_RJk~T6QIufe+$*O)d&*wij;FFdLt}-} zS~42qw2;(qG@;utKckT?DH9M5Q@W1UkL*;`q_;ONLo3q~i$ODHoNP@ZBH1olF!SSw zvq$vE=Jd1@wn>(WJH9Qa@5KY%cE#_MECA6wPCO!q>ULToT%EY z*#tcIUrC|SVj>bT$g5-*Jw2f&a-}h-FlLwO)g7)VgA~qUN>AQk<50KxSiCyc`k8f8 zHT9{W^-*{#PM_fGE3frLtaev5`-qu5K~5Zk10P_$vozK(E=V)7*%H`bk;=v-iDPU& zlWmk@Y@qQf$qM9PBu8eTqBb5Tdn=qN-QmW^!k>dkcb;PR1zKk!Kz`sIML`(BP$o>F zI>B?8V@klqVW_5fQ-swu#;VeY-pVSPwYri9zSmg(z?-6?fMx4qE1nitN=xCMYIZkuIJ4<5<6`TaTxxFPE~jvM`R|qt>O^|^FK;E5ZTWp&JPcD-caR$0 zEsj{GdXr6asUNdypmiy!`L1qVmx5+C(8K25rxH_E$p5PXl6wki^H&~6atcZyu6 zv)Y6tw2X8{yLCoiKiIB`QabWPw_+)(A!nCFR?d`eb6h8l%0G)IJS%0rlA+IsCNM_nn#&!_OufY&ac(1y0t7vzE1C8Ec8087X8I-j( zsHppMgFZB8{j2VY)Y~vG>v5HRv-tvQUuMH)1bm;iN0U6hS$)SHwU_?4m$xhWE4!MG z4$(Sx88vK#v?J>1W|g!s57ln^Dk629?qgg23*TL%-~OiI?PGcQ>v?#Rb2Bfa-GHzM z6KMB5uigcXyE&lea2iJF!W_YOJXr2gSVk2=0IJp6V&kpv93b*wg>D1^f2EFN{7 zeic)Vc!b9KD6G6YMUL6|Ue)SU$jbB?)SdWkP(pKl*`$?K1D2b*7)Qan7N#QynP+{m zv2CZHt)XcZACJJqXfWfCk>wF}b=ktMh|0&OXnGo}(+e!D)9X7IVwCDBgSO|s&}d9M zyz_FpFhQyiLBSH?#&!!E0FF=-h~misO^$9!N_nGm6U2hyA2VaM9MJiqRBvUQ&7al_ z@k{mKY&1yyL^4v5ql+{d%G7GSXE?~Jwizzybur$eijiKhy`a>8QOBM^vEvy1)cJ0Y z@i>5!g$>-U2;oz#dvmS2IN>InQbedVx_k-++O)~K8k|zUdeD@V7?AZpgCC+9wR>!* zn^LU25}<4B?5O>Iau=bBP3lFysC~xP#Rs$Yt_pTmk?YMNF7gGXQur zUy|@htQNp9NHb*OjuMKvA9vug6f@npCOLxS;VhI$!DFxl6A!E{CEaae?tZ(bk&jMw ztbA_HK6=!c3RC4zTwhDxA;?{iQpx_dqRnD!BHY3vy!zH~4NtFn&-`i)uw<?Y{XZfNA4y4g?S+|5tGm*E5}5{NDs9U?y^HoDsJwtIDbKXx@d+%cV{E+_DE z5?Iagm`+nUY{Qf4jS+i988@usp`)^V8{@L$tn$NVN`vVLF%vXUigD!+Ym1D8ovJd9 zqBI|kgPZ#a^hEmDsg}c9Psh!tgoEG5WZE;<|D!PyFB)zCaW-Eb*Qdzg{X6~~o!;+e zLvsNBJokr_q&R`M?fo068}YO|%h+jIvjJBa{8>yW1KaRvwH1`BiaQ+C zMXx*tx6Wn!nfCn}l)d=4Pg?7aCS2c#CgTKrefA5eZyG7C&4FuHz$c~9H~#`(p2#M2 zYW@g~tKwI=Lo|8z>KxnJt<@1dn%QRXf5pG66WI#u1+~1OD2Jn$(Wo{gk?;pxnn|&< zb`~ZTA(OV6K$a`eh)7@ zh+BN0^9p(I_xJN<3jFUoSq+T*TE1sO!z=!?Q^u#KuIH<=@1N33!CAno9`4&g%JD7# zx|<8k%5O{abpPga<=ffqTt*SVh@tOfM%Naf)+L48o$M#Dnke8h5~rMB_p~#!&h3lI zFpgf@#uKit)?{aEYOnrU{Ze!xv|D(5{5jO#bn>3ld|tE~tJClDl&bE)XrD`Ox2dhu z+O+P+k?1kE?H?a#FK!%NkZEtAmf7G@Z(wg`u419|rD^2iBP(AswVXzc(IaiqC2E{o zBqQZpEsK42vYB3b1`RsQG@Be`7vw3Uz0;0s0baxi5+fGDj5u#@bc<#y0KTHoKLMWd zw|K9qO|WUFPGnLmY2(svC)1m-=dpfd_AvbcG_D$Js4(lHD%Eff$)X9N0q~|3{E8%mAu1=s!H)sgmf1>4hr z5&7e4X8*fUIaS}m!2l!Jc+b#ha5MJ%8b~Msy&S1xvZiaHictKb zsgwy%_(u*rSlGt%1y(shw=x6yB5{y<&X%BRM!ECD;cYl!*WKcBo`Av1 ztn+H`+W(_AUt>K}deq-8=iTnV)#h;e4*zphS{N8`iWmVw-ItakT3$jHgHEefGli-j#lOJP96Xw_k z;=v`vt%vWTj?m{?!UN}c^Cp)6`{?HK7XRnX@YC1*eUSj4-^b_^XV0tc$DT*omcQNe zgU^S&faKqB;iQ0~%rJn{DXz67NVQ!GId! zZ5X55a5(?rSjB=2D-xZuEmR5*B#E?v=6Pgm2_;#htNA3yAz`u)aBu{-vuo`x5rT&$ zZ7mvsC(Aw-aZ@k5qoLi^#_is;^yUwvS5Kb}qlg<4;)Q5=D#@QqBDr=6MQ=+p6(x-T zxi3q#FG(+h04FOeP02sHSCZ)cOSU1BD$e_LQ&TxsL*-PH?VNv%x9Nzo$?1JoBD<@I z8L5BEQ29ZZOco_;fg3^8SC$CY`XRZiqeCLNsNbvEidINZ#_$3WV)#O|<6Q5$Q%7YDy;u@7)}qkUKTBSqYv z8h_EbM7mUYOce$?C_+dRj@Vd|IETa)1-uiQa;Uy03Eg5tB+R$3(TjS$sXbLXeUO28FO@2ShPezc0$V|kUkQve_`g; z=Z!-iZiX(^yQegODbkBJLPA;D_vD}s8G0 z`vt1?hfb!9`u4sYLGFsm68}tZRomC`YiQ+WwRh;*QbEbA+rhTAZ#3cXe8}kr{f+!Y zB-)P`HYfY`zGejkG0F=Y|j3fo@(^Vfm`&9sY1yYT&8ZV$s@NKv8yiY!;tD)KWRA_WB3hzY|X4b z>*amk_H)wqBuDsIpV_+wtXqwUdum@#!R&&<>2V%h;$^Og`@SX4; zEGo;GOH`J%^;?Hc>M)IhT;%Xax5VUVS+H4)dDLZ$>H39hml^{=3Ul+@q741&xEad1 zPw%=N!_`aj_%5X3>3mpSnG7GseM*Hy=(sy_2?hwKv`xL+(l-fDgIp!wczZ2dECj%?Yt|aboe+KJ^PlN`}>prG6e!YuiMPQxTic{kN5kvkG$>`zt_d7 zID^aXmt3nIcbQqCSR+=^)*XqhTS|vl)a4J!GyVm51@VqBd`fqD@VRJJtBkN>u$FwN z6qS5M^j%P~p|XcY#B4gsYI7TjnAIVuw5a#*sAzjv-Dy$XYt}re2Pfr~?V>(m%m$TM z8mT5Ne`k*2jX4(=YG5;%$!KoD2{ODLx?k|*Mz94ooydIroFI~zWnzc&0KaOQ#i_@s%TOa zFZg^|a%Y&JoQV6Otxm6Rw2MfxiJk4`g5d0{;n(juKCjdJYDGEj_Q9{cUMA zxo<6ZM+U9F57|vQ=z+54f7*;Q(1bu#!ONKxt3ejEf6Rm6;Qw9>O5KSOAF1Ch!cevn zDnU>^`O&oGJJE2e^wVa+JYM{#l`B(exT^P$#qs2H(ab0XzsQMBESGF?P*v*(^kw20?eOuT01faK0N42GcAwkZMI?xdY{*jC;dU-uMIj zfk=d;vH_gE#ElQubwBC7k5!!hR~i%u6BUTPIS3Zz4wginIq9%WKw2tB%d$Ow^<Dv7!OqIXpqrkWmzWW9oi(r} z;)>ps+@`fjf5tSzn^}_eB*-00R4leVtTj0$w=?CkDp0tmSyCt%wQN|+`Zi(OCzt|p zrMSa$AZNv-(Lrg2y|DQKMn4I`#$`NnEMpzN`{}Tnu>0$CG>LMWX1GitPn+QVWg+-T zfN`tmt&CCO>wb7rz^^@`f5(vv58?aI>63c`bN_JM`EKxKdZK6bKR$;SQJ-(uk!yWA zOe3ympBMMRax_lC|9w9?&Y{Pp_Uf-{=lYhnNz>b>|3*>h`m%T*p<9Q5<GnI^IJoV~$>g9go<5KfWs`&G3Rxp*{{ftX4_F&>*J)-l_8 z!8GK~ngXICXV3E$#@UV8X^;wQ>0F~klZ znNzbUM}D@n#~yBUD~GtmE1tI;fAs&cbq?H>wOyA^Dzdr((pm)|4`wjm2Oa8<;z)tk2R) zyHdN$$lo}nb4rTAFI&cYNIV{gxtESUFPADbmpCql*_DIQ8B9Tt`Ol!}!$)mXS8O^G zaOY+Au=565w!TZqZfiu3Mhp5Y3}&-OTWpHAFz#cAN;=rt_^ZEbtqe>^`Kd6+$adR# z9&w(`<~6mn6wcA$gKC0Df~b`#O)96E7pb*iE}j~HuSJ}*nbwu64%DEtK}kbY#+fo| zDK!^k`(b$@Yy!XxWwV*ol5Q#W0Z;Q0Dov_f0x5%>Ry%GJKY|U1moQ_t3npg0Pk_~` z3Mzr74>n4|-<2)3ONt~x{|){PH$m~>t^%Ji%^c_5D$71?)bx*+9O2J#wBOqFu)}-j zEirxmx13nDhNUr4I+g}*=$FUiSi*?#K|&y7VyP0#tl|!S@&#-pJH;Km#%^r(9<*d_ z%PZUv5NIWrRswX%ig0^tK23~W3rs%W>%st+DX(E_UoA?V`pl}S#GGXVNm28MUd%L* zF|i9iRF&@54tG;l8C4Gt!5_(c1Lyq%H9v+D?RH+OVn4p}uPX~5kLC*VvnPs%l0RO$ zH#3{j|E^jU=g<*_)j%-Eg+`@1<7U7Di*8d$N9Pz8W(6sJk;#-Jq{D!lG?5`}!)BdB;)kwt-h<^Hbzq{{ocTEJNizfsg3DeoFX6{8+Cl zWV0T!uha4rx>U0ml(_$x?(lWodON&N_x2k@qGp~Q``?>YL5`RpoUZ*%-(D0d?*iC;%2D|kzQw~${p#_vVjuM;WoYDY zsG#WWqHt(0w{mH=wYUFzxqNwh4Bv{ozO7t-+kQ(8x0oHoJTho7;+1dAK+t0fN{9h0 zpxzuLhvBKam-8>Qoz(YvJe=l5I0pWC*+L@hyL}4f-1d2R^1bPP@Atj&e_6h(9j-|7 z8cqbBIY?|HqUcDX@5(3Nh&pzRm~Z8aY}7jjJeLkX8|DQ( zFP#CKz=5Ztdj>~UMavP^bfvd#Ng5wPo-~MknKC=D3rDhNQ1l?i+KHy5fkoNOnUkp@DVXpLB(7=q(HDA zmNIlNqQ8iW$?Sn?$x%;CXG;|)u*N=W?doJp8*X_{m*YHCOnYHBgKWdlbc8=NbX=^5 zg2p1~xWC@Mu)d-iEZdN+_S9%2B)semu)O-3*p#+i*Fbetn9X0lr^=P`{zV}P%QQB} z!qDSj_Og2%H;{}ELE2i*)$MdvL=ZXyCJa*pi4K`1LZxn15-Ibe3PcXcIu15ZxN?E6 zg(qAB&YB%KwwUUK>(r}p)2PS8wg?xp6!1ufZ%1Og0T97hC@MyX)2?y&E0%+gv22ZX7$Y zBPhSUkITd8gCnO??p{oif)tC98TCKF;*3MN$M;d=7~DZw8fZbq$R{E-OVAsm$=s5B zB&-`@yCX*L6cc=(IjiIj#*NQx8p--6vRr1eo|5A~LVmm?2fOsA2uEW4UJx4szg|*$ zgPRGP+@>d=MOHh?HYk~rgE}BBEO7e8E(b^` zUl1Kq)LNAUEF>xm*$-(?E-FdhZ_dqKJxnb?4qVkXWkT0)wbbABh7DrNW5%!;j(nPBTVNGZ`b#o0bniiVe;XOqQ({_fHLzai$n+U@@6?XULN(zOh*JLkmvza*RR(Rl%#PEgt2 z_q{I38v&i3mZk3Ry3O2ce!y;Yr{di`tIJTt8(;Y!8%q;SCZ}wQ9?4+2nA8sHnf;tG z{Rbku%tYGbN=U=+o+Fm*6za>PZOdYwY!+@Unwb`oND1){c?5jjZ9M?4)!zpBJo*<+ z3k7Qo>6hh`PppT&+P?zgkA0l?rELdm=Yltynmjc%u5a+WJwA5xpd7pZzVvS(&1`qO zz8qh*tRzqp)@BfSdec)*oPcTLffj91UkOY6Qg*&`mOnI3x^N(EClKC(Cw7EVeIl*! zHE!0IWq+yhhcC1bS85F%;{}cFA-)cXbYjwLMXTJ5a$1jr?aI&gR?%`UZ@n^pKRqB^ zxcF?Uf1DP$%<^7ke=Tr*5!SrOJ03`x&kS{IyK)+q0P&pu*?{wF6T##Pys1ru%e8+q zSjZ=?Nt9=3T!S_`uF_u_Eyp}hl*YXDi(pH9A;#3zwh1mLW;%2$t0k>ebcsAz@Mn5u zur>*B(ld~fv$N82GSJg)Gtnp!)R}tSS}UVkfYP2lDbXH=MGhKJWnQAKnMK`Ra zA@0&o_;cW@gsGNZo^OYFk{iv{_DNp<9AiS=YIt}!gW zWR9WuWKrMjT{lWr{nZU&*jM`z%o{W5xsvXvP`hcM#4keHLIt+#)CFpTy`O0E+jO#}@ZoS6KFI;t3*Ff&V0GObdU3XE2| zms^;-Lgb8e;dfFUu!^NnT>g?dGTdU7gOWv_LY-m}Qz14;=!IZxN=;e@v?G{4%6#>N^xy=LA`lXEfYKPT7Ho(K2Mu*^7q`ju z(ZhQje9%xbGna7s{78mWK)6b)&;*)H7%57OxGSJfrgZJkuv$wz5Uz?~>102c7hf;U zsLYUd!94}1G=l&(e?B1`Kf{}4EdLlWJMRbCRCh6I17>+$<~S?jdb!EbD8a zZm(yNujyytrDd#Ptb4UPCFE%+D(i1xt}P*KprY(7VePG8?(L`UEM$Uyc%`uXa!XF4 zV$mLiJkx++ru*)CNd`WIPSXKi&_>-M8XrQ#*BzX_|2~sp`1kf5=wg4_A_NKy z?)Dr6dVH<(1~fcBxAFbYY6RSX1e0D-KTnzy{)Tv#0=XJf#Q$21KKQB$re7Bn6@jkq z*M_HHK$od6pLJD((}tS6Yw_K-*L7&!t}lavr%l5~=^yLf7iLkHOay`q((=19uAz;ZVS%ENzxIbqRS4vzzN&0iQF2o5+X#hM zQ2e$;KjZv2VJRKn)*O9QJp5MQLHB!{jF==k2^hCwlkMInIX~5Sjc0rt`k|s&pvIMX zVNi0Mjq&D!FOmo^P}U!j*M0~(E@ZSEjIQ1l*S{`semmt2zPvK(m!K}6&B?BHkA$)# z?P!+kXx1QN$KUCh>-J&wx?x|qyi=05eP7+2e~Qx`{4T0)5799#Ph^5nbCH<-V50pBGQ9Vtc@`EN^Gp{V=ad<)?M;EJH9n!E<+6+O(t6e z-@-^2&7`luO=~_8^D)&MY^{W3x@!D8?tH~Wp|}M7ank_=&}-1cQCY;!(814DOHWNNG%+x?)M#hf3)L z)<&Ns53a=ZTXTHSGW28_xt5TxRXnRuQs~A_qNHt&*`I` zL@)3(P@4KFuGKuNi-{NoPtnhkC)x;Eo1Bcr6@!tw+y%p?yTZic*KWB=YF!xwbDa(p z1LtP{;ZU<2>cW$vZo4!#(NZblv<6~)QVZ`!MypH1Wv*P$lKT+lotnglyO->d)R~!w zy~3%gk%!aE)S}iA;Ps!qv;Mi>&bO+~n%MT}iT$VRr`Olsi!T1A9%Xs&yI)FmzoTUC z3JhQh^rJ2Gezo;>u=JsSqzKa3Jhm!nS#o&U_=jXMZb z?hSlq>N(ik**X68zjYR;zi!8Hk0+X!f1$qDf7x#TBk=yW%o6?4;n(bzAQK?_zIBdI!>BAKH(nW`59X<1d1GI*y<^bT*Yvr&J93coo}f5#UB9xEKh?d27O=h>P^=Z0 z7HC}8B+X|ue)H2)OJ!ykFgH|^7lbnOjzxP;c*LJrpF-OL9CH8?R;2QlVkYxoB+v%U&C$dC;3YNK(;MhvcGP6l7 z&7~S(%K_J?jc0ea(|g-z%OmmgFR|1;<)%(5eirKTs)6rgdV$uGqJHY$Yhsdvz=)b$ zv}yvB23BNxxM^Bac9m1}qM<4#w%Sj%-pIltdI#(Ly2Ol@Zya_MIC>Rzp%)8*1SRl2sx78n4_#UG2cA?EA{ za7v5_Ck>|-qfbRh(x^(D#OMoCnNr|Dq`>Khs411t$txs^ewE0i$<;!(_-LJgTj!DF zeXrph@Bu6Fm$2M+1jL3e;t*Dp7-ht0+-Nh!K;5AlKnz(k%j(Sv6FG&rl}M z6KtSWgDq?@3eB-(W>+Ja!pGvopj zB@)3^Xb(NRoN%=}P3qGqbxp5p`R2`Vi$QR!PL{RLq)O#Yu14;Lq~Ydy%&9g^Q4ZPl z;{8S;Hj;K?p@xCJgt^kT{P5JGAdggAoAcyp5$_Q}<*QQFxMTq8*P0{(cY@Xg8bQ0- zt8TqgN%6qTTBhgidL3fzxeWl8Hi}lO{dPHg@QYNB>F-epXxiRBaHzs$?=vvpsc5lZ zM$u`BBOFr%JXYBe*@k?W3Mu@f;fE1uC)s zQEHv~v}Q*IvYEF27Jp3s^M0Hd@_9Y}qqPX)8SsDU+;#h~{e6xg3Vb)_^nNgI+t&-=(z7wbkcQCv2Frl#(Muhu{ zeFYTct#>YDjq_G_Aw4S?3idvZOb<$OTHH9G6Ffud*Y_jd2N%2TQe*VwU$&YiW88!}z5#dg{NU~a&HYq*3gGf*%Iv(5+`21pXjfhK zx5f*ex>(QJARN=aHAnJNl5yiG46+A=A(I`OeRG1q1%4P_Yt8)Z-wx+)b&2?Wo(Cm2B hA>PsU~{V5XahizseGl~Bt@^v70x3IWFEC=UACY|XV zgkH?UYQ+RUeol8FbD*c^v00%}jhz0j2;yE(L5JJiXnf`vCDr}-IH^rRq60EBGNJ5{ zc~q$#%s`4zdM~ojP^3)Ra;Od!w?%5@gG!o4*|G>OSdnW;ivqwrvlwyC7DI=>Xl_u4 zpk|?8hd-O=6AQc z>2A{#ijvl{PpWVvc-Sy9eTXp$I1ET4SsGx7v`lIMS?ZJzC6CJNkGNcLBn5Kgv~FQ0 zL#k7l3Z|jhiHo%!N8BX&JT!+#hM~aoz~4u~zx97_=l}Z6or|+R(^eG*RrE*&#L=`- zd_&ZLjex`6Yy4qSZ3)s#+UM2Wyj<A^*0V3tgF9tmA?*#};_~gL zO7M{)@5&K<<%`PYv8`fy68Daq;ITX2MM2SLZP(~(_&~yjj23M~E>Hi;d`+69H(vsW zKEuX1i^?Jr7Jh8p3j1`Of0L)H=kLqj-qu3PU~N=V{N(_fB$Xq|w2*Om$fkzmO#64& zxir=jVOHGm?%1Ex9~j__FtrCw=s@5qtryU(anE|NHge+GLuzcPIK= z9GviX;-78iRr9~MnS4IHiU;5_lP~c4wo$+RaymVpva}vImz~#fJ{X?Os|tYxNp{on zx@qmyr&`{n4U2CflfZgp8U8Cy&xlNX4y|a~4R#WSzIJ?S1~Cp=`OQ0OGxyZGQb2#J zW$@rrRkmy(U1n$MPuNrAz;OTKW9y$QnFF6HFYYkb8_CRP%{p_5OZKImTo(S-tpLB~ zTd%&88M_(h@)d(h6JF8I9MUaWiKk@#`V;dls~R2~TP`d6&g}&^QM?kmMD1fy#R z=Vy`jF5%5Qkf(Se*U^jyys=d{i%SR=PX^yr-QFn#!Q&r-u9F|8$c~(;UASZUPL|E5 zaEr$VsSIn1{jG=m3pxm8*I|5-6%Y#UV1f zco&_(yP@YYJlRbf>l0<`6B_4(qsehwUsWE4CBwRN`v==-x}B>Wt$ob_jZFdVES-EB ztV(+ZXG{!(*m20Ua25!a*kG_K5xJ{0WKZ87q)UyaiPxOc>${>e2wv}Xen`vbDk~kQ zK8RyDPE&8WpfT~@TRt>1E*3%>EmfCJ$44tD>IVi*YPCbbF{Ic<$!~6&2S~AUQTl4WbE7!Kc`Fjxn+jB600=k)$gh+ME>adlTCBlH z^K$&;BHC3Wp+}!Ig$SD#z!Al2lX3#kH)gL;5(xbUO)HwJ0zvC70Zzup{VPdI+XP0H z*y0bk8{^NBgSmFUdoak1*+V!jKhPW|lRNN#*#AAH4t&@cg(8%C9Ydd6q`n@fM|0jc z^_F}*ta|rnOlcI~=&85lKj#!<$FvegUH1Sbagkt0SIPZLwYNr^(t?RW8cZ{ASf)1@ zds6W*FBldDBclG^OHrTUxoafa98LA7WeJ|SaCzqgF0Q6}?9-EnLqY6IrgoM~utTY2 zT`_AvFNqREK--))6tRmInQ|vg+@69#7RyrTmToy!#OOx(%1OB--gy=3K58yO&oF?~ z5S9FQ#`z{>ciKVS01nk#GoAB%8k-IIqgA9jz`t&hQs3$)MPUYMw?u8p3J$hg_`Cj4 z9;8ii@@fG&hpkxN^~e`s@pZrVf(-a?-hO?VX6pU=IQy9qGb}s$_s-8d8p#`&4*GY< z2!O~(@?$gn_1E#f-XG}M6l!PSkcvIz!eQzI;?2r)7MnRO%d9V!z+me!r16 zgcj9onoofAy|K?R;KdGX&kvZtZqJz9i7c%PcjYiS)QwuNO?|mg2lKSZxT&klokrNo zq~9QN5Xjf}0<`^od0D=&lugjczHxgeuvn}2=COPE-4>GhzITZ?S2M^wB24VMlF?y~ z^LPr_Q(T25zJgSG{)Xdw{3%?MCp6N^DI z^k5LL!X7EUvR*uEOBO~^f6F{O zMHCn3C85n`zkL=_+sDUMUNGqDW>;R;z)Sk6xw*B{&1~4anbf0$+m=nxn2y?>h1#U4 z2#3(hgEHm+ZyzB$AqUog|0#fJAtG4sP=qQddq`4hChTk zJuUV<^dPuunQ(+OjyGi4Y~`zM{2c+(SxAbLm@FeiO_BElxm0$cCWcR^S_Fh=iR8mk zdu!NuOq|D_Ne+loUP|uj+-BcAf3s4S&e>6NY_zHRreBZWn0n*xgpRXWEjP^a7KLm6 z9SM;}<+Tl9S6y)*&LP9@Kx*G6sz7Q$0b{*$&R~B{&xlvgH2F$f4mM{LRSFzcid<8Q z7^7fW6p~8l0^X=DavP8RjoPh_*#bmON2ylbia@!iNyIVB0Au;oSPrVv{rEEoHiZ~A zUv30Ss6m7#%&1OmAVZb{np_x}rY5nPWz0$m+l{sdbLkAZ7IEIF;4M%+AyEXP&_V`T z9gLb%v&tNkmc}N4GmH*w&7{(NMxF5I$dL-yKah#>t(6^N=%o2wJ3Zmge)hj(rH$Td zbw}8c3G&2ihP@B4!EWJHln{_K7d9e;#Y-v_;|eZUo|mpCC7SlkAw1A>V~^L@vuisJ zJuRB9faJ9F@^qi1F%rHUuAuZ%BQv38;Y-atXeOhTfCK}7oR*fQh2dToE@a5h5Iz_{$I{+J>4vnK=%D-!cO4B zt7N(3=Ji%qy>`|q|N41HkG8iZ+mS-oY@W}ScGf<*VgQ-0Un&LfjPmA`BqnMwB#~*7 zrH;7bnY*qwi6B7YybrmN|}$OI!JIg4V8r)Ef5Xl^m*@ZFfaaw6F=;yfYG**N&G0 zeC@YZfnUoaR{@^W!ht81*8A5Z>j#6^?@g7Qc=+{}O8)?9pv`eYZywC1g0b${{T(Rd z9fUL62}eT+IDMDk{H z9%$p~elpXeU+?{z$HKZLmVEPuYjF~V;q59~D(|NBmEvPLqY#Wxs|D&!HrQo^4-5iJ<-y!hD>&MT zqLAJaGbY>B7;ImI;cQhFdDR$rh-s|f$fu|!tpgHO4RZrn_4xKC2$t?4 zTP`Ii*s;jTBke@io|NHLVB^w9%*t=a3gPJ__u0d@*n=^|C63AT;`PQ*rMXDCHR10l z07`Y>%>3u4vDo@3p}Z!4L>}^k)`>+~gu;b0H45j7(<$)c03*=Gvp7O6*T4YspCi_M zd}I)4MaV`m6HpKxTuHeYt7d=#6wU*{p!~ND22Y+yeMC#PVEto-3aAWwq{(ars2YW6 znhJW05^V`JX^8Q?u5&4By3()1+cUk%L`mETMbrB;JAu$aQz!4^PxyNUj)aM0Rc;GD z+z9zXRcLZN)Zy$20Hjf8b(dUK$%adPw+!#IBO+72sUfKd`CqS$x2LJP?cCnrn(VTI zMbbDD<+1pJ1vIZi@+5ui=WNb{?(eS@wZP=^Mm1#gFGY*k<%lxx_hFup89hn~QebvR zf!x=zv4!Y0S@5h;@IJdQ^EhI{pFn@G+XOWP4sH;5PHobLY+h!N^_-P;gSPR)_4_0m zA1Z=LU^=r5wKS+6>)anbeYaj;yADIOpMA4oZ2(nUbp(ScG<~@fU31v+@Sp-^FgKh+ zhvH_{Svz%g_s0|}!LL`pTf3=;pNgbj zUv&3pMZ-H=i~m>U>=T-;-~QXye*-jM@9S~?D*+hi{q~PnqQgP-d3(??n6`Y>aGiIx zeehYw3rFDz<>#<$r4XZ59{$_84(OD4WQT4ug?oOd7&Nxh57PAz^70Up5LQyKmNIbn z@{#xRvzHKamNP0d46t{Z6&kLobhmWfwd(mg_Sw4?zFl_~p3$iB*j8jcXCjRJlT|0B zeKxy}qtGXS9niDp3BhPatXWu%6^_h@9psXQYUtjESw@|wxG?^AnOXm7tG0l*}wRs5AcUzpHPRpXg2e> z);-z>HG-zoIgP1;n(^%Vt{l6L?ECf zB{w0@OY2Wli|jb#b0PlB9{DoA#=vVpz#}D<2(GSIu~v#S3S)}kGJ(qn2VK-DO=+4R zM{swGK)4PX5wH0r1`w%J8N`kIwosIb*t!@ep>$;hX^T%H$E0bD8ZH9zjjtn@E_~I5 zTa_9!2)cy52vRbwSlRe@s18HLTo5*-tvhTF=(06&9IO)E5$)o~agYjF0Vb;&g*XN( z1gQqG3VL!;ff#5MaUvC3leiyd!t5a|b~*-;IDC9!Kgw_J*)shj7;HVzxWP8H1Uu01 z=~BQN8)C|^xzZWpQ`lr{m@LPT>#YXk#Bh>ZM^OXF(|`V59<1Qu~M7J6%-(pp~#%GkAEhFC_)z@Pbvp+h!9wNaBn z4!Jn6*-+ZJ!&?(AMCCBL!V=AInI6F|%8@KwbVa?TRvu;7mjF|bDnKhEAL}Su+&pQL z4zr#p5{gc^$_oXcca))Qt+rr_U0{x#Z<(x=g4%&zNu#zqb;OrD`qc)0qY!(y?P3W{ zU>%02VDMLss+RhA-6BZqw2eYJ-7;3H2`#>0Zu|Xm?M?6BWfgXTclq#>1A?DFIsbg1 zh5QHh`p?j?Sq}kpPJuWE5%_;0?WSKmiDws%eVu=odrDKL(_6BtmMU8hmO6RM4t4DV zI42*eAjX_qFD0@s$u)qW!BK`D&QaJVICL}A7~Jv8Q>DCqh}o_>`rM3 z^Q{cE^VT+Wd3m=2y*!VuBo}UaxWE29<}bHA{33Mp55?0sz*|tw&_?MjybjuZ)^>z+z4LmQCc@9zw!aUBF^m~8r+sIu$N5X7{uoQyQ04k zfLv%5mEI6W)D7^!BlNg%K-4uj>;ZXtl=^Z=HDb)%xRRz@R#w4S^a{d3`lD*3o)2V? z$UE4poBLR*ds*4|5$>N#WW$%`=Di2Zp%|ruB8LD{urS~%n37V*(F9&5cu?ydlO9Yi zpsmGyy2k$fzf>%*#i|thcvs`+@Q5`S2I^FpCxvwyViW0FC(%~Z?xAbHtykn)t1zFi zjD-AX4N}HhN;SuD7a!KrV8L8^@Md>ckmjJ7Qfx?%-Ndl$&#rb`LeRP0eYT}eQ>k`) zs@@xtZ9uO^hh&Knokdexcu5r#;1?em7b=C&DOprj-Vej%?H7l%78n@=fu zon=gtluK@6bt~f2EEv+)xg47jr9Lx>@IoZX7gi`@S;+j5Bm5pL4qLj~!L3!Ofe7nc z6;gGpE?yR%u2%m1pjl!$+|k}u^%&0@{(}k>+piEL$eb3Tf+Yx75~d1G#73Y3StL@f z@&{Y`Z47i7L@F*$RT5oGkPMPFJsGjF98wjV3OWW^ z)NmE>K|hd0S|zRGP!@)g5s((0A2dfc>_!1Ki(|@iWlGZMuq-A&q%acIKxGmwmx}c! zk|McDS#+r_V1b{v@r4vq(MtO^iOL8jOs+SvzlAMHjU!mFX8m+i9Wl3P>$_N%a)9{GbL$L~HUpL);egh*r{p59tt5#{W#- ze%m3}GzhygR8BHfSH;%@pOBL5L+{IcC|EVS*|o~kgg!kSeU4Hc(F_yggm`P=5upfD zr=J#(`vuc45`*SL$zv&3YkSYGpC`Q*?r=RWqmUUyNJmi~^whzcaUgr+8OU_f6i}L zvVP{jE&ykWfct5pn;!Qzd-syxiwo^-%WkfUqS9bgl_H>bMx&v(AzqVJ`{Pv6!PBgOa4GK4$3n!)P4xH1EnK9O6 z6EDSFTL-gv_nLd0)&sb%e7LTNqg$~=x1-1%ek5~-SmX7FTv4AX;0JPMcc95^{%O#E z25dY~IzTx+kwVZVZ88e_1kaJ66GKRQ!5}Aw8;3K3E+uu?Q!Mq=P7jK*badcj_$0}^ z5S;`*S6xA{CXlL6B5cp7sL7P9t#Rq~*tzG6^-ZL${$4#H7-L#jVoZi;&YXJb?bv>* zolg$6I>F#K)fvLh_#Hu>YCu>SBYTOS{ASi{9oZ1uxV#vP!S0PnF;fIgnlP6)>xw~7 zLYs>V>uStnF|T)Lo2V$Cu*Zs%Sq_W0Uz6zG1zB#bwZP_B9ajfD^*Q&tQRIs-V9mvd zP2r=^XzU`>7l?y(qqA%6mQ>!kIKbc8A>5xsJ6qp}+qiweMyfI#Ey_T!M^>m%Fsk0( zp~z&XrcxITMME3o(*?4UWDiVRM#p&HiLlTmyQ`bpB53nU)rRAi%|Izk#aI*B85;a- z_qD9;sb%FF+F2Wfo8!4R2T2<=i6ZCYCY4Y_4bMg*#s?w|q9RfxswTu`p=>(HgC($~ z*b=3YGIfhVnV`#Dv~2N_BOu1OLZ#_Nv{^C~E7a4vG$BzWY9K=2xTzCG@uN~n(4j%0 zRjl_cLGHV()m-H41Bf-X)4kaGI>3b~B1OK@0XcGUVi@=s;z%SAzK&R`G-nFdbSaxG zDh+B2xG=Z;pnfbs7-?%(ssEuWw;pSZya}K}4^$T3snn!5)>g7LVDD(>1Ap|Fm{9ED=KSPF%&C0=uc#j*SYmB?4)KKd_989jbbNx#0!+N zB{Zlq$+3y0$Sv*E65SZ44tJoE8pY{K!8#csPZ+QY#dE*$lDYC0x&+;xYrB5>-)5D% zeaL=o^6kH#{F`C>Cu-u5`l3BSat64`?3s8)gaj@`ApdJyu3ZwW!i&wMw1o~1CjkguW#X?q^vFD zZD>5~ratGTzT`G}dOY>Cw*AR@)ARUM%(>J1{?vse@Ns&@x#R11w|+KorgJi4H7w$} z>?S*9R=Xo+{o77_(Zv2zLiEGHbu&P9O4#%?pyjVYB{1~wET|ZmSkbrDC2!Xn=-}-puWBQ!s6M;;Ygg>=n3$rA1!>iwQJg^?2P|mheI zy0R4V{U~!Fb|Mp)7b>?T{ZV9z-hDYn^iRzMyQECIB&Sl;c&(wsd!R{~H4K>Qn809$ z5UG`42#j>nS&EU^Gmk9Kkuya@s-Uv-~X-x?+o*{>b8@*{_-(i zblQMzUoN9W?F@Y~o)XtfaVyO}ZZ2Pm5}rT71w*B7mO=-pjktVgM?8=S8BgoorO|p& zPVnMx>on=0My5J0i^6_o4QP>AKCU`-mweNECD5@+neSCNQz|Z6u}S2(`JJ>_)sjBU zTkW~i^L&Q&GvN8t^B8U5eq=6J@F&%u57&Pc!T)FcKg>|)7w|dAo4M|Nh_w^!1NnX* zI-b?xDe&=dgZR%A5y%K^@_0OELKsv8mIX~i{p{{=b!;;!<@BvAKl3X6x;9zvsoUjU zT5tMxO0FA_N+US&EunEP$Gg)PV!g{ddt>cKmedMt+xg!9L2(OjTfLy4TUT{43ES`Q z9IVve8H_!A&VfWkyRWUSZ*_SkCrPQ^Ps1t(hTlhJTv%pM?(ygeH*WCu9trjdHH5W# zef~~&yARg~O{0$6e(zgdH-RrBJ)Af6J9@U-L~^*buxB)PwoJg<6W9wHY3zz=90$7G zGa79I`Yn8#EgZU4pzLrhwP_Q*T7|Gt564~Q$xSQbSQ1*!vTI%OY~Z#o;WKG4x*FFJ z-!%S_leeCyHjzxUbSQg$513q7l@J~>;^u_aIKI%Y?*3*&s-g>rE9vuIR{rBej%L_f zP01_X?6L6?0uM4cMrtv?uJ`u#%zP=X=YZmInx=!>CiFP_RXgGyvDx+8t+|+U+%)fr zkaswRDK$UBa2$jwo_;u;^_MK+pQ0ZP(BCmh&cBJV34448JjTvjXqXF@lTXnR94mKm zFRqsWvcqfTgSPmj^h7FTVUNEJWNS9c;f~a#3ltYW(pIpe=Aa*QGx=5aG_J3AL{;;kuGUpm11AVI>?cj(h|5`_NGnlA{BNl8_jC?(xv7?EhE^tq z7I?)L&S%dI_9Zj)6P`C8C2>DSa9MSp$?W*VWGaX?5g1+aW2qtF4?Q@IHC&;NZ9*we ztq`+6JxeVdnI0Vd8w_nK?KISwIMlH9o>6hJTpSE&BwaFVy9lM? z6zUi^Y9>?>DtKtB&+5E@jj$Zug3TfBbQ6r`Qc$UnSSdBFYJp3*N_@rCR6;4N>^t=j zqkGAH=|jDSSi1D=w%IC4ffT0QND99WIS^1kp^22p%x{coqEt=T!>suh^do|gvs3^v!`l#zUa^+6ISCY3JeoB3o6wZ&EHBJ7+K5szZcI@HK8NOB6Ghr zgekE3#=3zv1ujYTp3@08g2_^Lj%ZL}S$6&4ae-^%BPC5`6bN!`RCKYl{_ygMq!C&x zYLqqO7K5oosokLWjm0~n{TI`U8jLxHvo8Z)spYPA!5Zk>SEethj*#Y z(tHB1V+=SOq}O)mRd=ZF_8{Xe?6R;KKF?gV83bNk&h+3-GnDoUoVR2D90)mF5?^?C z?Ca|4Tj$-*+`vauz1CaWU)e&@(?3_%Io#k;;%Z!P0|<8cH+p#4x}JEsyZDbZH@RKR z)xJA!3U>S2@T^)H;4|d|o2l*PvuvcWs}*o*6!93R@#-qEtr>7_$Fr^E^6X@C9pZ87 z=u35Blu5c zt5{aeixJ0>DM0rr=+wCxh1pRm?bj%JTEwpqtkcqH%rS7()3)dK+;CR%MM>^5T?meG zFfh_meyVTjt@Hf;EvUNkU1w<<4VMV4K!q~FNY+oAw(s)Nu6jYYu&P=w3jxjuoE$RU zBV&0sBh}H;o8J3Yj@n&8I8zkg0{ux9_Coq)9o@|yvNcZK*wNINvC#mP$EB8R1Ei>c)_Lo;a|32;0w^nMT^dx))x$hNGFS(xSlH+cMz9$o=oz`l^|wxxa*paJQ#R7|W*S z-qnx@1qVJU7CM;@{G1hXi^h)%F%Z(`sRUT)l0>Dl#DPq`!n9wsC>6-T0BjL6*iv*2 zm{Qnac$EGMxo}}0{vu9NT*=AK1Rb&x_8^^5xu__iFuL^bUZn9-j3DTwVhqaXhqU|^ z96>S+ktWDx;VnE;)u1es6_Oz86Bw{K-vmR)j46UDK*MF~gi4v|8-Zw~Yw4ZkLY<5@ zDTyd?!Tk$;VIoro49WdpNP1=B;}zILl^=<+M~&lhm}%q1O=5D42^2;unTSs%bRsw? zu7||idfM2Ei6rKlB$tfrwqmjlDoT?|{{Bj8vLXs`n!>%bJTk{elbmmVKn&ykLGEpu zgET6fFJtKp3Gml)Ii{NtJdV>dfX4f|AJ`D#9`0=HSi$k)>MMO)gONj1hz4Y0)6u1! zR&q5uI-RzzOC2 zGj_@%RSk+~u|E|u4KO`t&s=0w>2o~_TSO} ze~3m*;Ir^gL206)%ws#C`^z)#U< zZd|(EkBfTJjZycMELN~Ba#*quIFIUG+4ob4CA6H3Ur1`g-`d&-Jf;rx2Bq~}I|}$d zhdvv0{r%HiUe7~0!p+H9R9I+a>b`edyh4dt2AdsYN=r5{$%p%HLP?pNlk+)Q)lJ9q zJ-b}z!~?5tXPXy@L%W(5+E*3ZmpNV?f4!|e2Dhw5-{!y6t!L(Em)wq|j=z=Mp68Bd zPpoymRhAt$Jk1yWNbS9A|B8+bp7?z||7-c%-(!)!vgFh2ve=}r&DY+dy!=KeclR4i zM0~SYgkf}xH%hU0&IC3O10n=qEBc~uimLh(ii*s)U$bhJGMk_0MXVdJw4LV{ojgsn zRhy(H&7i^~zmbQQl4y<^k3?|F+>m0V80#5quBtC`tWPD}ZRk2KU@B_Tm7 z#^V3bLhC<1c|gOGXG!-@KE=iWs!7Rt%dDGitlGE(xN-B?nJt$*ny8I+#B;?6D1{=V zBbjU6GSxS7n7g=JK65AfOMuQE^a7??%0H&zEFHuGtwhYGK&UTw>|Jt9oI85BI%%Q? z$OJ70{}0cZxv$)&EeIsucQMqaR0YKo71QAd>_nVuBPu#@ZJ7eCgr#<$<~Im8$k(=a zA5P!S#f}PEw-1rXY%0n_SbWyk5_AEIBt`jMw4zmw{zba4W?2Dx`PRTAtCjP(PoUOx zx@U{j>cN4xZX3G)2>=1xfFZ9IZzbLko+%hRlffzttVk$NC~u0XRw>RPvjJ&A4aE8BokEa0^~j+5>~}HQUc1BEl~oYilLbBC{hG*kQF<*A5iKOwggi2 zZ7MJt7)191l1d%1WNFM{e%V2iSbwxlP>2$v=$DE`;%SZL7{ra@)x=Kj$K*J&`b&R9 z07XM4tho*~-+6Z32@1S*Zr`aN=n|%w(jELZ#}z+#3Q3v=Q*E%TpAl^%sVko9=$XkS z2807p{~||`=!nQ-ZeR?C7;rv^FNSROKE)*k-@aYXba!@!b@Sb*4DUJhAp_YW+gZiHO2WSP+b+f4 zkC&Inruew1?4`MQybF0tIPvnW(zbV8qAVGr_@OO(mo9C3UYT&kM))?_{RG%-&L$+n z%z&4-Cdb~l%Y>hSF7HqM^ZUOBK6W=Z0oKkQe$I6zJ+wvCJk7+!Rf}y^K!1;~r;eAW zi-s7mKG{aX=Gj;l=y?7Xnpf<55o$|-P`184yxbji{%09|<&K$cg=hvw={UkKfU6!?2V_9LfzED8HFTuS^u$G7-KF(-9la|O zT*`SfILeN}ufk9j4*CNTRH+2+*Vk|gOEZnO)MmuRN4cfPnZ>6W4x}0PcqTQ^heM5Y zUSHmY%w=M;lXH>C_+2ydm{>^C7~eF8a#6;rsj8{}Mb|rpN7g{?f=N0_r-P1d+qS!6 z+qP}nwr!goJ007$&8hD{b1r7)%w1jYr}o-wy{vg%sz?q9N;Wf_PG^W#Fj=U=Y<80f zpFY7o{%nT%3g9GP%SvhTLp)wAQb#pc5zkRnkf!j4EOr7L6zXvX`!t9PbY@9T7%Mb| zN#i6^fL$LBHNX|9|6LrnpMC*L#~E&cd}+t(XE&SeG@I=)o9#0l=rA4Wv6^d&PE|Nk z@gfds9zmRT1Z&(j%7ojlj=>BVqWe2o98*C>FI*k#*qvH3PCyC%>JCB=e`_OIriq8Y zp_Z<`U3P9AI~nd8^OW*l23|uTNpE1llM)gAY7v+yY^gzQdi3YqLK4|vAX;YH07Mxp z+t~&$Phku_Qq7Amk$h(i6tN0HxC~rm2!tp}&?|g{iI}!dm(GPVc3cyxc?8G)#h8A}d1)%%el&4?P5h)t%1wJT8SLPrP$zy3oS zfWFt4>Is`Xh{M2P$`;(%iySKI*&uF zAQebXl$Ex#_jI$Aw6h7JBa*s8B$5}AG;2r57oW(zQK%h+tU@QBOfqdbOkq82c1mh# zK4e(}7$3BC1{2g!;`u~l+WZh-k*c%m59BN}g-yfcFq{rhhu_W0G}{VhH6eJ^Q)!+F z=9z7W?R#bE5w4F~%-eC%+t9(SRunfAv^q!3)JR&$Lu=t|fBIRP>G1P6(7Lqld%oY= z^Kul4@AI*{s=A%PpZojfWA6V*`W@uz@_uPwV_;!1GFp2a56I$o-%jt`tZefcZ+*Mg z4t<)cQ~5r*<}BDBZ}SEZ?Ec3M?^7lNCz2ApQZelCqdY)SYDy`W|xvnQ4 zHgwJ17_#5%xOZGg-O@sEOfhYeNw#XNy0tq$m+r`OeQ#D%bH8pU==ol5E`bNXw}Ydr zvtx~`MP5@QVLKOb7Xwc@Q%fFav2&A|T}_2|MO_{LSoInv<)XXGpy~8dEdEsWhStTV z6)k%*N$k<9>!2kyPoGvGgEY0&l4OFmk@?nL)y_+e#r*Eo$Jg6Uzu1J5?wFYAs+;Pf zlzXIS$my%eZkfOo2?mEn(YZblyqB&dE4p zXo;i*RbAjQ5(cQMI!mjxUZHTwh2NPn1Had>lR0K7hs(JU%Mg#qkz}I-7emuFi{zRE z`;()nXrjD;nZyH&%ze-T(FG)$C%&FiKdr;XVSU=Ol8MQNZfoA+bmz1hp$X&_SGsU| zisVFMN_FoVVSRb74P5)8-TI;*A|eOyvo5}Oq}<1n-KT}^Rskl*p>cr=QFgS&EL>c7#ZX6khgcXDj*kAyP>~~~%otYT zYET0PYJ`xeVClwvqCHA<;DnSF;7J%^dT~N9`5t1$tq(D2zm+Vf-Ve)=lqwKdAq}y_ z3V$eJaYl^kD?tVra1z9gi8=_t1~8#OEMl1X;6p$XT0p7z*CF{OIjB(z=Li?4>>(q9 zFvvpM6(OaFh@iuq8r-XlBZ#L75lT`VK~LpEqxF{|D5c@ofg>>`0u1WHoydX*^r0Y} z@FJ)4)tGC$$Gu(~N|UYeq8Dh2V=KmxEkb`4TemLs2#!|ESx)fGt@T%O6U{kB3(7lK zmx-Z}=c`bRb;sZ&mO7C_X-6@_j&vxC4yzO|IWIo^UWoaPs;UzDCMu4*&!DXnRL{C) z%q9q2?Q@+EY29v8y}>88`i<#lfdgSKd^H%cBENFAUv*y%T>(Pn6{J!WE()VK5Yi_$ zWClv7Izgv80P0aAZ(`Y%r{1mH;LPlz+4b7z{_$8ghld__YWw}T*Ub;OzAyYA3BXr! z)!6SISDw!I8(a93le72p##78y-}eRj8KBGHAHRjb*9Z6a)v7M?f9j#HR^Tw`70jW3 zd+G9dxyz*2@jUK3o60U(EFYdq&)3xSc2zl(8G)XDOSp1=+pHOmaa(F*6HeP_wcmcKd}2Wb2aw0w(}{osjDd~?*9YuCs8c_r2HKy*YXt%buzp zSPgHk*{iRLi;>e7_G=*|sw$luTI<@YoU-#wYm79@licd-Obe_m z8@!BZs!FH`=tV63_!XT>eUFY`P8yIPTnrql;!>6Z@b6?nOHV3K)vZM|WF9nb?N)8> z)f_``m=0^+5^D`GZ;=V9a~sRTtCD~E3o<%_W=rHO*v&Ni`SC^h@b~N}7h;m6kW<1q z(!m^1me*oErdOxQ(xhbd?U`QtaS&-!jIqU9e&w%-%uxKovFQ*?faq_RV37?!pa?2w z^2qwj7vV^o<;|MpN}A@&8Rj{b>%NuhFckX-dM~m-&$^+JZ3s@xZg0fmbQX#gx<6h^B=N?JphrwB7@X^a#8d2e^dyyRh56VeZrRD1?a75Leg+0sI-c}|^lWDt zDZ(g{e_h`^Cj}b|A1e*nZ}|dPvh2R&22vtW0%ZR@5D*9g8bP^ou;jmG7;;cWb#f&L z!c^r#w5s}kSU(uxUaZoH15V|m@#N1zid7=i(4v}XNGKEUiWPE{##6_p_$3fgl*|cG z0#VQi0zm7GWmGAxe0+zP!%#v<8A!khB_Ao!8bydg#H7&0Pl(dpClH{4$fPXn9SH*f z+MWbNlf?K&M2RhTaED_i4OkX6jn3ePLl!HDz@?R_UH^-CP1R9c8^l;kIDH|3ym=52 zA|D`A29CiQMzy_@ac(3gM?o~0B?d|=EoH8t0C-q1|1p0s$?hHwxgmPUr5&#-W$Ynt zC$4Nia5P&O54C@*?{JGrv_Y3uzlj1CM`08)6q zZx3U+z4vaXFEIbh-u(Z*^nFbpU+|w|Ok%g(j%{OKJ57D{w=N_{)X8;N)P9jy>QLBf($hP=pv%9hx}cf8l$Jc7p}3~az_Z@cY3gxvb5IDs z{dtfG&-ZoE-MZyr=U{4TR7mVeqOE=@II#!={egN|Pe*GG>g|qLNct-g)m$;TeLi`p zF`4zA)p`QXIWpP3Bx|oYBV?++=Mr;%I?CMA#Kf>;U_qHh?Mfb3Qrg~xygeMLyL+O+ z!K1^2EhXh@vn&fg`m9VE-+U_F3eIwh3GL@yLel|JxKH^D200 z@qjGY)bb$o8tt|nJ?noZ^@5Z}Go0_Q;GzI>BNI{+TpZmbg@z5q z26X(Ev~)J~4CeEV1`CDdq-8x+g$>PldW_U�iahPHBRaiO>$E8~JIztRZg=nN#lg znw4f?#F4bMU@MefmhgAR=}DV+a#4`p)S~ z?cI@#xsl%t6$wf4I(h`}b6<#`^{M#^Ko5{#!ZnE%SOR zn}Ugv%k#P$D7(Gh+sN)-x6#wSVPD7PWZHOjCGt@Xx!tHRFy%ER&gVkB?WT3&qH*C^ z$a0dm;oCfF%C&4u!JbD=-@?k?$ysaJU~TRCbaBHv5F4p-J@5#OeonjojY%k_@#)UB?ey zt`^Kr$9pV~K@FE#v=2Fhs$2O%st<%uGm3&CrZf)=1P{R$gUXsLjL%_{QFXdhj6Wfd zy9mFj7($L1oM8(&Wc(;F1;at-O`A{CW;au%>&lSgKeqLx9POhEk&)47Zg?r;NCAq~ zD^dqg;WZ67!c+TEjur0aM&Q~IThXA@S6+~^ns0MLkaM1t}Gf6@<2=pPo* z+{$4#W{Al1R{qk@G(fXtAyrpNT(1~C)Xs|>Ob{g+=gXJb290xKC4+;iX1lS~Sk>?& z!=bv1P(9|CZQ#$1ctW6;HcP{8__)1a1vYZK#-yT;baGKKK`ZhYf;IWqD5$ckPj?CR z{y9D&mlz;|&AoT}t=n<^(lRzRK7U4%2ibCW8!}bR{ZHmJX6DWuzLNe?SNHU~S zIRPnj0hK_00x=b3RT7UTyaFtd0aS`W97YhhLm2rFP9)6#1OrAi@fWKr077kGPF%25 zJWz8q3(iB8Dr{0uLBp0jm0!n6a-T9$dN1lkmpNR*adTNKUJbQN)Dp$(57dO{~TwnR~k_yxyIY6Pd#Kq!N7;?A`*?T;mB^q+49*URHEKhJC59qzZ} z`O61&>~SjI|M&p@Z-*f*5ET5co{Zo->+JU01HgQrGkm0S9~jWT_n!=)7GQI6@%@{PNYyee`YJ{IdG3>h;Wj((yHCjJChH?;HGmlKUg{ z9UBNFZd3YVLO#wfZ~NR{{j9y*;yY2xwA|Lf>U5s*ab3d#2Cg^*=uHNx; z)X-8q-&T+DYcKyL|3)#V{tQ!>s5II!=sM8KI?>8{@gfqKbP^gjDCDN*I{pbrA@`8p zPqc*5B=2nGj+~nRlvWhRElE#FAA1Xr-wUsKxa~+PA16^1ztVC)^irPCQp_#)G_v-v zaxM0%p>5!wC?*qB$1tx7zc&+qun32-k)6gXtH3+0x;!7Rp;&%xOBB6Oy`%>!O146- z{wCcVSSTIuULj*5<|JgqCFW|VWyovA%WI{`D`m;6CCRI0scR%FuWA9;`Wg03CZ1)+ z`V}UtitF5p>+~vX{3)s$*yw2aGDM`+kp8B^`wKNNOSEq$|F?!8pIvIicQNp0C$*Uy zm**Wi3qEN)PH}6EIErh>h|9&U*vk`ug(9{cjqn`@oKFLU-K^APWs3NeX;UMpQ%bLO zy|qfn%n7`fr~KblMj2Ip6JkZ0Kar}zaBCpe6_CvWaPY`Q1!B<>z+RrNc(~#716!jI zE6@hH!jZL%C~fpoDtUmKQNx`BOz>hEwM5wmHLEctE6ZG8?PNub04g5nTUh}VeFsZ) zzIoZ51R^+be?!BCeEBrbA~Ftcp7weJE5pZ6Sw7E)m)qT0!Dj(a37ag4N=x}<(0Oq!%V1F_pG*98y>IK8ck<~WVWvL+@q!Z>kJ2Qjd65eE^1lwTxy0wHO> zNz|-I`-c{=a^(V~7Cw&cLX^zHNlapd5QvmzacTqx2xwqHKEk2cp+;>Q6%;2viV{g3 z%^v0M6pT-rAn(>)i7s-|1Od|tDN#_ru?**T@`NFjC{DN*0lK(8ov=g$swU&WU;-Dp zPi{PKwdr)*jOk`NnQ6(GKrU+>d9%xpGU?WUncC8*4hHF~3kdl86uy0_j3uN}mIHHQ z!{K!P{r*d(#76K76x0ON)77M82HibwT>48UDsCa~PAa01$OIEbZAdS*Xoh?d7glMb zWWt6iw0q0sGd|O)yq|0rL+5iV?14*DW!9B3%cuGnP_mh{SL?W3K3@Ct{5}tx&)Z+G z*kA1XnYSNY|37G<9PgK{$H*}>bYw36>vU-DFgeMWv#+q?gzol1>Twa{+#TVMyJPlT z*SK$c+fX3VKmp_t-!cC~3e;&9_kkwmmxEB-p3l2k?%MRIR_QCM*0Bti~*~Wd4tyVMZV{=ANVZpHOHO5hf$@MCTXQNJ?+jbYx%w(5}*0q zuA`r~J&yx{a=`s#U9bDgXIWr_VxsJJ?s~@P)woLXD^kOPi+PIBqrBAQ zVBFnJQ~cWE{M2V-cKcL$yY&2c-|$`EaQ~J>t9eshBWD}SPjTpAg@C*&f#-<9m8XK? z_MYOz=s?e(t~$N$cRNnUOS6BEq)wGQ$L*xuZ0*%tb);l{Zruzc%X_U|nks6kIcR@5 z%pwLqL>^S8im9~FApK0B$b!A<>m$7VRiBP2?%qBIA!<&Fs*d`&it5aHsJv>dtX{mB ze%PFz3}J&}H8o=$EB z9enRTZZD#L)GpSJ#<~_u13#DN0*8yTwkId885g7X=+uzOPne?lj~8dos|CYhGQr*= z1~hBx(CFSQaEbvN6p6Sr zDBz$4dSVDrTy2i@7-h#%52{&e=vuF-ydtXIq|08Us$L?hUZTrjqyZ?Ubun2buftQD zOYPwo8?e%HZKJFbU?JmSTX}R-a*Oy%DyK;M^uOQ(h>>v$p@|C5BP~Y&=ufg-e*lf+ z_W?`=brkF~y3}_5Y8aXRaRlfy%yXq(^+r||t;Ovm^yJgz9CD`@#m@Ka9*~&bfl)f3 zkgoXEiIrdjASm(uaR?wl(Vr|0dYE85Y(hX7jxukisWN<}Q=G()@`X4oVCM#B1hhUU ze%x)5i9-)cTmY4rK8QT7-YG6C)4gZKqMrgpoHb>rS+pq3!C)bNfaA>X-4zrz;M<>|21^w9$AD?n3N3oV@Gb}pQ_n{h z052_8B!5YwH*Os-mThSmpid#fc}<#ipO?O&=4i9QsoF9Y%(*X>=~5um$so0L;m*HQ z08CU4YL%UueT>~A!q;ac9-n|(#zX`k8`wLVN)A)Q! z(sfz)`{waq&&LBWbkXzf0nlah(fogu29NqW|1W^xAAr5*ez){LY_Rit7W;b_rR19h z-+C!Xjn7E#c1|@n$4P|${qJnGFTd}__kR&c1wg#<%Jjb@!KdCS_FqJVEZ_IRLEq`a zuEyt@)cM!mOW@}4&-vR{EH9bJW+2-bT{>jrYWacR`lo9d-A?X^H-4pV!N=S7z1wx$ z9SCIL^S|F@x8n8Oz6~tv`hM(&;(y=X(|^CLmd5Jz0-<(1Mf^&Nr#xfBB&nn{$aV5S zw(th(UqnJ3LK+u|EL!!>&pS(&rJW-am7Xy7>(r6l)Rynmm&lv;$((0{0-p3qXa$Jm z9d4fSf^s=wUKA#V%Qb5n6}o;(GSxy zix1CaNoayLf3Wc`i4NC{$61MTr&U3y*iB>WX2K302D3hz3JMi zhBwC7vLfE9B8ICfhA+-SHZoGWGM?^Q@88*MmSSQ3Nkgz~|fyG`$q!Jr;56)BDz>-DSskeb!i$^mr2mWHiGJ^ktKW zFZ@(CQI2h{y^4{ZQYkgT-slGxBZxhwCw$G%3I6(&Y}e+U<+KNqsLmEOifTQ*mOfHy z&hjn*RWrd9wgp@`SAQbh{6 zWEn%7VNDNYtpNG8Kw)R>nw|&)Ymve@f(XIS7o>Ipu!zGt9C<$p)G%{Gsh^b2aS||< z%?u^LHd6$}iG?sIPQL+VRMFMrsV@w%z6U}EC zq<(Zdj>?2yF?dT;EEwe|I;e?O{G7PZac-=WhSrXO)QncX9b=HCz5aNE(-F@qk=t@9n)7;E>%oZr zwLazJG*V{)!gV}=dh9?Xivt)fD9WUFd z>VdTu?s;p)s<&Cm(U#*@rSRUq=Ic+()1R0t4q0D?6OY=p<43mZZiVgghmzv0!tMe1 zE${Es`BGi4uQAW-o~M)M_2;YH?)NKheD8pV!CBe)wHF}qt;=6|eJxAE_H&%Ez)3>xR)N!!0E-9}l?k30glP zLgTHFFp9K53DXU61$y>ueEU|1*Z$>T0Srjy)yioUSf<8v_3#DrNtjp6z2rlpu%=t? z2<`&}rK>7!D|FpF5RQWF}R7t3PN5QVjPBo$8Spg5pfJ*Pm(VV za&gf#)0I~=Qx`L?Q+FXlN5yNbuvPuLTjwb0yL?J)^jZwc_}lAw2|5LjQ_Az+CNTRn z^pj#KHl$IimdV`S4k1U-0LMzjEY4^#QHw4QOAD?GF3}GzaL=U&B%JQ2BG7(BDE7eQ zqCO)F-YQ20&JK&L%_h35w8BQP`EkTx0kUJsLn4s){*(Kjn^mWBs&cR&N{}MQ0cTms zT*MX(d4F(=lqZs)+ZBFMEXGNM>ivu!dCd2W`N*}Mg^7d=@)AI(AVOLweSs(jBq#`g-w z_YKGQjL6I`<<_qJbiT{5XK|4Cs?WP3Z%k1KE=tE$wDT6`>6=E-dydFQd=->Sv4ZOc zRpx@|Lx=&jc&O6Xh!e#>Frto-KC|O}jlhqLcDl#OAI%Ftnwthx{^%)+$)(OX6b|e)FyjuJiqx>uq9t3eUzp1fI{n7ZI(si@nyp8=VTeQXZ=E+CrxiU4l?Jt#8sBxvpeb7>4`F^aG;5$lZ zXvdUwsx8G@Df!R{`Pdu2vy0{=7bZdRg8=V0O0PG$I0E!0t&S#YaEV4R+?qGu7NF!U z%`}I~rRz$@;%jHpD2gZU<)Tf?DL>Zug2X&5e@Jw{pR9$4XhEn+#-&j;!q)nLB!9d; z8MLaWWZVqe3S>5HER9*}@=R=wF1Id+`ty;H5A&a@87M^bZ+Pv^nYs*tGCM$LqT8$_`MZny6_4;& z@+#8!_}q+bjvekkz2cpZ#fK!1#hf#{tFG-&AKooHM?K=aWu(+s?Ca3Lw(FoekkNZ7 zWb>=@Gcr3qzE#urejHuL;(6bV4RE{GXt#IxJiZ+|rcTFBMJ+ig8KssCrn}pxO-+pMMuD?E5AJosDTbhEUZ6&UVZgulYTD4LS3k!PNJj#pwiN+(m<$8)q3 z@YV}d*)p>IQwvS~c~m=@+v)zb)XfbXz3q=T)0?tan;$18>mrS91lbvg=eZOJsVOPX z565bi$gmPd;Ljk#&w0I_j(M&G(PD7>p(LckrV>L~+AVyt=A)_^(5NPnM6GJcss)r3 z%V^3Lw2K`HSlZ^m!RSpkYju)Sg7aztV zJ&^jP4_t|3E`B>~j{V|56CMg1P^7u5$Qf_h9o`*_L3ZpeJ$}#NriLShY#z$epJ6C; z&*88w1&KB6$=NbfB8U$nh?hsfikT*;=Ty>R2nIHqq*3s2f<(jp-H8*qGklGc8i=Ey z;Q1vEGOozr^gA6}W;aBEQ;>x&7H^QWQQeITSJo8aM2aW+@nw`aImYWFOPMMKe4!XL zIuArl3B^C6|3@wg3gT$N{wS=Rhe+a>7!o5w=>15Zx4alVct0=0%+$Z{@Q0KAi`~nE zUFXU9`PGT}p^<_4?Fszd{i{odl~-PVrj#5M+lujAO&l`|6^q3r5=LH%bn?oD6dYSb ze0IB7m>(mBSs|~}#C>$cgf+4JfiZB7zhmou$27o4IsTTZgMVcHt&#|TIs;Jb+Jw0J zvcKxNy_&wodpF$N4s&qlU2;_g12sl5epoVzIfN!hI0tFOEpIi7$&J_u+X%I7xmFm_S@cK_O$BWCC|smHc!e`=8Hq^Vo4dwAhy z+(?3T6VLQI$dr{?H~uvBYc5lT{%<1wog;>w%mr2R2!dl zcN(ef@#e7bC=mS>Da$X}wVC}14Cd}yg+to3CFRwrO68gV%}y|x+5J3$>bpDt^WHed z!nj4pPvVP+*T=g?8Pittf--!yT9qC468-dct4S1mJfZ~(h8(XlHg_^bBB#Q&1?m6} zot>(AoA2%8%8$}I@ebs6JjBr@;E;Z9zZAaYUNleX6(}LDKK7Bv*Ol}5c++b2Nkrr= zvD-7pOjCtY^Y~E2DpLc2^!hx*_wD`eTSPvePd0RZB!3UBt=6cG8KX}cs=_X}lz7Vs z=`K0Wrr*(}JFYouKxZj0gn-CyHoPyj*?2h_fXCzYcz7KMg|E@+bo*GaQq=XdX_i+f zU`hgLoC#TSBcFLBQm^ebH}A^7(qx4kP>uAYM*C>Sz*2+(1Bcn7S(c@mmSB@pT*hfx z_X0K^8X~efY9eC7Tk?Z<=Tl{XTG_S5cU8L0Zl}ww$IRzzpxNyHOnPUc+wyw*l53T$ zR+88h0zW!$cSxMj0vOv(Od*UgO3ZEe$qQwM5;-O-CXr+ksm!U)6}X|Nf_2YYA{6~v ze^NF|tCAL>)K1DNs(cgyDJg6!sNGrLFebNZR%W4uo@8X+#N=JGp=D8FMQe#oYk5j< zdsShDU3G;)ZFx0T*-|n=+J^|svp9n8h%#|w06-MEYwOS02u~!QP)#ja9;P0dczxZS zHt+F7j=2)&^HMuJ%i2FBdge+y=t}&&l6hKx?|;UZi~0K!v>zTWD2OEJ<>FOBC0G$QJqjHzR&X24A}wvQ>&G`a zdW-({5@FY5m6A`^(Z$6i8WtTbI02`RImBpXDCZZjNAu?*_TDYf_rSSjJ`*SRxqrqc zT&aPGZrWhR8I65PHR61~OCk0Gp8E}Jag#hAT|a>x2<5%+Yz@F)``+Aajo*d$e0dn> zM3KUh4c>hOn1{~T*tU0j4_=3{4(>#{?kMZDFw}`_8Nji7fY?fP?E_gs>tQM)kk&eoiB60zr{~QeQ z_yFnO?boH5jb@=97uN4CLhW2Sk__jI=yp6`1HfBSR)zg+4^q>#(rRUepB zM4?2do%^5jF3n#%0)cbIIL#Ap|L%XL;^kj~t{D4=|2LmNJx;%8I$|yR2Aj=2;A!v~>$*j1wSm)@peTKQ=UboV;7QKIfJ6wh?qQQN-W; z#E=5<;5-z5tJfV}Z{@})YA@rE+?VfYnp~Iv?JV+rCs)$hVCL5kSx3;TZ-?pY@M&_f zL`@A(SzSoSOcytgDBI9Rv-4p0Tv~GEa^uEEdV6$ey^yf$C_ukn&fSf%=S<|3p*Qs)Iw>pKCMpM~^1S(I`ApjQ6yh-4S{qYwo-AAdujPxtJ~#hd^v)e`2{T|S+dAEf8hsKtsXu*d zwq2yB&_N+c|Bqqp_1A6?0Tw4s8g^=2T5;Ujq=aJ6npPeY|JOnqt%YMf({uep*<^Fs zy`*DA#a*Q))%s7#OixEkjVNX5kny9e0_fsClKBj#1u|!S>z?M?w)$GI6ZLmF=MgjG zcL8z3&N(wNgdwJYI*JBtS`_?jJaY=xria#;+$nk{<0k&s6VUMa zdK_2s;CICMiO%>?*T&~=)Vn9bT~PM&#@yi%;`vXxi``aY_^Svn+uWH`xs-qPPW-7N zzWkt&=+Z*L$Y8>DD`t?aluBh%jA-Rl70#@zSmG*XN<>3ybd?v>NlJtF&MXC4L(2da z*Gf;11uRZ>Wf7&cfjJsPCthYb;m0X`56aQ2)3Aa1txirGZgrc^wwzEyGyjBxpz)82 z)ts!HEGU>&{wY)R{jl6PzIMB3hdHx4!s&!USl9>=u7(hJgdVs< z9Ucfg>WED*O=9sJT!fric!L6plx}R1gNF%fIAF=)J`N0s!Uj8KG+>FsMh-VlY&qkD z@#Y*@xc`jg+;~jPz==t+uu!D-AsJV+pcC(8mMO4a$2+4mG~qFX z^LYGi$znqL_~((JZdxFq-)ep&adO~D2?F459}ocG4eK2z7W)^3-B*_#-xi(T))fBQ z&;}2nrNsm0HLK($r4YtR&q|ssUV<}h7Z1v)->)S-rDr)IXMHVa59sWuXIoUr$)}#6 z!=a(#(Z*#XeZtynkGaYIBdj&jzd1ahJra-wP#*~~4}BlKZbsU!{)@Yy|DoJQ@q<-V zSQ0HUSizwoetgd0x2fBOwEZ^m9Uo2MO9uEu2TETViIJ8VW;DrjXd<`p=lKdiQXDWY z4yYJyTM8TPgT2>U-Fc0t#@G59Y1Q@q9&l~ZD7u3oZIhD+e(q3)j{e(o=h0J z_`K$NhsyQvvfojR?Zw~r^1!;uq4Md~<{CvS#jCAdNTrAu0PTF(MpKJ)0I#D^DY?II z?E3a&>~fZ~2IblGHOSkx?|iVn$%XeRyRUnIy07^0zsKcf@rblD0Aw8n&`~Hht-sRQr$B$iE%i<7>iw3T}jsA9IFxQ3S&8 z^K66g?=rchp!M9*!3i>5(>Q*oJV7njd$={%-%|LHzIdU3?cM=Xl*6T=G}bSAYe_F8 z=ck&S)~g0wIlsmz7h#^7K}LK&aZLL^F#UlSX+19@zVFv*X|B)5?Rzip+s<5cBQo`T zGdbk>zZh3-{&?4R<+_snTJw{0i#3VghgB&J6{Wy!j~q2BK58fCB8|)1!_dE>oTigb zR;5}#sT7kMNn>r!WW&tXDyp3+JR!&Hf6L>5m@*b)b9jS<)&8HX!!JqsD3H=0wtu4S+S7R`oe(TEL$=wcM7~uBcoFZmXxFZx1Nlvv5e{XjHkYemam2q8S5TWWul{y#B!c(SZ4!KNAqj7?Y|3d z`oh_xNy4cjuTZyu;2Z#xcDLhamy}N^v(~dH?v}Xkadn<+mIAzo5&ol62S+jYWh~E! z%tQQVxXjNvEqF=ZXBh2mSY8K;jdgM?SxEyC(;&G4dp;6&dJ{ii3ex$a3!IazEWEVz zD=I1!($bxxGqq$=NyS`3YcUf{q4wdnv;4E!bQ8<$!8G&~edt)mkb5b_uDznNKgL>) zE?(L^tf4LZgYM+#D>gO9IzE4UVBD`m7lu?-w4Q^3Sv%n3F^>^>HUd4+rM)ZXyFR&cTfA?o`iHK{B?i{KqI!0*J7jNcEl8ZxhG^W8<>dtG zpE1v*H`AOW)1+h6@tQ36T+q5|n44rQj}Z}K#ELpAVuhAY7DzgU5Ow5gxU!QH;~X#l z%xc)vDDfLQvlv`o-)H^97L>@(f8GA}WeIM1Sr0attCcCjRxxo=2P||gG+TW4W5B?V z&&y^0uZMwHAlnY?nC*+$&mC_es-JP%CaKw!8ns81pV33C-ns zV|NCWc_>FO*4*+#QLEf0;_-RY?$Psjf*M72y?0o@(SKyl6%zO4jCvB?{i2y?JN;KQ z<8~R>9n$(M?xD^6m>+L3puJ;OR|ozz&2(;`%#^qH)2W9AadPv7+7H!oJaI$UeZL%j zA9eHDSG;Mr{N9&ULCj<0K{Rtar(DJ}AycKf0Bcj~g5w3N8ja^mT-HR1nZj+)A##7^CVdOKK$`%bFmC4i+u3 zs2Gy}-HdXn3o`;rWZ8qC^cv#}; zE70<$9tOBB_*hMH6YS)q9hYyBG>rp~*C3B3s4_*3X%ixJ_IFON9zD_NHaoozpAOgI zZM<)8-;b|yGP@kQ+}i2PRd5#wOO#2Eqf}aG;mku>7?&7I_%cf4m7bhrCa2Uj&*9J- zH;fX@q7|wcHB&3u&<_ui4^Wa0QId{OlFIHPjE2FCb?SSnhLvCDe2 zs;wB6o3N<4VT+|bB%7sDbF<22R1YMaQA6&Y8d~ZrVh}Bt<&-sb#l1uG%UCoEC6b{P z8inqul$UZMB4Vh7rS;pGAZQQV$n`fByf%w<@FeKzqjM!wmbn88ZG&;W$RBoQUk0{T zN4gG1w3uRWrMTWy4&q(G=|UB{Vv5}H#2xujj$H^=P!R!8@gk&D;0o44LR_)<(F3>f zJz7pGH66AFMn{8#9~XMo%|djhrDAU44N%6#N}DASRFUv>NJfk2aBwD~@&$4O#*$`j zEYMVeGI9V1$p++1sf;f$eP=2vTz8KCOX-+%Y?{{P^s5?i{fiAEQB&`Ah0+FPp|Pi5 zQX`$eUbVbi7Bp~kOJT-k^1~s( z^{<5W>fX=T6)pBcY7y{lK)40)>kjexa~^)nASF^T*@O#^Se02<`uZqG1FP zei$+MtTXe)8OMJa)ccri13}rs55I>KaDOM}`2gGW{?zjB+Vtk_{@Bp&iotbqUq(Kc zjeu1~Gb1xuTi0+t!m+6c8k004!)QR6f*bnWw4N^{S23y8;%|2AFma-&Y*3`Mln;I? z%^NA;0lbd<;iTIqyxP~#86dpU&MH*t_e2}i>AvRU?Jtj#senOb9~qShfGAIM`z50= zj=EqE<%|-PjHNapq`5lifmWO@c@6ug#V-5Y>}SQ;`}nVsiZq|4nH#)%6RKLnX4B8< zvk~9#6J7ovFpsz2Ac4RgA@lRk95F}}OgjBz!$iRU%%8rw{oFw7b5OnN)W?qrFiZIu zzhXezH(d)ZDz<+y03+?2`G14{y|oW&>e}xjNABY-&VV@0XS}uM@1Hvc(rbxV)r?8o8jY!YIpVQLr_#T{ zgaV2;?I%llDl^$(NPW1pUqt9we_J6i<=#zjQ|1qvGVRvp_*xD$=3C#Kq0Qe;C@rn^ zY9Jk3 z^4e8)rW8RZKdWYpi)VgvU1MX-fPy~pP*R0csFj+Ts98l{HG`^pE?MzFYRnld>Y!ND zkvFKdsU^3rqqeD{w60%%JzZ@vMcH%~ktvP388U}vEnlsqOOa%r(C9>|PS##NthTBR zj6q&zSDBqtRhu`UqGU$Ppa#~j31H)zC}#6;aIa7!xl^n>>Mbzx2c!28#Hoe-DMJh` z(0aD}eRpPyOx~y#@&Tdp3Hx9lu{e`s9pOc@;W5v5|QGc~B3Vn-l zSI3;(xnW&N7?~QX+Dv@%-KrGkafan~pYJw*|Jl_-cDJ#&id7?HBxPZtrlTa6SC2EX zp1{Uyc6n54a#Cu7Z&L5fEGDBQ&)Jt2#1|&;x|O0~4VwH-*4Pd_(*VVZm|5gV#IcjV zh#Uic!P2FO2=9+k(13~(^IR^VHpia!1l-2MD^Eve~-K3WKIhECvQCj(^N6b6OwsX)q)3i(GPJ8Ul##-CRxcPfi82h1) zXS2>v8nIY3wjOStDpsNzDvm9wSjO3b$o8rV0x4mH7TTx{5sqs*ba6Ti&C~ z`I@lo*3Zf1c@;Oni*mERp<}7$lOMcvqA$^F6*m)SB5?Y3l{fMcvp4$TW%lQFZFUau zA4N+`H9J11DAG^vfa_QN@baKRxpU8`9LL-anteUq=7O+tp@g z>U? U6b(l`*ojP@kNWI?r37%OCnM!Ix-EX%r(Z9Z|a^hYJKQIndcySv$Yvl*Ax z9o4vELo0ZzY$ko71Wa4My}hd^uVhtWIZ0JLGtqVyE%{ib6=lg8b=g_{tRtc-dwA|o zd%ciNg~|~t#eG%8hD3M^gL*!)M6)<1=jnKXm11>!MR$R9UPtxv+LH46oSAjC^`)gb zzD?yNJu@4n5Q`w_*cTt=RZn`2S|I!uj-S%2XOUYswu2k~_g~KdVmgCmKOBDF;#SLu z`FJ4ZH-y6#x8p>zIiZfSgBS`I2G~zPfJOYjxO%7f${OfdFt%;m>e#kz+qTiMZQJSC zR>$eswyine|IWR?JF_3o`#uk~Yt^b+#mxrKI1dv=6Z0oF%x=r<*Pr#z?xhS-j4Wg# z<;W>*+>7<|jr9xeuG(6=5eOAwX$l^#+#K`yQ*XE^eQYT?0korz_>;!yz19%-%lZ`3 z0AhUa*zuOjV?3|i>+a;M4|67j>VznrkLi%ue`lYE z_fR)v>7x5EeeEciph6mWPbg@Cj%#m<_1Bk@UYo_cGIhZlw zMV!B7Fd@!Kw6G5(geT;?4=IwqWC7Sm84zWeWe0>%CTG}Y|^MfKcDdNtSmMRbxk7~DuLc0oCRf32) zlh2DYei5O(A-p!?G8e=vOV&3<>^(iyXFK@)+?>E6@SquVEDze{^6((KvIA#oGCtt? z5y*3?Z78utIH50`>QKob_*< zr#1sV{tKu&MaNkF57btH_^+}B(smq3Ux7KVQT?57uV9yo$ zc4NGu)QJ2)+PDB{8i7#=JUiqwk90gh7*{YY9K(t+CmI3Fbrn1yk!ruxsgQU3q&z;) zFV>6;?F8_f-k`f{Tk6JmB>+3LXX9#i`n&Y%RTEM^ejDleFJnpx4lcP@+SW7z{Fu|y z(y?+4FJN2UM_KR9PnwMs0z#h;Q8n?;#VO$7@}rbkJ)icw<#?ug2*50KzB()L^9d-D z@qb&kIJwb3=jWO4@hSGs|PHh0do4Xjv5b-K9gQ$HWLnn&4V|$^oGtP?gdQMBwU(r z>{`hZE}C~SdtZA+S!tD7L9b6uRVhb($-1VlU7a;U#RZ-HIjz;@pCz~R=!=r9A~rFh zrfw!REwYKm-^*{6(kjkr3`#ZflXK)UE=QwLo0G@kb=!Lr^LLqvcc`RSCZxYWK~qJZ z(!P1cT)d_2+8cuK^+e1wn1Qi-Aw%MONBnQLDm-!* zt8bsDZ@JNqyhBe8ge6==@zlJ6S<>^VM@*+g06RjvtABs~p#IAOF%qVVmJvrv0BIao z)Jii@QJ+_3W#i%vc=t325YsXirnf)i=TO$vtXHK5I?B zeuwyb^s8#|n@QQQjIFY>>HDytcSACfG)|Q3EA{+SqiRFGY^6{$uTM5{TXm&}TZgGY zu7wENIX(nB!pS+UKy#jp^>cUN3-ZNbtHaCb`q0wPr(-ooTEU_)$?BSU^~I9G0pNES z;)YcG)Ea0hU}A{;+dp?|i32NQa)5115-qpaASp|cCo5tU=??{mB15!rrpdwu6e5Hy z1qJ~-YigLG3YQyK#u7=#Ku;A)fHt}-aXV-tQiR%Gs061E6^1Ta(8!F&9VID*A{oS4 zL>RssGWbR`#}6E&-`h*jyM6uLdmZ$BEg8@z_(NIm`RIJ_`Y=|MQCNsm?Ce}sS*t}a zHQ-1(@4uI0S=-dzSM5^dVcYp}IPtzbvOiO&YDb_}V2nH>v^wpmstzZFBa{eHyhPXM zOH&prlCcYk;Ii3e8BxvbaPrnu`Mh0w&y^B?S3w53r1EL~du)3A3#PA)#rL_y>qhFq zn{~@3ebvVzZKn?J@LKm$hkV$BM)F22dApLLM@@{^*zBDxBJ|1pbTm4AMq%^kaiF;V z`}+%VN5HR{l#b)O<3FYn@M=s>doM?{G7qZZP~UcF;Uz=r5fn>x@C*v?|8rWS#|%XT zO9hly0+tYZQ?r07(9RBI8pLzZUvBqyVlSYI z*wq;xCZ_{CE9U|J2JTz%_M+l2I5dbHplSYHwg%o^al;^8{hC%69ddp_+Q z@^KL12mE=WGaUIjt#Sd0U4LOAmN8c4USPM?hze*74@LM}Xw9dhcf^8>4Y6+(3f5}V zSEE7eTq`z!1Z_cSzZQ88+{uCUdF2KBjSV$Hwn5*a#X09r-hD^Y31@`Jg8=RpC@Rpc zwabPF&|O-~Wgxd847{*TJux1A$LoF!b~BUPkb^K^a8Gp2R2>D>Q~iy-K)*n4L>T}Q zbN^q2lMU-{g1n3K9$do0+7@If8`~dXYFxK5z-;@Sei{dGTKKYK`eq+ItUdOG{KP%J zK6RMCEiT4_7&T36YHqLd@c-)Zy*S=dP-o|Ne9}@Wiy;_g&m0zx+RS<6&bURqK1yUSpq+#Y+8?8Z<6`ubk<}Q&b(BoP}DZ8Tm z%@yeK2YeK+RLbjS<@ETO{mlH2-_Q1JlCM_0qtwq!n#02H-kS=0C*QWC9&#fsoE0et zzuvuo|9(~=$jJwUn3Wa2yB3>ORT{RJS{F>MFY7C7xjcre^P~ zE-&ouo}`(VRLO>ss}063-`kIuph1#*e%eF>gzzC=d;9?CcDUZT#I>TppYH zyEBHrcN6*eApYw4+J*nXy&v{O9tLiPjZTVMtCwqD9FCqIGbFZ4awx2)BIo6x^C0;$ ztoyRA{Sv7q6OgZI7is$2ieD=9i}}=}cpeg*Qvn=N1x3a#*7z~v_18Q?dhzze!OwA^jz@W;_s}}uMyLCQ=_f>o?}x5{@7Dvw_!Uy$g*&x|9eHnFt^yF3 zv5kexCjVFCQW8km<8@-_9j_DLY(1~QYKz+4)?)nqIs7S=x9mxo*{u{;vhtw+LH@aC zzPT)|O9+3+M*8E5d?0mJw*&S^j5?sYCQf^>J_mZeRgg$91Ak776@}k>Wu{%)8_(#j zTwSgWzjz2iK93K;SH*1wo6k;#4q%df0hNn&yh{j7jzmBOgGlaw3gYZw zRBcUO`i<-XoXjw&W}Jfqf*5M)xZGp(vWXq!FAtKr^T39om`WS)CPKk*@b5~h2KFf3RngU z(>cz)R_hs~XPehR!8*vsng3lE4Ad^UL^1-~pGwg$We+7PdjrSF9-@9-PVF=I=C>v% z5RhY#TuAK=PhzcUeaAO8bf?QEAa;D@L&#kp4>vT`RgC^U-1I&>0665)P}>;3h=Io}i-ekk2vX)CX3 zqKn|>i8?REIaN%=4om2PKM><~NZT~wA^%s}bY>9!}iCq^6Q-D7} zvp{bi^BzMK_`Z$5>Gk@#iJuYh{dxS#PWE6-(Z52i%MSUcw)#i*G7GM)s=uzPp&IA2 zD!j8K>P&8hBN}r?^XG10)g%A;^Psrw1CzEsx3ax?+ux?g;!5^nSF^B=j$dB}QRN`y z&ufD&4P|~LyUW)jo&&s$Vy$I1wn4A+Ua`XUj<4s@(x12QspMr$NST%Fs5E-?3$-WA z>`C+Uht3+ev52k}`O4Xp2L*Cua}m(d)#0>LCL8quQ<;_fyQ;Uih0O4OsHA$yCd;*I zVQOXF_aGulLD~+A$5_jw!pWtrHN9<}W)+-+pjdeQc`hp$5=bU5+uOgF`OPrGm1Dtl$_c&J*_00oL&W=Eb~!T6w+{J~O)Z zHW9WM!l#EWHR1F+R!)$K1rafQyx2bAY7dn-iXeLMg`_C}h9FYH+&+LtfhkjB2t@{$ z7dng#$_z%97*_^qlquw?jueJIZ5Y84LZVg3Eb9+82a-83l&pot3m-`g!Ry~aI*E&Y z8g?51aQX%qcn~URFd||yB5D{oD1`P2j1tP-K96w|KKP75A6yQRN=PQloJZT7JJW?B zC(-dz4w93lW@c0;siIZl+SH2hCBu%bFvj!+_%u|?V5f@R#l8gaty)P`jLl$`w2Aju zDL-7Oa6RqWd#!Sy+jlM1Ib`$hy2um4A&_yWiMy+sDJW2k=2Xy*K#SbYO%Q+?cWbg0RqEE0)0Oxs6BU$ z`%uww^`U?T#X;_a-L88Toq7G1KIJWCOR{GEY`ah4*L)8(P{A+9F6;_RO6|?QCFoWN z-`2F-0UAPm!qd7q5M`kLA!hgc1s4u-{0S>V`hre7k`})m)nVW|Pj6L7xWf+#3m%$5 zyQ#ph6xeNjtmTk{&R*qw+B=|&bqomL51;}$eh{?|&nl3bB6&~5=|3AiTOg8TOeNfQ z=XG+po2~T)Q){ImwQFxkyBvf!&&HrxauS%qcuiK^b8nIE%#P@{+JaaiVL{&x+5|uu z-n*zUoPm|GmAj zRHV@tJWMT7bv?=fpY#YvgZ2VVVcbG^(i_SX*BT!{%Mf)2x)%6)sG;owH%tQNi4xW= zt`%z?euHyxGLU4bX^PV;%A=zo}YQ`Q8K<2;<1#%l0k^rdPV zKIC(Hv}&LPelQS>_HIqkV~{T}6(Dx>RiZ#1Xiq_2j-f3ESg=!q)w0@vz&Y@bpUwZp z;032XORs5w5^(K8z$#$d(Q1^7L|4_k?wo?UFHwAui3Si)+2{Dtd}vw2$fXa@Wsy~# zaRHwPb6^H=2%AJm+e_Bn%*q+r-Drw4pjA3Whz0c^+Al_69|E&0K@Tw`am9_r5;?`SVbcs!x+KwAT4)NkR$!uI&gsZ@&6+A zKM9XeWt*KZOw>}Q*$8(Aft1fSdlJP_aJ9$)S{FV1b4s)Sz zsK5a7UgP&R>#+0lv9m(JkJaZ@dh}j%r0p{qCcIvi(oQo}H>otG6=cE6TrIuO#O=vO z+QZu8R%Pkd@%EfLifF&I#jD|D)c80(F?lwz-%8-7CDPPOM^;WpRnO4bPF~kSIz~KFMRlHgnhUoyn6M5aT1pNPd)Zm` zvT?Zy7QH0ZR0<6oZ>jICllR=+|60PUdjgPI_eHO^mkN!32aLSh(5M-R`A6nDd1W_$TG(Gu6fh%eUQFHeb zn-|*=)#y2Zw{ya;-^|&A&N5t+r30+f)A5{%E%ZZ!W zs~N4o+l9QoZU2skRq7CKeST=f6TrsJ!u`WHK;KAvY-cKq015+U((7FdLUc4y#p^sc z*Q(b0cY;_pAZO7v#JBrQlJMtFkZi7(&YaPci^mK4eA|JR4`gdqwf_A$dC^c|5&)%g zMuDvhh7Fxpi7XXz1(dkek2(kax`A@_?bHR5K(5Xz9zw#oxn$jT20~e(dfcm7q=et$ z2V45Kf_zS{#N)*7XRJLoK%T4DQjvfG020Qk|LD>j`!_>@32r$-XJ@T8H2KW4 znMfoOF0K>UDpVlx@*mh#!+KJ$Fr62TBiZ(2RT<~t{gM^Z)Zj;qK@TkdY%Zun2GDonK^me{W4e;*{@NYHw zHobT&EQ5rHr#kV%7RuYLcE35vRH2oKq>COVegB^-<2>C~H zgx>7m+jk;uvt9LKENrqKCB;VgJB*FA^F2IQM+Z#^mrSkFsoe3x`a-z8&55C!i-M3> zPvxpLofVLGC4G(ZNjmid9pJELC#<#CU9B)N z5y?B@&@TgHcW~6$xc#t1@r7ubKk350dy1jvfgt#TI1g9*Se&`Dut{(0KySN@t8d8F z1>O5&vKt9T!y$2lxHX;?Khh8tl_m7o6S~~ruzxsK{{F&gymVtZx~kR4R6~3s-EsH6 zFD^*_d$Q`nvQ2br8QIJ0Sv<`8>dJ|kRlk3a#~nLgZf+$ju zEgS}LZhK*V+!|DlZA0IWmL`U2%WEMsDu~6yj}F5Go0^Mx_fjZlqo-g@z>JBKJF*;F zRS8#i2w~`89cCXn3p!rb*A#cP6FA&~Zb$dy#Ss(472?Ge;>Qr<#SImXY#OS?i~|x! zG+huE$MVk#acyw$|6brcGg&C2!IM zg8-E%ErcQi!-(kLL-M3c3KZI(hoW02412tP@p!s(zkhxlG4@oNw+^xPY^Z8hqn8(9 zA?^Muwj4N*DXJTtsmzN+)f+3HibFJ8R)d%_?PXRb;p2(1Nea_Q(U6zR>GLu9Iv>10 z7j(0b?+!Z1M7jNe=ljGATDc$@zL@xSDElB>DD0V%YFDSIj6Sj<+5hTX zy?BC~1>DKwG0WpY=XbFD@;D^kZYXe1H+fbydj4mK@DF(lH?!qgQ>nh@T6HR{3sd0z zLjq7DHcJ@rj;tNHi@B-~{U6>UOTEtgL-`){(~g}rXAlHb2d@7( zVg}bB2PAPFEZ?`*+F@r9l)lmKgV1VzGPL8{y%7gbwKX3`6tP;$1G4VY=5tB56qlQY z08(k=4%q?J3Q%%83_EjAgbH53?H>gyENt&M)p-h-HdN<>LN&WsWp#kqEhXK8mGgKc z7@=07`pXcL!b}Ma!-OLhb-6m_fCZZ(^qO_58RLL(fNkt@+9h7{^GyHv;a#v_vjgcs zE@KET0u&AOxmZC3_9tGT3U;l(s#IpU2f+|eO)}HShV`xOazdXxP9PK@LyhpfNQQDj z9YDAa<8!|+g~9Jbu8c%=3b2~H^c--|H!^qvYeNWYn(mm`pbn?w?csu{1Ahk2+}TJ9 zfL`nIfc}5b`7Lteox{ryS?U2WJ5(hJHvaH$-C+tb^LxB|NpG`$*$zbxSr}*AySm)n zXG*r-DQ-2Z#N!$ezfFh|9BvrECbxZ{?PgPltFr%2=XPoFX(R8|XJcVqCXx3?&}Q0P^=|QaHku!%)b&y?R>)JGO;+|Ol4deF zWi_Fby8Tm04lk`rXXJ@1D)ibI~v!Y|lEmKyeSTp^1dLkJcwyDJ{Q(8qkO*$iy zSZ%_s<9)Jo@;az4Eidg{y;_s899Fnn^Yn$OE>D(>A$UL<<{+}@Gb9pnT)&H%foFbf zo1&{j+*8TLH`AQZAn`&dZ_z$yia1R`O8nrwf=&#GiyR4Eo+9+Y(@Du#%-u`POh@Oh zp@CK*IVnvd2A%2M$lkDMxChud)2s*M->ua6F<9Xe3Nsf8I}Zmh0|$R0sVK>rgWnF@OPl8&oFWr@`? z#-%h$$}XCe;hRcqgNPDy5{9MaqtkE~T`vBx*l63DK}p5BM7eAe9ycXlwPs(uVeD8K zNbY_+*2s{+=c4CnmsMWYUf|s1%pRCCDF#Cvo%y!-y6vKd4lt%ZwRB{m&DQM-W6=5b4Q=9Nkayh5WtkuW!#^ zH`blY+W>qxJ|`REY*=Dcz_?RkHcauhM*_l?snpb&wEz9@Uu0h50X?M!ZF#uMyEaNp z+8h#ia!Jg+ibctve;#>!F6Z}a*&Z{GGbxqlMHS+kJlOI#l6*UfAARM*c*`bV($uTo z5I{v~=emJ@Jd}p%(-snCE4a$_xoi4es@o3MemiUs*EFJ6bYs0*u^T!vp7n8u3z7pK zq2h>TXBIGBX+9eE_5RNzI{^0}N56K+<0xe`VynieKk3=Ly#^Xc5-R(3Td*K_L9VFd zg}aRs*k(XWa(clv*Ln(=PV0Zb+Jpp&p;d$L!R%$)d0h;Mzu?IwIpj^ApMh@If0)>E83P--Vj5%yFMZ1wteoQY7=^);K`4(R!=f$E&Vcnjz{ZHSSd+k)Y4d)khNj zhm4PcUr2l1|Gklrz{RL?%X(TiW@m1~P9|PQb}X44-0D6m@2p%tq#M3uDjVMu`d9%D z0K!?%vH_nf#r1vNZ+9PK4!U(ZT21=A`Yv{YE&4H9(}HwmZ;Yi7d5I*mG>tYmy!|q>g(!Ccn*1DTRVf1oDbtnTyf_okX3I3QOXR@~wwf0=hSQR=r=?JJanxsDCH zAL07E%N%dWFsj3*k&PdG27VLi`ouJJRXDmf`1skM|C<~?dib)Kb(e$t_h&gvW|~GN zZlOQ}`@#7hz8c`CR&G~$oXcmaC7k}6(t^Kkkb@vrjbr2kd=&PM?Y?X z+9fw1z)rz-sEs_fJ9=S~GiGKMjJ{VPl?>C&LH46szkttrFrXTHjsV+b9XkBArcyphDgFfhZYagg z!$2-wBm0+rIpba>)j3X56h58;wi&ESSx;X=Y2=PZE1GHb@Fw~49pYj)`;yd$Oa4Q| zH+~f9R!a$bPGK6(#4tmK%=-Y=0(%tLEZ^fpM zaxispu(_R%CRU~Z%&5{Agf(LnelIi>TtXZ|BJ@F6q{5aUYFul0*9qB^RMj* zv$hv7`C&2lBR`jM`O;4;UH;0EK2NHCmvgrVuHVZcma9p#lBS>KkVyOp`& zMo3clBJIhPf`0bf;k?9-|3^H4>OTQgHLp@ei$+dag5mt5l zn)_(^&$b$1-v|itqpfUu|#vL zcBF(cv=YT3K(y<*``*{9_`tdEO+I_%r`8*!ejDu@fwuUnIzZ2RW;Zm3lP<^tJO{l! zPIf+#b}&m>#Q}IGQ+=qEhDF5Lr)gnZbi;_>-BANA`<$^kVRlmE}u zdQ3zy#X$1C)xYRI>HI&u%OLqilLM<7|XL6U7hCbjs-Nimr$qyQ=e_LNw0d29 zOKj@7xKotlC!q)Bg&Lq`{A(Qyyltvkd~18YMgM*K2sb6lGwAqyStxy3${fkZyqLnL zNw8Y6(Fya5HT^eb`_)R*Nmn#;s^AS`sWZANfaK}4JH>}M0*^Uz#7)KmHoC3&O( z&_?h8+X7BblPp%nUTR)-Ag0wQEG6qKu4?Sr9!1vGHGg@scDjco@#ZjGwB_{ zLz7*_hCyn8b|F86H}Zxj+U|+ur$|ReA37Xe!YVQ@%Kk6=)CcOQ6>+Z{^TIdd;4FQ2 zY5{_Ytyg|v#>Y|OWq*tJt$qCRl&)Daow6x~_ClKmXZ^f37XEF7T)9-dN{PxP)u>3( zBk2QpX}$+IqG#1IjVT9f7V5XKmjo#vc!i={PSs`wRRV2{6^=|(k!b%!QP&tr+-Ol8 zg%OfA+(htDR)r^Oh>CdOu`z;J*G&Pz7wyyP#(;m&*(R8b^j1P+s~XLeIT^IoT@h3% zLv>wccj=#sQvKB8Sm>xh7BE$BZOs-gm36@V=JZ@8{E2y#o}?|lFarGveopG-dW8jc zOpjbFE}yr}Ey$Nyy&g6%?|%!b3@oN#W?~1SvVD>FZ=@8QfM zDVb(^Pq{;X?C9^KlA!*;WLJ@mVHNGuVORcwaC5P8QW#qG-O0^fz6^Gf#P0V#~W^k2@8+QX-C}Q>M>Tm7&nFD)Hv-&5Nrlc|}8xvsC(M0(F-G^^gK} zpZIdG^xIzgxSo01(fhrs61Aoy=h>BaZ%_NB$um~Zmm!c*!);`%Wuw>acmBO|{rQl; z^ZB?KACI{{Dh$F*eQiHcq$t9i2KG+O+b2@{Ph`Y>WTr zc~f+_TIdUKZRO7g=7(@pv5kP+t-yzpK-lcu|4#|f;~-+^6V@mb2aa_2KK#dd&JNXr z$KLt!SRs$o0Xx0*dy5TtyLBA2K(}B+&3oU%gVJ`27qg*`G(s@Z5ckb+62sy~klk$% z!(=Cmke$cJ8{m>#&8j8ni0y(OcPXAn)=}UXA7$D7qYu{b`8@ixDbyo*LL6u;XkBgr4J_ToOB8Dy(e)2{$hdBZTG=WF6V~6><(~?{8@bKbZWTyh{%lwne=B&} zzRCChxn@QY6~OZ8Svbh@@mQKM`?|lNnaTo)NtwkcNX}a6MKtwyRze$2-4(&9E#LlO z46Lc$276m>%lCJ-12}#%?;eYoL5!Tm<&7R9W%Ae1K1ihi@c9{X6hvb-+B^VKhg3S{ z`gB$9VDAZY0nlja%MOYGwG8UTbR*kS9bme6JRl6r;| zzvqceM2A_~C77v2-y`B1Z5F3!QgFiUoX-=1y3KZu6&CFpoax9cCDvos23V)w1Kx6T zydsj|^m1i*HTUha*)F9lN2O`r>`M;J8$a%C7wT;vDuiXSX`BZ3ztd@S>=l5@8w=%z z=DqP}!>nJ#78Q+V{=F`4buXV2-+zwkI#Atm-OPT0dzpEK?+g1WW$NZLP9}^|l!S>< zgo%zujE;tl0)ELt$6$+-R8U7EjkR3GV!e+=7f)3ILaj}at}D{P8^WMleP1%_C{IER zne*+mB1&uo`P|o+qC^hw3xVTC*R0)+{!WO4Q7(d$Ue5tv1q@=-^p|Ar5>!v1lvLLh}U#jX%K8mAS{>VV7H_Rcb)IR+cEVZM4n^}k(@I*#o+B>O0kQK ztT1nWn2#vZ`xfSE5Ak*-+!@o8G&%~Esa9cqC>}zYGhz-cNr7_7tLy9Yuy^+~Ypkyl zpNJFgYUXuM%*`R?Dxp(L5=&pPN7H~6zGvRlh1-b11cYKe((^h!-=pjKKVBCR>$kes zxtB<(=N5*Q2)T)g_M z>=pP|G1XPZk*=qX_^J7X=*naWZI-a_Iv5O$T9Eg~Y*2)WCqJ+r0j$sgoU~+fNMm$T zq^aU2(rYEw1jRwK4$#ncu%#=_NM^%B>w$VGvnwO|Jj485ETHZdr0&(A&sd)?XkeGr zLf3Wu*OkQA)#cqQgPi|H0Jj?)vayWJH9W7xbw*TH?P(k4#a%lwrsSDtJbc$vHNAO#7kK#1os}8KFE69CYqzein{>LZbx>Kp~a;&z-fG0*Ip?K z3~bjC_or+Xe)vB|h@c+S**21ha9YI3VA4I#|1rw4@tj&b6;!+Se*1#OsJUuib_wKT zx$~f5yW{)*h#l#kyVioQ^B)n7(m4!1bKeRK z+!LuqJzj))8mREVvHC-%_ymm_ zNF;5b1EQ&#Kx_8Li51CK#rZS#PepNt%j6x|o-u)avCFR>n0WHKe=S~9*ZfCBc{youP7uz;xDkOzjpXl*{xd_=clB@rUvR_7Fs&%%bNuy7 zoY-oaE{imrjGo0G#~47=JNla9bEjVg-jo@jVPwHnY;L{4gg90M``_7*55P$dn9}1& z^+(^pB;0th!T$dKPvHMnOlyGc>d*U%#?R+-F{41=-{;wfj0^s~HkUSXQ@P~j zAGVr~fXa*F50?iUy<_>X1_?ZtbUB{fI4=AX7v5pBjJ^5(m)U4J+o@VDJeIuXGW`{1 zjZy+i)E;?gKa8ZWILd->RFii(t}i)q7rRs&IqWI!?Ml&oN32FtmR=DDEK57BEP~GV z)gJGvgGbqyB}both(D!e?VZDls#MFC2cl<%N_V>cWE^ZXoZ?6{NTDMmWKqecTuGb8 zW^y5gjii0G^<;h8*;R7oV-Go0-}-Q5!6D@Lzhewxcv6Pphnj=uW%+5ylCUu3${s+F zO(spWGx$8c~yw zk0j+R(8<|X&19IfOHEBWXK!RdgmcHwx?-qSRWyQ~5Y?|>OYFpodX+*Zryv)WS(Zfw z&596{JgO4dH&zL)I}vK`C{^W-8Y;|4^b!4@0yd33KHRJ zXJ^XJ7QOIC76SPoUqA_J9a&%7a7xIUs|Nf^n&Xz8m!Tcr9ait7 zm$|d{es_O&0$$G|ENCwxKVJ_$nQiMUzA*lamKQpBkifs9$_6+c0r46gTcTosZEk?` z+o38TRP@{YCvSSNU;T$>f%9t=|ItIOT+9| zm1a8wu1-7vMMDgTzq99IFTiZz>YOWUgr^bd7h_~p-zWA+leCVdMmqULzun^Wm|=9a%11Yf);oK<=mk9AU?(~-b;3yc7l1hv2m;3okIO- zb|**RTTqQXPJAAUj0;}B)8E71J@&z5UD47E>x%guvOY+XVe425Hd-UI)qU4GK-U0j z=F6-7UB4YqjX90x2*VZzk!nAS&Sy=3e>ckiS*d%R-2r^B`l5a{HFaTb5?Fu;KE{8J z)VBPeC&pW=gh0O6kDc`EZJm$XkS7HJ%PyYUZq-qPleXAQhM(LW!qt-D; zc?-p~1x3mOUj^}wd>DcCA+NUI)75Hd&oQS8e=N3W4ssUT^H98I%OP@PB^aU_WQ45) zygftKS(dl@+*v$IY3^b|{aCV?aAa%afzien7$@k7-8ITSmB`YZ<^eO65&$CG10MPKWIQUQGV5wZB`OyLTs*? zFTN>fN0eYA)@@zk&K-WxWzqPr8MvPaJ}vFo80Gpylqzy%B7yBCGsR$P#IRWNpvpnh z(^={=Oe9;1@C!nm8Krr7wGE8)n9koGZ>qwylvhg5R65j{{jzptlU`Vn}y zw5Ic>tg`dxZwR%XFsNb(!RF$jQ(X0m-6L`zI%{?T^lK64^7a^^cPJp8${sFOvlk)4Kh zJ3ZV<{LSY8ii#!z2Tkr++|WvwE>^_w{+10PZCDhQN|F~ih!SFV0*V(rtej6B&&ri8 zGmd0ou0Nj>2Sx^ZIN?)~On@y@(j+|m;V6o;nM;VO$YrQu$x=U*?N3#0jYCCCH<@%+ z*pc{$iKk6irixP`uLo>C#ztlvOS*wfZsdVAfpWK+ zmFox=1sB@{)iahossKVg(o78cpoI+=4jlm_LPb>}<=( zmFoeXp`KHtI_j`B(VfL#`qyX;`3MWnxx-*X`Xiqc7#TN+GVQi>BIiOZ!1*2q0%V^G zIIrg6ZhziyH;vy9U|XL}fm(6)9k@Z?f1<7egja!k5Zt4chW@`OhCKY=)l@R_$Uxn$ zdnUjWVEVscY~Y2Te_oQ{>wvJ0|I760>&3!;2d~?uZ11@Okjb;tlG9c~Rd*S;5g&aM z{*KLRuu&UeW!V$dUi2JT&+L`R*ZqEu#wFa$X=gI<>Q>@lh>kSB^~_Q97Zpy?Ow7_KsgO~t5b$5$*;(1*&|0*Qn2Hg78()X zL=w^bC^I+Au4FsanX(qw9+gMb?O^BPG?Ah;B0dBTkh=F|4LPjAY^ZK-`fxU> zbs{q_xj^~B&*bMR$*Z5@)z|Rs&O7)D z9|+K3aP}ZJcc6ARK)=rA{tSXhk|7OQMNVa5sMoB@?cwrxNY2jxIe56~{kd-3e|6>K zV|R=kc$VI9pyU(oN(fh_q(b)IF5bF6!En`(2vWnVG*;xebRR9`+mSOvr}8-P=gzQi zqwcO0HG=gdLokf?Q`YHyJ7l9WJ2G$IFbe|QBExG(M!el;foPxY72_aMf>+HGY`vnD z*myVe(jojNIM{Nx6-+uTW8?($260F4XUCUqgoQ)8z1$tutpII}Y~^&`{fFK*4!+27 zMFw_iQ7}740;s9c%dB-;vP+Odhbmx7XkrcpD%cn->u}HU-G4YdY%;e=Mgr zb#~;$bsGTCto^`rh-JE4l>djYcMPtCf6|8IiETR*+qP|IV%yHdwr$(S#I|kQ6TIiX zcmGveZ|zfiDqqgmQ|bP7_oYm!Eqbq3U=LdsE|9EiTDsOVU2rW_?Y6lXo2ZNSz;!OQ zEBA8!GCvBrzKH+PqgL^1gZ!tHHp2Zfx$JSAe$weANjujky8D zKSS*L^gG=f%^hq$7xy3H>d>`r;x*|S7oHy-DQzWWwK%8h(wOQ}<_`_Gdr4h%LxUPm zp)V=lPg{TdJ|DkgcXr;MBO||Gt)DK$C(P8eT#ldy8rlwhWpD4S2fO-CoV#9xDptx_ zViPIpC=OyKLpz#7-!h5GY>q(9)L`fz$#&}OmsJ8vl@v-B7-6u&7VgU0F@00H3iFpe z9lLJEqb!RFUyX4sXu?)eu$R&bE$l8eGcYxCsqpM5ajr4b`CZ;8=jYePz5?EH1BK#n zN1)-LBld@igO1UthfB5ObMQHvS#;Oba0(HPh}&=Wyt~~|9hIDoQ#k(QEudx6vc4%L zGmr=5tw|l>j4+S42@;0-+jZx-jDH!UsC|Jjvs)dSY-c9qQvV$O8 zi{WhqI;=%I@k+qJLLLQ4E;v?1s1%R4S;MnJAH}@f6BEq|!fJ`QOJvnGbzFZ0OM`;i zh;@hIhP;2b_qJpny0Ro-*)AWyyr@Mlv&*KaxM@jM50N!LHQNZ6F4t^+ohC-Q*=2Px z>~I*dBA}Xk;YdDk0G=DQQkr z9}=ho7(eVZPVlq9s|TS^owIkEzrG5UmCcgz#M(!hfQ}A>aEgg}gKLxpS)O7yTjMT9enC(MLbswot!Zi27le|i{@|HuT;B|Z@3BbW+|fOTWvGMiMX0L*OgWyr@SE8u}p7?Nd8 zqs;(cXhoM37-IuyX?z_>A?yMQZ3C?<1O#H`n-V#JL+!8)Dw#$9*%)&X6U9c_RC z_cc92z|ts?+L!7Hvf%ktg(em1zdScA5i)!&0lbbak^h4W!guZQb?ZNbL;nT1TL9xw zV&DhgO_p8b6bP^N@w+|dy~~2` z@JAjqj?wXf_8$ZF0C~V(srldi&gE7(bUh$v;|ciiu?$}0sfBV@*VAFsJQE)15iv}R z0i$p3h6#4E668PfN`4C7fA3!w0I#=IfxmAjxqcsKBYwW$TTik4S?#_a`@={1nJ3jN z6maU92XyGlGZvDSmLCz&FB&0>DAS|q6imo}7vOmBW6C2AN;l+a-Ew#q82L7MJSv>_ z1~hiO3p*%<7k|p(GTfIgro9<|FA(o2WAQy0-XvP+m5SiQNM8S$t8w|rBM&aA=Jczn zyfpP24<;U8Q`t16x>tdAq(th*l*f^av{cU=*20#HMx$LBRa^Yv1hx&5w~C3iT2_&9 zcFDo5&9S7ztzv3X#c*SBjd@yh(Lf8aRx}k7@(dE9sIX;dc}aehRauo=~nN zE8qVq=xA>pB2XmF%tER1MES^)gmN*e-A2->F!H>syG`^L*TmrVcO7ZAR!VN+XtD%L z!QkZU=wVvkDx{nU7&QyAEIEB;wdyfd;b1>7NH6=V*S7TS?PS4lN*PRNhcvh4M8<=P zsbm8w8z(cTaPiLyyUVPcZ0=Ua=k@i~ag76+$oyKR1!YCfEiDEW7o|>vF|#&G4YhcM z&0M8pHH}nC#?-xt2`Y7f7dv|W&&y`N6K7Ho`6-F>)>3z=JnZyT6a3S-bQ94UBL~t3 zd(0_L1*w+`17yt+BJpKdC(&JNUTSvq|DHY| ze82tS&ozIMht&|f&BXiF*u10S8Pr1GNW2p??d|Pp2J87NlW6H|zdQnP#|OIBGry^c zND#XQnZIg5%7+0)3%D_OyP$qj^(2l1XgK^cCt5ndA)8hxBiA|^Dt=Id=mVlj0+I@> zdu6QxRQ+N8y^gKUX$}0C0Q$VFiFv<$2XY?zps^#|vTek?MQFo=jRQy*#lTW>uO=Wo zAxVWk{RAoDfgHhiJ@Rl+t_TkYCP5`XL2CyPwkYT7-IED$LR=`g)G$^o{*nq=2&#@_>jlqTF%~eQr2I@+&nb2l| z;iE(XdW2AL`z2$i4v}EJ1a$+P3t(DaLi1q!gA<@aZg>Q#AtHhTEK2hJ^aFujBjA9- z(jdr;Sm)x>zPVi&F3x!BY*?_*Q`a2@rLk?f== zt*4qdBL$jT1Z-wJ>LhjP$o7jgU<)-}1&NwomSw2~vvNpN)X*im$FQs1xIt{LQtC_* z3gSMH+&SnCcCkFl|EcgSQfSkerCUC3PFsg*QQxnn@LtMf(~--SYqU38tU6Z7ZD~0Mc4dYw{l~rV z13-+wR&w0&(Lq(Nmr*XMl!;ZvdUi0LobFhIv^RG=LjbzA}1qO zB&WHks=}v|o;Eqy&wfdS?+)PU3f*l;-F+q>o(dM;FDeOp@{~5QkQFx3l`d`{jmt_w z#>E1JJ)RQve*|er;m+_woMfFp#q8%*_T#9E$W^JLwm2WIs9@hW&xQB9XCMS13GAT= z%_oqh%x|MGpV;YZwzu&0@T7Aq{IpuZh;q{;Uthvga`18V&ZaAEb=|*|_$y)4MFo*6 z;u`(uKB*}oBus~yo)ecs)(8WYLPQcPG;R8Z(FfkqAq~^lIHRs>xQ$^&Lop*O4iPbN z62PS#`?ioF{#@aOl5gRB+Mm)A#NmoFu$xxshbxe*q1NHmfOeuk7F7h(lUhwbY?dDv({wJFX1WNks5%xQ7@KPi z`thw_aB+cr&dnK~1)+Q$&Zg)EO}ledHh=J)dH#e^e}eN5BDx)`|M*k1t6ZSB9L}40 z#m>!P_nK<)+Vk?7d|(@5zY`91g`BOPSBfJ|lTW|i{a`UPxBGkMrWZUF*5KAde3h*g z&`ZJm$5(R*0gxHW`tME1IFlD^E}&D=2t3pJjejhE0DeHt0CNuTp9b3aA|HowQcoyk z7Dlvnu(M7ZBI3xwc(XlkB~i`A>&ZWKfXf|PfOvIq*@ZB++Vn3W&2#a}Ky236LE79F z4nzQ*@LvaxnrsAM--kO8YkD@IJSTV8EL;T}?2VTBa@r7;(i?(o@ZJqLj|Eq2heH7% ziEn@Zh8A;l&r_qJf&KD5=Je zYtFWQLgrS^Do!fys$d(a)nb`=ZS~_W?vcHs!BnB0DC?fFD0H8%YkHhwt4hvfhdM*je%5lph8-6aHzD^de zm#eKoUS&s1LtT|hsy^Y2qIAR1+5Dl3q)r8kSQT;wj7tYqVhK5K|L7B(n@8s3HU3Ba z7Dp;OBc1r^PaPHWD3vT_^9rlV+$_9{a~oPJCbAN;yj2lnRHRJFhne9vN^fsj2^Fk( zeVpv|v~0ZsbSo#Yvw}PczVu*mfd7GtJ`;{0RB5OwDSGo_EM2x9RyXm0$o zLHnnDBgXptsJ5~?FhK{4?XiRIt*erT{Z(hy*kq~U$g%)pDq_6YqyiAMpF!BMD`1I9 zAXTKuM9_CA4WObj6-fl?Bynga$7*F#l}X7i!vK1BNKHsgPe}ojvWyZ(valesy#z6q z^bsPaAgU=t%mCD&(&wCrKIt?;Aj}{?M8L>fKI3*knE(yCIMJ<;c|0Qv$k^0^AOG)Y zqhiui>U(W3OUv_Qa8X7jaNRUX>1jzRdWA7+nc!-)t;B3)r)-KC^_6DR(8^PM$}jHV z9PXi4&>cm6+G~9W;tkv=)*I{LvBDaPtS4o}k zgzI+U{U@=M8M)-|%=f;n_EBE+$8D)iZM6Yy*`iNcl@n984qD<0{Q_>i#qRA^@0ZKJ zxxBCEne=|IcU}r^-j@Hir*%8pe;6Ck?%qFkd!`a;10L6UF0&5*%+?g>)YXcFcez_W zq&@?0>e-FW+^6txGeRwbYXP~r^iP>+Z-IbxAZkcsw^vHZgSm~dSKtvENCNg+T2g3k zK7gg1ju3h`z%0%gvyE#uqpP$MJOQTNA|Qi|LUB9e+0Y7+%?mVwHasg zHu2)r?nA%yhP>a1!7%o!2d-nvwgWiC1tONgvw(2GN&N7HWHZsm1UmJ$f+EP!F+c^l zOY8>sp>`5+TmBe`2L`p_VjWCqDwEvKjb+q~Y zUo=L&1k8ZGxuL_W@!F!>y=-p--E>FQ1^5HPv@n;rBZ%t|T>k(MLmCTahyFk3G~>KS z$kiAAFZ=uVxBIpJ>4!=qH#?WjZ0h!{6#M$HrYa)3v)f3|M=V-TT|hcJx$c4?hDg~R zqzJ-HZOC=WAFs3Wv~hb+BSU*>>|W-`wbFdKGKta#%+f}o{7>cVbX=7qP1 zqqEY%D6F1u!m-{IbQNkUyc-)XzM>1oP;@YY7-$}JNfT$!s9_;VlP%T8SY2>;B8)Y;o|_;FqGW zlvs#PuGPL~R?$l!z~mgIqXH3RdM`JtYXHoF@@bRB?yiE`lV ze|RuN-iTbt{CNLfbG#IJ@la~UwQk9zLfOMpr2RWLb9$w???EFSrX~k@F8${XThbGY zF}CVQ8YFD?A^Pb-=(Fg-CnPEX@f3`t!^i`pg{kb+>~8qe(L*bJP8-99XMyatZA#10 z($rHkT@0%HB8EI0TQ>fjD~7?*PqX}1X(p0-7O#ElmqTYsBhe%=K}Zz$I3Zpij-Dh9 zTW3=-5l1BnXJb9zufx&NMf0uIFhLWj(h~5v`LRP8y&z7~9+sejq0UmTn@H!KewPib z{TEwUKEmi3<&jd1Fj~0b{;}uwxBm9@=luMR@e*hsiyE2QFl4d9GIN5cT6(rVf>1b8 z1w}B3m{AcFOknp4f|SEZ@>e5=fPVzS!g~%q5>27}AhM+OubY#XuO9j<;-w4yFr{PEEQ8JN_09|&8L~Zih5Sb+r>X| z82nA8jGkBE34RhvW0s4#D^J zt25W{9m>0r#C`Ry{u1EKo%v6mrXOzKzs(E+0xTw4HXw)H>tu7H+>oJ{ouB9L3ATx4 zk}f)I6iJI3;x7Y(ufzY4833~e1O&u!F(64`mC%cZmoHw?_w{ZhlYlR+y=k-6x5edY z^0azsE)=Gua%zs+bQufOS1?jfDPMgtC=y~E4fLQOqCI6uLy97Lgvcro@rXxA7Z3#! zzLSN&Tn(Aa@F0JFX4YslZCs9FQrvjF%y{v5zc_?Y!@h|f$(Jh6L*{@L+t(ESnhZT< z;4_ha_Q7g(+>YCCXnJZLVXPI;Z`%Zqsl_#Q6paQx1!s~t)ed7)?-V`=mEp$@yn>vx zSi$jCAFA;8RT1s|Ieejf!_qcj`Sv1*Y?Gi6!7jJSzI#}vdfLxwG z2WI;-V))J^=)J+{QzQdSS=Zy{aCQ96$*J@>B=m2kWrZ_&BT+9$Yf(i(O@2X*TDfwm zDXDZr0&_!e#ppo1sQjYnLRK!_7@qf)Zy@%i#_ z*Zsaqdr&6wF@2wxSz-4CVw)#+DKAfnWRhB?43p_#SmNs39vB^kR#H~+l7yvAKGj4xSdC z)(wp%MC!_fvWrFc3r1y()+|2`f}LI{+>z1%tOb#ihEZ5_0CNg}^&wLNiQfwT>Q*$j zL!C#6h7};`2KfLabIhqoDOfw#h;A%smna8|f_csUu0LFjd-OJPFmv*;GkP(2I<@at z$n9uh6V?BTh_(M`5sJnGgqAvk?ucYT;>SUkE6nD$#N#^A<7ed0U0#!)6(YH_YAS5M z=Ge%GDnJKR%Vu$*mjJ9ilv^A}QW6)7>~u*NmL{xb@$+`+BLJx9rk?+O4L!JRIk2Jj z-Y-^SMUAk4hQ*dtl1*!=f2G;xbG%*p((`^ik?Z?@cL%CQK%Z2~qsw2{-!ccNl;at2 zT%1gh2<>*PYu7V|?-PL^N;5O5YbO1D93X(v-9XRcf1BM~Afy21p^p!#`hE`Ig+B_d z%qq+%%xd-dzQ?+kGmXZd?!y{A28VDj6F{8Q0<&8o(*)f#Yq7^{lTkLAbweYt_#%$aCY8Pi;F&q4Bh z9(hd)C2Q5P6gNGed0f_QJWqw)zmw5T?Ww9SYbUF1?l%}!A9H+4_R(Ed{%lBu{<20i z1i9D>98wK}#&P6AAJ#tR4sw|TL!09aapg#IpvgMJ>K78Jd!=;He9!u50I^c`@C_#x zMncb(LWmTlD4uUb+bd9UG>($b;-C@DHM%n-lCu4t)gtEwog>d3Ed zY_FWqh)X3(EHW)3D~3g4$?b$Qv|k7L1)~A{9w6Dw#~>u?3I6*Y|7r>4AMFHs`7`y-Lj``Rv_NTOOf_ zE*eb^4nxLSeTFRzr|5cYw6OjZ=+{p@R2h`HRbnpv!SU+Z9Gxr;y&PSAzPVKuvV@`_ za#7`iw)}bHU%oL#DwP$>M=QrE+AuHxyM0G8?S8kIhYf=Lme7-DS5$HZ@>!P_ncPnM z??idNx5vVz<^>zxW!Ubp>`6gUWnT9(5|I_7HlrL4GZ1b{3D6sqTJzqxNoX5|8=dAf?$@h{a)0 zYwhvjipn{3Tx?c!pY9Vb!E8V?-e{$^QI6f=E84CP+LvB{4-v!7e8ZqSx=Oop8Z-vrv=PXuig(zVo4*|ki-=8vs z@HdfSUSJUKhI5ciIb)@wLxAWhe)ZZH5KIxR1_gc1MgDEmYUSheH>|VQG2stZ6|O@#nFTaAsm{iTv$|9Uw6 znR>CC&gN!q@+>j4`8>R;d_bU2(z!v;X}w)}khFq$%mAs+32x6L)F0d1Vz^I1OR@zn zBx0+QMP4XDXTdsvfIdhWCs`(tj*XCB&&L@8WUhdd%lQVD-6oOwEDdxeiSv|-(^t+$ z8a|GJ33bQiORi{EzK4isYK=!o4~`k~kzfiV2-W{qRJ?PK52BtMe^gD5X5MnKk{xI# zoyVlK2MWA79AU$T^^x70_#`6%hvi(O9r#O#A{d5{jAkjFIj;5h!b+Rwt=Q2hK*LV1 zg)NP|WIc6SMz7t`)x4}cPXHTf;!&ubeC&{wcSKx{CRL+*G!3AWEqm zT@77zmCLhpn&T4E94zt@85^HKiJ?VgV`XQie71hi^X~Nc6Llgr#YO3PWGFRED7W;m zS2c6C3k5{w$uSK|_q#2L{=}BB-(Q!H?bdQ}EaIMeo?5dqHyf9uOXR8_Smzj)?s?boT z%S=H-u@+llTdk8*EYs6Y)4PUG;rjK*w-W2P26=U19dv8&c2iG3M2o!O5x1@=@d6lJ zU(yjb-_p-cEBA&tjbvnu=hh;oS_VSMR8qkR<#}x_w%wSW2B?YjWLG?{}H!0-aN5i@85YKnoO_FqT|kdnmk zPo_ygfXBb1AUEg`TA%Ox*~m<JoZO3~bY6Y??dgYv=)8Ei)rw7mz`mBsx0s`#ws`C0n^G4(Z;q-n?TN!tej;^wN zBgbDRuD{L($J%@P^E*n=r9Fy?dKFUD%h)oQ8co)qEgS%8M#Dv{B}I~j#6d{)_Z*_i zVoD}Sy|V{E7q{9P>J%9iMC0rYSp^ zLrOZ**UHa=_v(+}Wp&Ysux7@h!j#NPuo_sw&kLlKU37hOILWvZ@scI-#0n+KS(=iL z5~6sLPS0rJ29M%2$oWPvB}d^!BRob~&@~4lRbU3&Ejk)56S!=QtZa>>6;*vKWR+Eo z+_HOQurlN*f(pGYzW9oO2tWp4E>1%32OiAx3&5Phecg+;^CA(BJrUhk{q21lB(=8} zw04wt)|44%t8Z+isi}@5oh0(5xMZ;=XURvBv8lwlaVXAo>7_DcqBfpjHT0gbIw|Cu1R=Xj!s~=22Obuf zA`q2~xGpEYvKN!|SAH0RsWl1_`lA38)9AsJbWzx zn%)BY4uJP&(tb23aFYJ^1#_{`svdehQ(nUcmdhN!vJ}Re{sK7Xbp*Lf%IU|=aVc}k zp2c^s{mOs(0X)3E4TMr$u3%1QRB9{WTu9&La0 zpVrvfCrsi>i$j)*-o5|b#ueC5*=lRvRAI*;pNxW!eMW$MhLIV@dOW<$ik0E%nL%E1 zfzcsjcJDz!3=#s#C+n`J>@BD7wB#=TY3-51Iz-Keh&3a_V$M?Rkz%QAl3iai#=tYz z=DT-zL~T~9t4lyY@ROE$5vO^c#zIR>#}GPplEe!+yqvRrio_}L0S3klBVosA_^_V}@_&0f*eQPt1n%Rk4C*nOnEOV;@r>KIzTfate|iLI}!)yU~x`}sS1G@ZH;6{E&E z7X)DKZ}&d_C~hxa5H&e2O4{Whk|o_cRyXGoTbHk)qt)f(Z{k?u;#TnUF0$@gShX9& zqpHooE6X~YAt-SQA*Z4pyTLoP#IB}K|B0$m(6zsL z8-7TrC?iy&kV9f&Q>)9t%DAbnq#Tc%D+mkga2IvwA}7RE`r0Aw&5$8r2tOcx>BO;Z zb@k;J*`x$CteH_dDDvz}`e)DX$tP)SF7mSXzSF3@#YiZWkAd5GsrfWqH$v5|7be#4V8+%RiN! zRas`9FrHFF(toE%>=FixWL45vQeWenXK}JNxx0G0*!UVcmetqS6g8;mr)5?v6-9_7 zOrnpsxH&QIuqSA8J!&KrY)u|MS(+m0C(K~UQoXr^41e^_MBBC6*{JM-oSWjeZAobK!fN2lZc$I(%8 zGhn-m*|*fyl0#NT6_NU-+{ht<1x5P=gX;M=#LFw>txe>;EySxMxPutnSxYLSfuq%| zt-V4kf8|!>tjGYEO9vOfax5Vw?LLEAD>S1--Z@9tnv2tlQFYkSgroJ)Kaf%+iIH{Q za{lGSf{T;}bXau1f%?xwZMv`BXnZGXS+>+7oyRU+`VCRKzCUjN;sW>(<6bdR6chY_ z5J$?%iBi;K*}z{ds8O-sX1vd3Xg)>gZcQmc7O>Da5|g~PSX}H4zJ8yDGyEUNoqit; z@c!}|Zb3F)&pVX=@_qo+AHb(8;{SL3{+`*^2gGTRzi+?%)#tI|^)ek#3z?iG)rLs7 z8JnE69%Eu2ZHY=C(@ro!XJ$@Ir<~j@ft$Ku*>ZYba5BBgW}cm%eoD7vcHJM78hM%Q zSb4gj?RGQp1pCTp&74?^t=0d2{aCx|WH-ivsE{LF)l$y7gsC|jmOBg9_W4B}UAF|W zvt*fDoB$*WWmrPxQ9z!msXS^;mC>K%@V5dMG);AU5M8~FekJErywzguAv<7P3P&*{ zvkR!C8aitV?mVVB+UfJ-K6OV+m&u{wF34kuoXC^0+cNxleD3TZv^6!l$^n`R=Zql9 zPF+aKHcsVeDg{+$>E#X!jI396A-i-elyYEGlYw4H1-lr60zC@S?1DT#y_>Utbo26f z9T+)={=nv@wz_7flC^;m8A($$*s`ql>|A7dISCz&Bpz+arL15+si_K4M2d&F5mP!x zjn?ioC1sK83D*Zg9CHxfc{glJ3Eas?xVye)vEuZgDCK!shm@)%zdenIQ#SSfH0191 zjLAG-*F0VS%AWUEMd-*NVki~0lwo1vr%pHSR-S@{go>umM3z7wY6J(!9!nrMm*frJ zFnd$;VX6vgF~)Ms<6b!pm;89@xP&t5r38Ynci14YoH->2Z%~W6ot6)hu*d^ zy&W!n?iGsSg&73bTA?xoksOyQpO!v{lD=HO;hB%OB)cskHT_zB6;FprU3>E43X^CR zo^6Hsln}eg(u!GYOUk43$}Uv*qQ(5+@?QZ{>~|s)olZ<{Ri9J z`-6F-a$r=iE&u zQW+d2ELVKo)X$+X#(UYjDKGV2zpuxwC%@y9y}L_4a0556FS~#Uk21PJ84z{|w;`R#8#-k%>umd@bYWm`+Dvs9VzTKOpY`H1_txd3SR=9ToO zD4^O_k9t30lvGNXxGPqLKP%>dIm?q-*Qv8}R#D}yBSzTVNiwVYv)d!0`|CuTatjtS zl>u3qB39z#rWuYMj=$#()M`xO^Q7k2A(6APjwGkFKdl`j9XXjy9)!$Lj)<{y;iFm-cmFC=EXB}EsI9F`PZ!ok^MRS)Qc2xeOj})9S_Y%NHNP;&D^(QM z4!W5?zt@(Oq5wukS6bZWQ`BhHR$PpduAPRBh>RH(CR&7^r{yW>#M2=_tVT&;E_1oz zCSJ5ZQr;|Et=S&jJ~Wzeetf+b5B0uDlPZQXtw?rAq)DI^A%ju^wjc~pz%rF)Twor! zQ(DPP58qQTX4UKA15cD11jAMtG{o-cOIEX;INN7Vu?4{m{^VV6Y3MARQEg>?yKp@#c0yaLw7y{eW+bBq5#g zBW3c?7Q;76(9O_ek88KNKfm4@G3fo?J#0T<>bODtKpA*{|62oqQuw9<)C7=!FNjPm zpei1>0pDI{x-)<2^>{n{-Hwh9gxgL?X(`j~@N97T#(v3Yc(G@4`+?E24X-N#US7f6 z)=gV**DlJpH97)gHmu5XcFklq!_d%grG+!2e-)``<6njTR|3WW{ERHRa@pBOE+`?h6EH z22jFveSBQ5va>;j+wL6Z7Y`3Fou$33qfvMj#HIf;QeaR@4d^Wkaj z{-BPYF}D+Wa&g^Xr#>GyO4vVGXk37X2|g&x)F6U=n+Lg>bRSA{6OPJe*MoR}Ph+Ty$DFe~ye9cl;P)<(&j|C}+OoUV?Aoeb3R*WM@{FeqLt>v`6kt`eDM z!uD7^>j|l8cn?VNH1wM>p6Qcu!e?WvTOR6M|ATdAlY_vUdi*I`Fj4Bzk~^g3n{4dD zx6|LV%ipX{Dv7bqMW!Ca;*%S?hg+$6%;*}+0~xEzg)QrUrGc!6S|8eX@) zc|Yfypiu$lQTV*9Tt=nd@k~rHu}N{``X$2>>fE#wiwdA=ljBT zdwG9Gn90r2J-nfNZSC8K{LuCPKi+|n3-;RF@7F)sKipED*-0zKhNfGNUuWH&BHfg= z{TSlw)^NI(!4_7;ZZD)o|DeDy9ska%$|@<-X!7_xjBqqg4A8=Z)h@f&r@Pzud4F8g z=_XqIr0$v+9+X~h!4@uXeSR&7o@y#GGJv9lqSU~gz@)6yIA3Xb{`ZIYaT{z&yk=!Z zYy#Pvgkd%*q?t!iCMJCT(1@IRQ(Xxp@^zR))wTi(Wr)|phYui)Ys}=T31A-d7-yen zQ9)Z;+G6CbQpG5tik%b2|0fTLqKpKUDTXD4BL2=ONliwbv!kJ@p{R|No|%G=jtmR} z;aPZ)aHEqFH$Z@B0SgtoS%4<3Ag=TMy%ON{-{}dRvCd3&kgZZ6zS!5{V zc5_K8`v>2^rL={F*s9=9W#mFeMFm4MTJ%x7$(p992NpOPXR&JVXi175k3)oLT2Zt@ z=`^49@Z(_;8c~7~lQhiim8=MMu*EK{#cgv$h_xi25F!Aw7jW;n1_{I2*hs_%D?QA! z81%)@{FzQ7Rr*78fw${U?pT7}E{pKQfTOKp?su4Hn`lIOjd zy{&|3osmVIswiq#YlEe!y%6Wf?6gX(dT>+!jC#js{^VO`h`pJ$;k>)jygQ5W=uFqf zNu}I(?1s?>VlT!!I6fHl7)qUpp!ikCD(6MTUKQI@ZA^MxtSPTd0M&-1NQNLTUQ8;E~f{l9b2Y_Akx`~ljn1zI411Oxf6 zz2L8}=iS26hI;BVd(Z`SSM<}-#mF#sXB&#|86Bf13_uNZLs2ag@BDo3u2SecKALB# zDbk)+h7oOJU!nHn*D!K!G0%532)$Z?u#4-S#(4cXNiAqYd;vL5)u4O*$FQOU!^h4qp$CUo;Vx;MhI3O{{YtoWHPTuO1 z7#d{9q&1>0!qF;qNLD(trtWC5jQRQZ)xh@d;-|rD$sU!mMe}H_bg5~iJBnk|kg!2t zo_x2o*^r@Sm!=ez6qBQ(R5fE&mEusbH_pFp`C}wJtg? zW@(R1Sc}1r$j;tG9nRj!PM4p3nNk>HNMhMte?iA5pAB(Jf>VyhoaclGFurkkn1Ga5 zh(Ydmtp&)*gmI6oB;MRm-n*R$>z-_Wmi?kkdS7p^SL6&VFnoeC>uf*JxRxM@ou@E< zi7X2&hA|2u}NCoc)sTcO?kc^g};-Rs9{RuBqdR!BknuQp!qSMm#`1u~aiU zQjdJBjDo0fa-ni+&$#yZpb^P0y5XC%`|eUPvXTzJbEK`Uvc9giv8KYAMshWitmUU^ z_@r9CC7KkeOEOqIG*XRZ80*}gW%J zs|?7qc3Iy$-JV}0g0>_9srJC8K?XQVV82t8$tp^#=Me0!_}pE;>4gtA=8$-9AU}Nm zufcz(a-|lqFMKX_vKMDYHb!FKZO8171AniBTn8mKvm!Qa?ple2R9G$quc8mJ_{eg0 z{v3`d7lt05tf(p=W7;I-hGsrX9S;LzXJZo$DbTYn~8{lv-X zF-A0}s34N&MLJ2jK10Tf889`ozeHv=UU=*Tnna18pkc;1Ac?$3h46wj6f|>)KG||G zsFM&9&FGA70bo`8&T4+|#=m~t4gUhh7|9%*WOb1<9aj6>5vvRB>N>iNi<35R15YzUWk+F)UzcByG_GRIk_3)&kS1^z z!;g|uxIbGFd$uFbj{EOz_a9pxU--CoqglN-8Z!6ps;LIHBIKtia?eoZ9F%Yqx#k6M zE)QaqT4D><%mw{BbQ60A3={kznje${AF=k4{Dd?;vd>Lp(RE`1YsSJfFjWEFc5^irSo4=w3TkIY&CsKGbg}9SeS-9An1KNZ`cwc4LP3t`! z9cv|8HdaL(FH9tZo;0(?KhQ%YrEdg|o6wDy$h}z1yY9F|FfIds+W=gn!n&RTK1G|lY>kqv9ZGwNc(v9}IczN?-x_i*fx$w|h zGw~*&9`K{?GC{HuJl6O1S3&MESV|r1NcLivuB%_~Yy$S`kpJ}_M2f&rITG7KQpaFJd*X~qjIVH`2LP;tSwbrDem5s*x+o$ITmVG zm~49PxrTYTGO_m>Uyji>V^LQ}dN}YiizrW&8G@T!l+3N>J6WM`f8KKW8O<|8z#?;) z)y36CAH4H3+%oGDNoB;}&&shKScHCJ`kp;$|x5#u5$!U4QGJ*O#>yr?q31 zGO;pnfrNQ+X@GxsAxRi$cEQ~-_hGbykMRPT%0g)@5np=Kn(B~6K7rEPrE?2-Q0db% z{Oe1s^D4_SxrvDhDw;8B!Q)gCn7C15XHiWfvXpi9>J03;*cL1Xr~#G}&ak1Zg(1$& z2`BgxXET_TOxBHwfP;&1xLed$kGecLR02%S_N17bUB>qzW{xvlz3F~vicE`cOuAn( zQ-AJ5D#aQ}&i_BQ-ZCt%Mp+h4f(IwK27-HVC%8Mo-Q5NloZ#;6?(Q(SySoQ>*Fi7) z?0epGzPrEqyZ+7Ur&m>Vbr%Ff{*qUQ*_~7E{6PpN(O{Zas@bz^?MV^UeOA7jSB9;9 zP0!jFW6KB!o+RVDBJ5dy;gom0p6xudo5}6*4jJaobX)y^`o@a7hVmL_q17~H&J-0+ z&76!18trm;?bENk=`vV4c_f#4EOvTV7@%lRL_^U_Y!Jdb1+DLTty+68@ zg`|=i{@1T`55RH+M>B+)BUsiGSZ4xQnT$x;%t+_{fXoZT$KuuJ_p|#a?`NKOMp*E- zjf>IgE~#BcW{2v%`FJz(E$78pPu3Oj__I3i( z4SE*ux2t}+#S3j+4z;XQ)kvK989(je1jIGIJdZMds|F;4@>`VzVxx!xG=r){Sxqb% z+DrF70E7jmv9@xnFFY&eBZJWsgDLcNt&n}oUOrOKSh{lF2LF-@wVJY|n2jq)2)2)O z2D~cFtrVZ8omF+>*qlVVAVqLtEPgvf=2pCuv1cb{?jOdoB1CwW=O6SnF1Co;(#-Fh z25~osdMRxrYEKTr=64I}8S&riyMO(Y1ypNsa0?wo8a%7(KsBZ8$BzcnyR_Dy3n;YUPx+l^FnKDr}p;foLDmu$q@H^B=pZ? zrmD*i+dyats9{Ch&-TeVsHaP$DFX*Xh;E4njowHh_#?7bLxNGa6O@kMJi1YE7UfQR zx7|~@a7Pr#BvMK~Uk3Z9k8N`)Z!Vz-4Um>mwy(T-n5)AwtoZGj3IS@eIn%~CwNpLQ z;CkoN_w>i_YYrY;ufMEw3Vi(cRl~(oH8Z|P9r~O}`RI4>N3Xe5>ESCBq>WQBEBjBN zgX)0ZfDTr^%HQXaWtW~c#>pRz4@SwekcQDhl zPp1FoQ3H zcGekQ^UAXFR%fOf=RujzJl4S4g?@CrjuXeJv^h|chWYz81~8(reIv>|)8DU?-dwex zon$Vri946@*~4%2h&dy}YefqKLx6|Sj&}Ptk2cdw`!TA{ zlG;HBtgfK&y_MCmbUh8^$XE?YO^DgDQz+FyN} z=HR)MSo)*yw%U%4Cx;t5t^DneSMy~_ri(Y+|B^KoGT&aJWch!-JZVAvx4ik~wUVpV z-1}J$vGUb{;$8KR64j?i#(%@04Q@u>FYlfgDygbf9}bh=+1XW9j!}zPl^$(fECMU0 zNOaHVxTBK{0V%UX50O7;PzP+eyM4#VQa=~ms`(qyB?6uf7UDL%A)6Jq25Q&^T)miKLzk6CQt7*aG(zQ|ZkzEwlhL2@Kl zkqIKNF89aH%r^DM8wq2!fRCeQhKT(Ep@a&)Gd}ChFjNvo!&sbMoLf+z^)<)F{~#=n z00U|tAJO{)Xsm$3h9sc<0d#YnU!DJ!dCw4fjdy+%#H_r03|1y~LJ+-qzu^ER`T}n2 zAfx>ED%f2S&1s$rY#S8>EUCaWsP%QDg}s^bI=J=u_#^#^KsA5|0jEG^y1c4v^@&w8 z%};VS{CVQk-q8R*l9g(s#NzamZ;@=$O^b4l_0k6LR|WcKjGdT7RhYr5VGrt&5$Bjr zvW2YlNmG?rlIb0zwa>KO+nXc|?|5sco4K@nlJ!p{vn%yW6QB3~hB`Y`I51UJ^Xuxn z=S*BV#Dy8R2Pq}M)Gz%cT_lXz!;jfIO*=M9GkZ6#zZ;xJ${KWEN)-DZ2jIA1b_^!%*GV;Fhyp5;3ErkugWKeVoP)^;a>ebE`rT*@e2uTJeB&)7cG7i7HCacT zjhhp4j3gAXnMn+|Fo&(u6W|d}-gLb`rWEhD62bz?G!#v83&@GaZr%8{&PE??qCW;E ziWtpf%slwQL)&`hUG&a^@txsu9%|#yLALC_^UH%qEXkntnLQ})Q6&+_4_K zuh9pqO|8ouXpNhln;^(BCnkZHtBSz&yrf4lgjWJMT#ea(jg;~* zGp)@q@c?LEe@M15kS=+mS-z|17Qu6|rmboIG8ZQj_iY+_cr>V>R_%^%?AKpO~<;=-!NBtVy2LAV~)y+?z+=JG1X*k?{MZ_~)#M-U*pN4e1{q zCb4LyfRzI5Zd~uzk(Kp9VCVbQb5_>It1<9pFBSTacQLT4gbbTYmn0JRze_kI=08fo8^-^39Vqk-;A$r4 zme0he8kPKwp2KpO118=oH8B5Jt69m^i&Cu+Fb-vkZ82xfEi@;SYPVQxcWZ8L|GrRT z>Js;8zfBwTk>yAB)kmDCh#hv3orPwUDKCKv&>`BT+I>c4kQU`WIedVO~)p3#)kQ;dy@|YZFFp8V$?<$k^=(8zN2} zKFSOZfi#eesW$rh32DA7*d+FQ9tspBNfyTlUV+)r9IIqOE_Lu{VCD^b$~|KdSgrQO zilf7sN7ucwiU7u<|CXhwC2g8V##|>UMTeZ$HmqsYsG1r1d?dn7AI4>pn1qt7zfP?! zoR|8*034Sgt@SLex*?yVYmJh>u-Qa4R7Ew^Nkv)BOH$80Q1qj(WO(rNk&Wu#!}P7w znBC*}U8{`UN2l_2B17xRB+ixk77i8=#{y_Yxm7clm)4S3rfj{FuAV>XKu`4?Zyw!?3XNcgd%B_9!*U~lz0I5yG52FfB zaa|&kVmj5ortEWdQn~t2=E}Xv>Wl~s%y=s9%t?6qVHo;>wb)K6{Cwjzq+b*<&}Pup zLZfhU_og2G914;%+HKF5YK_}gs<9FoAo1~ zGmkAzV-n~3tkJ~DO!}e-XptY4)-!^YlspnwiI zV{RX=fFfpvn@VL=W5(ZzOJ#iMtR|lN2!Z z@vYy<*(Vm7i52MpPee`O>+6K@`f6qu>t|k1q=TZq(RE4!9L2;A5LIXTUOi-`G^NDt z1Eg#kfMy{F1suO*GMYVlrDb2 zI_>sIr+Don5J{ybVQkD6j<0{-+e*EF8buDL^FPQ#!_@$Ubr2It>vm*80=W&E;cb)SMN`^HM! z4KJ6QfALd~yDwuAUAFtr8Q!`?-F5$}+kfls7bU<+?o21=*|*J4|HVsh-!+$)K7Vxd zDfb3|-IqeKzn<-`2a~oPAEM-RgkkSFHPAYyvjJpxC+}umU>l_a3W!=hhSRe09f>v{ zAw1=Ys_)91m{fE;RS2+}`;M($l&1|C6k5&B?pVkuTPz@E@Z+V(%VXBMgHbbG+#UAsV??;>L3D6@LYiU1g>ryUEEn& zVr8XnC-C|3zUEDhvq9E+p^=?xl`(Wf;f_O!Lb=jREK|o{s|+)S)#MqL~B(` zz6`9z=ITGSww9>6nXb5w9cCjT#CEVtJR28^hGHC36A@fm!jz6Vx{_alym!NG5s=Bx z_EQ|22%RRNY_&|)CLN!kieaKoJ^Z|5W35|%4k4^BX8dbIU2kZimX1q&*QD-OL=-3( zhrC|blAkXx2okO(wOoN&hd*KLbKO@M*D4NmFj;Kl)F-8w2@AuUz;I4NgCcs@pdr509F=&sBYsm-#;8j3k+L2|Ecb0q zd~(h9eZk8mS&97ysxx$BB5_yr1%2}b?Klj~{Jd>j=-3S`Eq;39Fj8s*67JpzOPy#? zRDBKx(9D$(e+ossJA<#Gy?f-EKEH8E1DID%UI3dg5BU@h)lZSs`J5W zioE3@9%~w6c_T9xYT{Nli23-%xy;!xx?K5{6lszyIYQIB0^|aYdKb^tL$}KLalBPp9RmFEjed|(n1L#id6{E=G5!GcUHAZ=gpzz?KFu7 z`_tR-TP+`-atH7Fza*C*$p0g`$enx~Mm%kNS%2n!YXT1be-O!gnlqBD7x;a;6DOIF zALX5Ir_B|7yjORTMYzthM_*PL!Sr@tcxe{rncGb`qs0C!q^hYeg&33C$fBUzY7*F4 zk&%L>@3JF|5!Kq_ubnZRSrw)&0(}<$cvb5GjTUBNaXF)3*rq~1L4r)`yhuLo;O^Rb z>*hq`K|k8SzS73khl_KrnWZ3rODf)6juB%eN4=R~&)%FDmd^)KsTq~E{`Y*7r^WMq zBEo%3UtFTzhDWkR&zLSjAh({OZKb#z;4bW!{5zLWsdif)|m{184g2MO1nqCv13&L~&c5^VHfVT2WHSO+0C^2L+fzn*D`J3BGkkz zF%9idCx9&cu+0#K9B{{;4AIO?GP6}I*4@#NFI1Fjx1lH$@J0Bi%FCxwa|ZafFweLs zQ*$#Fv7aX8roIB0!TTIzpPw90=9Jl;-0UKmLk;gm5y{mWK$=d?-1lyei0;p*o~L5O zSYpIk-#j}=pS1B29dm^PrOA`7EGchxKtI;U#n`i6A5Z5`R6DiG-p~K5z`aXy2)KH&@$S-}%{*6Phw4mNDUU+uWU+lGS}=jtzw6< z!Vn-+=ZlX=Q&~+m5Y5J8JhY^s#K|BC&QYJs{u0NodCZ^wcL`Hp9qV)^9CmPjVe+p@ zJX-I>$iNZk{MWcvk)f04+3`7F@6Z}FaBpNFfqU_sr@6`AI-`bjz2brvJ?Y-;d0um+ zAY*U-tRW-sEDkS7Y89R&Qh@jLkO5ZRKE zi_F73b5qj;3ekfrr&O+d+;z)7Il3C7(XVH1qJ@b#m=P4JRU56|2V1?Cs$VM zSef#?qonjUU(69_wl{vuM)HO+$5lJmRX6#XFAC7PbY!8kV-n@?P=4=N z=GZg_=!oC<;v?=Vs%?&CT9?dgoUAv!D{R38Eg5mDo4RToxM^ZNs$)HAV1YT3f`q1q ze;eK*kfDarR8YcGmj{cN`MYDd=uX(%S=u4@Ji#y+A;wMEjNbieZDq0yFol?4aV=`4dvw3<>&C!63 zq#<)j2>?`KQ%Y`ya{k92cy!}HTx%phev_x2w^Fr=$Y>)5xxiZaMb17e_>^=zp+>?ea1rc-b2K93FY`pR(Yh*D_$E z&Gl^-x#@f}nO}`y9#*tov3mpa#wF)nuh6lG->Q8Y_<1jnJ|wA0MWVQui{4h7vl7GE zZvWDP-cwVdjt{*${(wvdm?AZj-E?1V$|<^X{1z_1$vHx2lRPrqRrJ^(rm+aM;t1V} z^dq}*8tH**Rd~O#yeM)ZiBxLa&tLxIT@e^ zrY%?6P)x+lwTkxMx9MxQ*0$DrwpFAj$=MII!mVS-96DRA!rDiRcSp%aMUElr7jZji zGLuM=MDxz~&XVG0^~cuLkVuz&XOP4uq(&N!#{lA9j`#)4XCV5-_hJDs6O$t4WV3i& zFE8J&t~#{x@C)QiO^^IaUC(Cjw-;*kjcT~V@&0z-HGX^Ky3CfvCxVHLA{ZPD-LoF} zlU&m_ww#$ri%b(31hqbEH8JbBFmANa?|*L7bIYjTl2W@qmP}~kC>MuQb>q^+FwM5P zufDXm@`M2zAo1*#@;Hsd?+B}XW|_HCluTx?<;f{Sl)$CzQSAqIqgoT|SL9STqFgk7 ze_%@nlyzz+WQq9L8W}q8+2MgY5!Ms%wZ8zQ?dr#z*%$yfX8w@QkiVvDx{C!_YJkyf zGc5Az@_2Ze$N-6Z774p&dQ=Ba=AO=u+)PI?L$;$W&d6XAta|3>6g12f zf%77Rv_Xpzu~5Yz_`IO&Z=$t3a1!0Uj9J7C7pS^ezEyA&Hz)cJlR@j9#4eh#elJCF z4#`6TtkZUS%?=N@!^lxyZs45{3)ZIW4*$dG-Pce5{JbIl-FyGb!8qj(^MR9XuWa1@ zCF#Qcr*t&207)+R(j`|95i~2WG>c&s=KF5AapS**vyM0G%+V#| zDma*8v1W|MahB2Lq@s!GJ7B{nFb7$G+ZsNe7ErLHX>X2>MvVx$I|_F^ibN>PFSwyj zWo^$-fLnmp1W_rKpX{EvT_uJ$bmQvc7tt%IYo@nY?+@XofJEX5k5sEJwAz7ASA85c z(!>mrautjzWm;RMzdDHLt;)!5NE+jP(gx;{*;tY4S?-z^?i%Osoee0&M8V2qkcIa7 zjkaw-M+?VzCN5#zasn~a@qE$CFM4Pf;`Y)ZAR800{0;5IV^R_-IZ})x1kmg2`dNi* zgG1`@Az9@77?b_6NQT$RDb_CUK%-t`C*JC4;Dz)6%ky<m_36rl4om7$p>Ya)8Q~CDNiR8)io(i&#Q~WGxO~4i`AzrN=5z9T?q}SY4ed49Q0{ zorQQI8D=GkEN0p@ZLjb<$HtW~DYjz#YkGOid1S&leL*JD@@JivD`Q?d2xX5&J#A}C z6;UV>j@8Yd%R7qcCr$R5jo_=0_Vz<6MfR#H!^)0Ye&i4;tDc3NwCR?9D6#}&#EOX5 z=0ph%_)>=Dx}k~6k>%Xc!PrAvi6C|RFBOminE0J_oj=&!j9}^7;}xQEkh2GHnPEcn zs;R08A?w*kT9H5FAt3ia3E0a6dHP}wZ3S-m*|%R2C!U!$78CGsL`DTe(!>WO);qTD zdo}sr9$)TG-dVYP*HQne&qw#qMT(y;^}qZtKb5HMM#tfCiYjs@j~e&JZqe;3Wn1eCcRSyt5N%gYLqW*SY7^-enq?$ib4cJZseR<36CNaAbj44M1UKAtu89$Y;zY-_WL3EPO}1Cx&=9-pyVA z=6K@xDAq_fT$4Blv4ZOO<%^KhB(Azkeyi8T`PR75ct?1faEU^r(-AbeN}*|@sR>qL zAB`^<@rUXpd8l1N?{CzhzOENYHD?V1o8+8n%EWmP#xQ!u)VxxVAQncvDTXupZq#1k zHR^Qf9~3HDox~NZzRB`ogw;`y>luQzfkW!pPFPN??+RUsnrkQrf(?@IpT z2h*~qo(RB4o{_gzwN@!O*+dD#bI#Ai#=+s|rK#$YNq@pszcD}GSTSqS_bq#2>fg(x zj`u54NadFi%#5?FpK~{VC}NEZ_R+hg=}(yh1N4qUnmI>fo8vy zC!@eOX5p|erQ?|mBUYQjfPM->3}40g;Y^*o1T|iU(QW9mbE`XoT5jD0VR$|5Gi871 zm_TOP!oBID=xw4v(2DxCiT#)@1hf{c`#Nn5XY3U5^SEAJ_pj1ijh_I+9#eEH75=Hu zPmgIn|L-KwJ5N_M6Ufl|^mn1>3e!nIKzl(l>H%CtlP~1_IwAfd3U8G&BJ}%95^GY( zU^OnZp@`_hH3*8?1rg|=tQjKK&xBC<0f|VGk-xTizr&GiSb+ zJDtK%Wx-oiS(L*vKLPl0d2|{$YW1>MRh?(z+h{Lio=a)$yU!?#2wX3T|90!BA#7r; zbFl_q>|br%S--JW$@m@3-6G-*D@if?vNpQ-Q7og!M)YB-8=^LFR5Ej-KtoPI!L<*dql~t6C(oo9{S4~Xx@9s{JnNp%mk7Q&2R?aLf1!R)0%$qMDSP@$r zq>5wXof4g&o>rU@nG=})HQC((jIx}1cz5J-XknlAUDq48bY>8?pwMJiWqj|Fz&4t^ zsnd5?uWpy-)Y->p7_D0(RIvimVD^PVH5j;PPPdmQZ>U%mV-T4PBQO$NSKHiOTl$+C zG6j-{4e$C!f?OP-+UlWE74Yro2j22vPbPCuJ7nxw$Ny;LKdX_uCW~-uBQ(_bwF-WF z-KM#bdWHs>DSdN8ja4QJ_Fdj<@yIZGvrZfb3kFGX-jg3WALN#Iz%sp4FKs*I3+c%! z>u9T={CY;IDQfC$1pS1MIXb}HF~d7B$~?5^MBGKA$#w6p4qEo(|aE20#x!{(f$6$ktb8FI`I{ z+*o_w0@nfMINx3t8N6D4eg3B`|6Y9lf2G|=y!JF#ole)+qh*G(Q(HPHhdtF)BI*Z#$d$yz)NFn>$%{aEaYjGbgrHMzg zx*7&^0?c5*QH5EnaCMl%~tzuO_Z z!ZdZ%uhvk&84MfWGa*(lXc0;&i5RBqv!RX}M00>589=Z$ieKAc|6^q_OhY|7QaVIQ zydNLJ#N>48B19>OnN%bk$JRV!?Pnq}u`9m{vRrjL7NfYNrIKl&Pt!;#{=G;psnibn zIg%%sZgF=1puB}|0pHtQAiIvEPvP%HSAd#5kMvTdi50t4V=L?8dg6ip;6vRG)C$v! zwP{Wx3%{nxA4LA4Sm@TZJsX9+BkgYqesrlQj`l9r%^TsV$JM(I{8d&Dwg#ts0!!XF zC#TBjiGQdht;QqEf4PvlY2CJ%?OSjEwLHVaK$sk^I_-~wML4VLlQgiGM((NDn6Dk$ z(yF~n+A_&{O7VcMdn6e;9{nB$$YHy;e+!N+*ZCUrV_!}V4a8lFHlr6U&Rs>y9;Dm^ zfV;<1)LQ@Q%cL0=%xq{;@wls}P>^hSQYu~|cW)u=a^L$}lpDLB8w2(JzhTAYdyrR$MQWI%}nkVjC66w z`S}`LoCQa=W=Ku!letKK5`Q5ncaG2Z^42ZKu+dSsllAWD^s)zn{HHGebkh7M-h8mR z<^I`SgHomQ#;sTmzumz8o`OV1$y2&*GoK99M^5)}2z#YD=ReD6l^AuqNaZpE* z!A-;a7h!7LB%v`93)SY(WKNljoSVAEWw0@W0>*Z_BGR#q<@Tt9OG!lQ?KQxiU*6e; z6^u31B-Sad4)tT&StpBZ>}8hGlB5e$ye;Cm+fGd}cy5#s&BGz;NJ^yNhLm|qVkZoc zQN>QC4#UTMlh^j=cmyrDkWq^e5aR*{X_zb#)(uAiBZvix44H*-#g5zQR&I)7WVG9s zjtw<4!o`$*I)~OY{!4HkR^aHSlOKbtfoGW$@;!I;)TL0+mSjvZ_L1wUB|8QS%0YvZ&6EkdN|;V&ob zS>+nvNe1?B)QSKS8*hh>EG0$In;LUk$v)DN<3T|bLi(upZ?M6-R%&h-wIRQ#POPOZ zW#NT`mXex536FxIe%gwjR)6WSe62dJ>zdI`OfmLMu;3AgBB}_E@$zPa4Vx3mNqKOO zPc6^U%q_o}0_iu7wPG_w3Qb|DJDjWG*unS4s;vXKakvJaX@b@@#PrI-e;8|i#j=r3 z9Fu=UVvw?;e&rT+s%b+|Qu#~f{1-|#8*Y5js^?_;&nU1W5^F_UrnSuqrcGNkyVB4r zlJs3l_>dj)5M1-CHRRCFO(&$juK<^Vrt`zCU_sW6pzZI}4g z_}V)IJ|w0gBOywLMBmz&(& zzQ=A=5*~hQ`z6+qR57$FyKl;H2aJYXg3oExlGAKVqMKb!JTayDvkaGWFDU2k)5N>E z=tK0k3%MTkQSF9TYuT&&)T}-?q>W>E)nqD30xBLM$*rj>)QXR)rs4SZju009C={U# zIVb_T#mLn&N$*uX98B?3MVAbuJpvnPQHh^Dxm`HG{j^fu963GwmN?N5Z(?X?MN5A18SC z^!#64(HrGIy5hy&!P(Vm)nb)yXB+r$qJ?Q@OL>Ntj-CwzO=V?FBotZNYt6~o=M$N? zr&TMs8S6do^E;omN_dD+8d285y z=i7>yl}aWBwF0r{eoQ~27U=^x03Cc$2VV1zIAh$SNrQE{#tO z7=rlz@)SOuKlr<1U;qa}kMMa+Mge!FnCYRv7MYA`(1w|8|IDg0rk-tn(_h`U+}twV z+_lt(t{J;xlmm7~@4l#~-%->oWc9CRNIA1l!iN7kVB4;SFy!c2LWvMaD0`f(gUHb4 z#ApbfQ_LE>{`)eL?C;@Xr{QAfA+_ z`NHF+QB2rqKp zXsNuZQOD#8l=Bktk@>xEnDPX1B_i`)1w!`XUiOeQ-BuItFU=2&kPiTk2PwaEHX(Uc z{4s0NE+>|*P;5J&zwe0M7kIv%oImjeWrnwNTUj~Y63q^t7V?Uabvix3_rJY9^3@Z( zy3b+%>4`7j{zJR;X5hbw)J#O0ro<@6}wblWQJ08H9-zLD-(Bq36^PP>_Al;8_UReX1s4L zfflw-Cefcm)GTDxE#pbmF))!BhmJzd*XN9y=w?So3y-;TzCJs)OO6-iqWRWE$v$Z&l z!Bo*9=v-$L-P0NF$b@_#_lxuH1#&6sVm zmA{UMTsOM`F*9nq62)nxQv&#Abg(sOP@2QOR+D@fP#mzYr(nJXEh2cfx$qs!o*QPY zM-BKKQ~nET1iM`@XYK2k7W<>^4^vdKmF9p#4bGRqUu1E(thG>lGIFJuIeFx0yc!TP z@N0ZwP0vF4^F$~r-l2_Pj)}KA$U%m&zL>GJ38`#)m@^x;p}N7M5i943ULyszRI-HF2h&IMwxmU1EBD ziww1>a!iEZZQ-gJM14DdKx#&cJjN&i%*(eQ;JHpE`BtQgfD-Pza1UL-BAI++bJM?Z`iOVJ79dEC%utFTI=^(SKhNAxPZ=g|&}pb`2YEVWd1vFUn@kW$ ziWG6}lqh&omT3<_TEcro6m*0QRqtu^NqT-ewrJrpAtWGU7~N%O`$+`}7gR$| zs6#M5j~+0J) zm?qmkyjFWBsZ`laCz(V_7!V}eI-k*_Fpu^l?bE@xp@3_O3tX1;wGw%|7vvZ7$)cNF zjNP%ExMSUWQonpH_ww49jw3>+4VQ`CpEJ|26D1LmAO=W8_!pwl)|%HMGo)b94cBv9 zERX|!t!J^Po@f%d(Dxsmonsq5E41}e3{PMIvI!Fu^yjH0SUJTJ+=6H13?pesPeuF; z+yNqG-=;b8SacY)*Zj|<=*JyssKO~L#{?P{7VaM6=kk=kGQE&^obimUzns4IuJ6R^ zr?kYtamJvgY;6oPW{nN?xj7;d%9+d@o|e?qBsNZ*S{bQ{=QJt#q`8*d6ljRe+92bh zjYSgbGlVwA2&)H^j6>ReBkcK|id{G!`P(F4Qn81_u1TF=3hj37&x0%Nt^snN6|4pC zv8^1Ob2=ZHTiPaEt=_-3wXirWYYU-OI3BHRqlVv?Jp7H ze~{$XXIFH$ldajHRaIw5yc<8R`LU<#>+!f0CFA9RUvnOQX{G2BLYQ*%Hjc+`M)k)vZqT1>73P>I9Q>?Cj;?(ZH6n#l|@j0OK%8CSg_&&UOEDc()km@lJM@8Vv zM`1@|UhsNd_I?0q-u=fU_|x@%=zqShpWgBR!%E8E(`tSQmYclb195xT%ghWHCEi~5 zdQMzzFQGO$7;=aQh5l6~RUExy+CGn*$WBHdtA~d)^3hrC6r?Kzb}Oqa&~^1=;Ii5{Au+{c&?IpNw}U$^imb1RmfPUTX?S;&lAUS%1>lsPeC zKAE+KulPAb%5NWE!~$JOPnl^;c2>J!OL)G{#ns$Gv8sf2Krw(>G$h4*D%0VnTe7Th z)W{Mh7AB>-(1%ybNe2`i(!1sywWJvwgt08cZHOH(K$Mxd9jgsy8Ab>A$ZBUCrw{I1 zQu`U%S8jiY38`xDo0P!ar9`Yrg60+%Oz+D<%0=PUua01xl03AfxCWp-bBBFN5AZ?q zNT#Fc3cx!akCKeRnm^WriTE)as2&^bpV7AuJP61ZYMYWjz_qO^3=ZDVx}BTymuz(Q zaPhcNYbVCtcJ8kiQO9cb%s9W5D4nH9p?4N{k>m&Y%yBbG=-HWK;Kry86xL8GNq{@CQA%a6K)#K`ny=mR%n;INVd+pq9Wv ztpOd{L=Xl{TQvb8Ka0c1B1i78wtV0`;0xP|sWEj9FSJk3ln)N(uy%jq?GL~M(Sufl zf6)5F!s~|@P<9KVo05mOj0tJ!1!QF*f^A4HR}~J~h0e)^yc&D;k^EtcYQ$+IA4Mz< zn|6G374*mr^(*t2j6@~s$}QboCtN=E5xXOZyq}Kd%T)Dj{)a+%3H|?+R~r92_-+-r z<9>3u@EfGSWG+8eSrLNVlz46xfzO17dE5&&W|Y)POV(S{;N{WwwlkF}H*J)=RgrDl zn@w|bg1jeG1?FnDftXxL&6aRvG|dn&_WWZ=c52=dAOx^I(0$UGIhEK4$;0g>5N|hj za~zUpV6(2nJx+%h#mZN;GuG3o;tvADa@YG|gIW00Viekg_wb9GYzf{kPlNVoM)Qr) z^zG3)e=QQx@-+iKA_25pOXICaT2>8udaR0k{deSK0LvEb7Ul}Qd$O@Z?Vinz`b;Y2 zsKt%w-%fTA;l~w1S&$|C^JtfJpaIcO+~O~%{craM$$1=03h1ZbVe9vvHSIksT)b4i zBv%Y=DtvK@>uSr-vGLWTkc}o{r%p}UXlE?um^o~`rEaga$sT54=;K;^GpK=s+`;4W zwX=k+W(We$?_vIhc^n;8JzsCPe^1rdT;Wi_U;FD$Ja{Bm;!I@BsgcuTSaYc1z#k%- zQYa@qrU)(JdFRYOj^c9o~yACvgMPH} zsw*v%3w^I8Q+MK*PVtbJbTlw4>&v!L^MSC#jPy}9TG4vqW;5{VX)lbOzq4*91!#Nq zIEwMVo0!&rR@qQ%%i*ctvm9YLk!_d?qESV7`$tUDPP~1t`6}V~9NTj({B=RH{tu~| zqE;_URkPjui95v5VBvKZ!wd#a<*`$^z$Wts%SRp|04_g`A+C-{#DFZ>fetHen9R37+Q-0lO_*OwpA^03k#;~y-xBvV&KO$OvR+>I+ zAT`ZcX8e+(&`3E{zs=jcxF=Y4$^=}pt%ZR)aV;;V9^H;^LgBL<3~{!>_ZerK63&_9 zSq-udwaW@D(D)+HtsmXa(ItYuOND@lI!GbuFtsAOhUQaRG(lzJR#;QuSzMfG6m|UR zfJ-h&)HKMAq1EDI6w2nHj)xYW#20sT1&4XNVcsuI6271`b*q@ZPf4kFkehqOIPG~l!YSFtTaQ9x!59crF)D;- z@z5*AWmpJrIh(TEW_%1zPTumKM}(Z-UoN{yT_&kx}DW8NL>u6N?iTUxKy-K8ef~44|LJV_@q(hFD|0 zv7sAvsb<)VgYP(+HZ4HA+=7?x%7?Aq%v2&Zj%Qsq-Ha-jZ7U$fPH=pAYk{XZgK{Ai zjvWsf#0dKent%03YE|zH8aMkhi_l|%=4H=wt@(AE#-V=M$oE7`gQu=sXNq_UMYj`h zwv0Tvp)F#%aUR*}@jr^jr%s&zkkyEe$5$7JJ?^giql%hjjcF|Q+e}uPht@UbwKhpl zYv3`t9m12PJvXPIHQj4XIMlROSkE(TGB?&12~Ubw!)psR?3|35_^ZNWIQwY!M^98$ zL@NpH&(~*oU7O!duO@b$X_{pHp{@B7qcdkvjCA+ii5H&@KuMkLU~~-`$Z}^ zcPlF_#?F6upbMqH&Kl*ZfG8fo11Bdy!nMuj4zi6T1p27N61@x*~XBu7e3_$XeP>6Vm%CG+IBx|x5TiKD0N+KZYUV=RV z=b2x4_SqF5#;aNk=DvlH>Tt$#ayd zk;uqZL}u*5XMo~E`exUXha}fbUCbv>Ra6TdEP^T3M0VEj^pD(?(lV0yL_~Iypj8X| zb#+8z;$>Jf2Y*dRY;;sy1Y|^?pdQ05?RIVI53Tt25{&#{tD~;Apa9*<%p9BX9?~@ggV$Dyx4lZR9rr64ohSfL*T0^TPpp+Z$FWksbb1w(G*69Ui>X| z0WQy%!w+)*y4y3^%esXB4`=+d`G38t|I05$bbR*b_NFdME{m71bwPL(C=9-y z7KOnz%tPel3@mjv+$_!v|Awf~k?bHLRr-~nf*w}6fMYbTd=IrT)C^A~zJO;<1@*kp z$K8xXOIaY&AvuGiOBT(lD%egwkegbFU=KA?(ccf-h9cZL$ zpG8WRWsqMbCdr(?68My;M$}l*Rs$lk$95+qapCM+v?Vt}ULu@tA1) zQ?_L=v}EK+Pm1c?y}H}Bx(6>?=&XaZ@%bYOU0C0KLRUN~hE9dbhjM zH|nSqIV7~+*?|`e+X{~WIYb6tnle({JcPQ33^xWzLRpVC4U-o}r?4{RzXh}b@Z^F61%kghf>amg_#v1s-k8|^!{;|nI)u+!z9G;;{ zXPw0+eWA7Lc5}U#rQ6BZ`hVE^>Yz5?ZR;8}id%~oFHWI2B)?LmI20@1LU9T1AuYwV zxI^*cu7RXzaEiMI_h116c{WZub4*0cA1_ugwQecTitd>-uSvHtHA zc<1-w-T!EPMW3JJ3F7n^P=yQ(KyagXtzdr40JU4oAl*t^>RQ;h%Hg*lVxRhyaq!@E zS%=SXCIEcCHZz8yX_!pG%kMjYBz=xM=9TFr_x1$FlIN7O5)K?_UeCE;<`K zZahxK^Dk9WlY~cP=`1TEs$%2~`bl)E9Syva!#Ufv=?-!T-L)RfC`sF~eij~mETNbD zU2E<1vA?9!ev=w`!)lDWVU{-GA{`@r>1QPG?U}<+OF=OwQd~w~gKO z0`y+?KgXys*#m;+{AkV5s2K$6Jc~u#FLm`=FEvfi=_AWS+_tEeJ!sDes1FnvuznxN zECwK8+*E7@@*ZC_b|PuCDrL<$ee;?$_~-bNUzkT}yXN?6N~bf=mx6irv(I_e8!CVO ziP($x&)Mti%ZWPIIo_IXY4gM`wr(x~Z&8@JM`^x*vg~3emNx_KeB+Ze2dhbUWygbb z)j!N`3P=RU@`LrBe*hD-0u*A264(tC&6EQkyAZb9ah{S6p{3!QfdJhxMm1aitOcu| zQexx&vngmLGvKqhQEVME}0$ZV7|3YV!{KY`pIMZJH~mWZvO^@J^+BP zuP@OJ3`?^uO~N)?B^H+I`M)k%=QE&ld|5zm$6t~o(PbgQRGrLFrPDM-tR;E^^Jt8@ z25;Lao6rh-!n#O>-@^N)33ty;vmOzZmD!|a8q5P%_WSgo5%l(Pdpw!feu`F?+2kH4 zI2_t`CKwj!l@apOobdzF4S2ZB3%SKf?W_#%iyzuX@(eI;@vl zs~OKwyt7}}wPPbCyFXA{^AI$|1&VRDr)y^q?GUq@Cx7Q|*CDlL4Xcew2h(n`JaMC7 z@(+B$krU>C3^6s~F(P&faAD0bPkh45=Eb`?QtrO*XAI7sH2>pL#cLun3!$~SQD_`w zkEzeXeYodw@oM%US9C6#j1H*kbo**zC7fHWW^`+7(YyLXy|=IL?&5yrJLIoQX7H<# zyisJ_y~5!zNg&7ZwPrTdNXdfKt=80kTD3EeY0UmR9o_dmMn=_2{==i5AM-5(-32>1 z=L&-6(uYPf?ex|gvz7ggLy_}p++Qs?gPBCOQ;$+UBr_udvNiKs!8&U`7%UCF3XE4Pu@kAn8K5*iyQAgTNiP61l zQO9dBNwAf>=DyKWq#$%o{<2u?dn~NiPTwl}2di}cYlmv9#`2$5O989EI>Ki=svW#=zP}8iQdKou=5itsj6P|hd z0>mC(9TPP7{@p$WV^pytyHL9x#d>Lob9|dU%jffUbzQ%YjVwGSMhn7AYI<2I{6or$ zg{i&v96TwvXDf*l^cz+lnzd=>DQRx7xpfuVesjQuqg?mKBsle1M`*YTg&UqbEjovSB z(_hlHhc`*y#XLN8A;fQ*C#c#%RUM)|+8@nEJxqzY&-ddyoH5uqN9JQx$9>Cc=j1J8 zyi7QgzJwkevo%Bn^uzYM-OF_SUrnis|HMy}2zF%#(Ynk2rp&7QSBB9NC4=4I63$rb z3zglc@F}?;C2@km&HHn@AfVsT-gfRnhgX7=TmkjSjvQ$IqtE3ks-NKy0EN4me{Z(j z6E|X5G~D~_tf-HAT}80ymr#E9)$pD1nMZ!~`F@jlumU|ml4i>dr?b*kui3rJ)iz2u zGjS6=VqPWp7#SZfQvW(@9s|*?v-Mn`DTwE_p^sfBUmRj`OVD6+Vr(DU0LqvbU2JJ? zt%T>yjB<#`y4WJkgHk`K1Qqg5=q2stsJedWoK<8l&Cjk6Bla;5h!Y=@r8_JLbJKoF zoBx?!+Vc*3`9DGQdN1)Cx@-&kxhZNQr|C7w(B`q1UU}cwzb0vy1QYZP3M{m7&+j-V zPXwy>^L6k5-hT8={Dd+OT5mFh;s-`;I`6~#s&BX#uHv+I)yC|ADlQi+6YJ7`At19S zHm1t3CNE!1_k@J}s5WI->LXjC%klwq{|D@$dRtUvXm;}IJgj*#dnoE#{rTb*D&=mz zgM|a(+?1w7 zQp4#Jm4yV#8$;xlpa7|*w~0DJ0xp8qy>IuP2lpfB z+4sblM7G0N@E|Iol_?P?St?vB6VaRs-9{a8@>ZBFja~zq8_;`gw`F9PL)6;&Hd$ZD z>z7F=q;4r%VH4jg&oyKuUKjhllx*M;eg4FS=cuM9KztqXAiM8Rt{E*-z)VG;Uid?C z$uUWn^cRiA;;lVa*F#=CKk&+AM=*^@ecq$ds9{oMje2Rw zr}2HR;KU&O+MZAL_2IlT+DUt*3eM`?b6lo-6dHtmR_tyq;cP=HWcy`d1o5oqzxoU! zrboOuJu>Ar|0vLsI#&u;N>09bB3R@kQsyBDa;|wN-n20nOzE9Rd5NHUAhU7RwBDGy zKBq6#ICJ)H;fSBl^yge<7W3p>!B|JjOjq6_$~WOA3Gduw(??&6iMVwFd@st>1$l8^ z7de(MMpxypziLSJDac=Mf=!NKyjHOH!O%Flt$%ll>9IxK!?w0;i?$wO=O9e;2wqd~ z<)yV3UJ6Ce>TGjyD)pClQq;jTKSwM(P3z^DwSM6Vl&QmBtxz}Jr!`z~RhlrAawZH+ z=jNs#R%Xn95G^D2?8>Cu({~EDQq#5Y^uF8k$Igs$jT)r$h1Gj(v3wfDI^!RcisEGm zt8s+zvTBiXyTuj=vXB9SJiWNf}Ne_t<+k34{pDrrY{srb-l61My;r$1DsIE;XJ&)s!Yq4eOy1s zDbv^SXQQ9l`j!?DE|*)W9w{pGwopwk8vV!fL0np~PLfT0{ym3{qmPDfT|T~-{b}Uz z)yv|im-l-^+XZ5Sq0FfrBJJsQn4?op^n-)a$4^EI&AD^C2~!L_Dh`$av#nKcXMZNz z?9glmHzyVeg?~@LZ{^{NAK}SHeKAA#MSc3dV78|)nk4ON?GU782`;W-8`MkK$$Rhm zflaiCY`zvnY-HES#;l}0VotjT3SA2q2vz2n?n?4_`CSnS3-=I_mo`Fut}jy``yf9h zUAXL<#N_(P!$8?ZleQSZThDlBbmKtf$ti_Qpdxbl_=2B=DTHi8gz8!L!^UW7+DhI6 zq4T8#Q9pwRPDLt1jHdGIqk|<=<@31dde{38&t7^n&C|3SQrA4~xuMNft^1|9-FfA; zJ{pGFvf9VVNADJPXAs<;dQvq@mR0ie2#U1c)1LgJ6YPADq3f0oaX4=3TY8Pdj^S8kwt|mc+%|Y5r!^ zfqaEOb5+1#Pcm*(G=Z8wDXp`3?*sCSK{awt9%Kyn!z4xlf!i17dea_Bcz3Re&ToeJ zIpJkU`0N&+5d)_YLq2VPk^_S=*mZXV=~FmWpCn>#*Y)QW)FQwH zH~`u*n=;$roa3;5t|<9gIDv!vHLvTzVQhI;HOO!!oqot_BIALyvxa7)hf|1(>JPn# z1BFb?ttI#Se{xLfhV;jEHGgOnpTNm8kFY%$w$!d58aU{WEaVE-^8ycm2@oZ*b*~-I9+t1isRY&`?w2Fo&SYz)WjalU?HKi?&UdoWG5DQa| z0`?|2V{IL!u{M=KM6{A+C*D}@g7xF2rsVxgMqtidS5iSNld~`!BLC^E}+G|8Qo5*&ipE&IVO`lzUB*dgG-{*@6_!x_n zv^bWwV#RF`h+CsCm{h=4jn3E|Bm+Hsfo}Nr?Brjv&p4@~y(qP3aKQ1M|3S`Y9HsfN z2H^iMO2|#(7;>v|XeH>OZ1Q5lX>YCia1u6LOU$sP?Ozg$pO72|hem)~d9K5R5 z2}6n1ik?f8u_r7nclX$T-Kd-7&R__>+Usq7)PSxi9ZLw9ENb^3*$QC%$SurY1}t^p zj_T|iqcKoDS0Dl@WCD$SE<3h&v&vh&ynJ^9a#!Nr&$@!Nf+W`PQq8aQErXjk*vSb# zZEA(*p429;cYguHYM8q9=#a(XD&x7-5uQT@zG$oHD!@dZJmQyg##$)-&go0==WkVI zKB3A6R5a&0(dBe@CI)HK*@?UpUOR$=btvBEH+=Sqg~BvBL&v&b*laneH><{lQXLSl zCc=JcUKGzter$Acj4&}YwsALe>+1P*Gq0ZX^5|Qm6FKFUiDhNr=TrJSsX$)bX>dSK`iAETI{Ik^P?YcR+_#H~) zlXfpMo_{>NuRlzoH!5;i?Ue(EJgZa-N;ehd>2;4^%RK9K@$-JJb6oND}s#@TM!(2uvFTr+IF z)S0N_P|DXC3k0k_ruTRNcnn;)Krc9lvcg0kFvPBzv{sDQVp9UI%cMtr7a)LuT&*f^mX zxBKoO0Z3iV=QKsp*uf>SM(k<-be1I*iNx6OVqvC1VNmO_JK?Z=^QD$+8R6^)iJs+gC@Orz0z72Bp!t|?h zU++C{h!UZS+LRZTJE1I=a+{${{qo4ZI9RwtH-oOEM26R$u=K}sTfza`PBmxo`heWq+-LLv_SUuhEVULH55+LIBg`9p5wKazSDtO-vJq*3L;ZrC~_cO`ck}<16YA4%D{;qN}br*VX zy!7h+*%!Z;?(=Tpp|n)c_w=CaLCj04s}>mDQF8!(C9_vm;UN+|GUs}@Imh(XUZ@TynmHC+ahW7uNT0FlnBQ89=$^V z0Mly%et|2cZwUYH(hZ|Gh9Q0!LI@Ce>V9+J){z)fWAogA|2<*-)M2_Z{qfFZRUJ*| zBwh1S_tiEs*dt5Q`*f{s|IyTBInT3-XNm8R!!1bm2gWbUsu1W1zD#-`#L;`#3c0hm za~4;I@gOp}c14bWk+)aBx0L-n>)_zKoh($|jQ5=Zy@T~E;|)@R7WJZ_CxQHH&0J6gs!BRA-bdW zqe*tJJajGfNr|pBB<`Qw$ZkC)3!IaRO2BG&WU|$kcy1^ zaO2V^FtU(L^3b5VSta%Z4LkmccetsIBJ~rxv3sKdm07=S`xx_@gszPGT(EB@S58C` ze5C0BHD@v0kV7jb$f~4>@f;oZ$lE(+kf4Y)AqJm7BFfH0o4&)7ZPGNSV^*Xwcw8+&oLqiB&SqW+Mz_txyJn9dP#zI8j*_Q%Pk7{IMA(SK(ui!n1*)m!KSYM~G(0ESCfaNoOsVdL-@Hff%iW#sTM4oxdF z8IKw!pjmp2Ty$Y#K^}Y_%(NU-F}21IaL_n)e*1$)b`T}JSb=yV!PyJ zV=X5vy9+QIVZ0ts?rQmD7M4VPP!{T6Y}R76a?sJHk(V>t1WPeT&6e?;)0cs&a^LHw zmD@gFH0@JOTo0BTDfe$~voh(<--&@0zmeC=31{Nb($#4ke_g4PG4rYV*}xOwCd;3> z#pRqe{P5!Xp!dH+y^sbu!iEX>tcRv9%}nw?EhX+|u-N zF_z2>5pn!e9;3qOkB|mGx?kE1=KbUg+dTm;F*ttyy<{Q!Kry5@U;9}}Xb#WzLF587 z`Vi)OIkr1hv8WP_Q;h>~t4;l8{vTm2_&n{L z6$J=vYYldJfELLIr}zsQdK^{z$iV9)$&z8IWwE&#SVA?xy<;&Y5`gIs)4cg}{>;X$ z5tO9{hrw=_uWl^WvH(8kMyKe&C22QMuwlnVsih|Ja{vy^)~6@ zJGv($D@Z-rT26l(*X>U$lQ%TD_3P_(pPP-r-6;@!?ht_Ym8c7g-f=~f9erIuT8}G#1lBIKx5#hSMB;aQ@@AJM2$l26> zbOQFeYkmC81WSr@lcU1N`Nx6Q7c`@R!y2FiAPnx|mIb%@%@H^s$=Xr(ZZ_NZlTWpa zW%=emFQIkdb<_<;jREL=yxg4;*BW=(RhLpXSoDZ!(gfa&zFHs4%3SpJwO<(mps(1x zEUV;8N*PrO6Y6~mMH=(!Jju^4gdzeaG?-&tJs%DK^`=Fuc^Vtj4>ci*DL1=SPM zipuPT2~|t~Tq-eT%k@ycX5S(|X32cB2$aMPIOb*+#svR}h^kVrRK0gO9T|CY{YQ(> zy}cm#WE&5Y3ct1k3h#oW7dAKJ^J9nfc!j@`=K^`1TaPj<+kv05&!J*t9=K2|d}qpsd#KGl&m+ z7FVWO2bfrKIMeu(neHlW)=y3%AsCj$I388cj!u|Tc8?BWXRmWPWtD?EiE7Rfm&%Cu zKi#89iRvRyW|Gj+NY3Mq)Fk&&(zMI3sxSURr6Tu}Q{qE1B>)di|IO&&duGQ~3PG@U zG;5(sLIX~>iR=1otPUD|aE&uyuUKmF!$jVC9KsIo9NqPL={HwFDD>Y3YA^pBR(g0G zVmbZ|po@b*ZEUw+Az$YeyZ~`JeoDC!iQUJ)1^!jvzRJR}1->o)F`+Ed<%4+Nc93-( zJk=O7t>7+-u6Q4n^a8QEm@(76&(U2M82Lz~9MJ56#m$q54i}nyyq(1%zB$bvp!Mys z@9b(7KriQ;-j453k#YGsGiq4^Yo_eGyGeS7TJr~s3XiER^THCerI}N!KFkPZC6y}> zYO;G4uS%Z1HdYGx$ILa4?VDuj^apc_PM17zhA}3n^x@jx}jIp9P`>j%AqQ&VE)Wwf`&ZCPs`}WzMRa>uWzfS##$8q!~)a_dH>qKF8 zJq{i4DCaBQ?k@464z4b~0#U|_g2w86SaDPS^FZEr*>mEv;u!tnt8k<^a&Y7iAD841 zV>a8XWCG4N_cXQS8R&GY>TF{*R@9wM^zR5y;!!>7FlQ&stqv*%ek)Y{a6;mvKZC64jtjphN|my=)a!26fGz`x4f zEfZGU>(8Ad-Rq7*gh^r(yvgLI9v*&+JWWo`TwoKsnV`CcT*)g(N294kFXUKKo3Zel zzmeq8!vgtb5%k8UF7of*&-T7;^S=2(-|Bd~|K6v5Pg~35_Yn&zDX^TFrJ1=#pR?Ik z2{ioz5Wzm0}CLgg8J8YB5^*` zA2OYc>#7PyU+HO*U7Tl5O1hf6It78;AF$A@q{RK0(OVi$-FazN41IdM^Ay<^W*{fO zt$)KGt^SS!#Yb@c=Fe#jaX(-C{t%*ZHt!;c0zodcfnJ_tvv?x-hSNG-YiTys$e3C; z^@SGYX3*1`e=rcE^&6FhXxT`(fzkU<%uMC%g27q~T(p{YTLJz48kdeum26*=4umq6 zL!;03!cX?XT<8>BlU1JJ$oDViVxOs0T~Yrk?vYEiVN|J#&wsdsFBnN-rTTf(lQGC} zN^C}ly}VbG3iBk^&dL!Q`kux#`SRsJHN%EDIpw=S2a?ZL{iStdXK6$ZILg{gzb@a> zP$Y=K@xY?p1BdZT*t4nYid&Mg z+?Jb7taIP1zskkFbO zCMBo~JlQv!<3?^@-9~1#(v*zT*<6~M<&kWIekrGc?Dg3O9Pqzj^jETNzL>Lp4<@7^ ze)eLBJH^VP7%vE~PJ?}|@>MICM^=b6`_g)-H+z$$e5ri_7JB^TSI;|A$NfCmXJ?w? z{8z#f&DAw!kSO_OHDa0Ri|*-@m;#faR0zE(m}7E*m5Zg7x52hCu#L%jf;J;{cx7PH zEEU=3@>AC7yo)69*Ps5a-=G*k5@%}$=gmFa_7D1G)!u>vC@+F%1MzRUXVtCIUmELT zWQ<7Sv#f+jEL5Kf(LJk4jdJ;6?rrn*dZS;m7LTxxn?^P$P;$^P(Ue&&GL=u3cj8mB zEOX<0Hmn%7QsAHpPAKL6#5-yC%tCpkbXiEaIZjjew*AaK)|yhke#ZGUfcKB%i$D>pWdf%@C@Jo$|2uH zfIc{#ml}r5vWx?##5a3q=I29+d#*-KVC&WQQFCOkqc`hxJ#Z9>tVJm5Xd9PBKnJut zUMEPNdtVNeZKzo}Y~K{eKJFNjaazj{F98=K(lHHnOF;b_6y`e>p99?24Slu?6=B$> zR7E|vmt7{GcY8Tq&G@^S&LW&3NSQsbH+=QYmYtdH?$dA0z2x+-aP3?!U6G`U@_xdu zcpm2wY1^FaY!`4Wj9r)B8V?g&Q=vR16x0`XjVH$M;6MrY`zWAVp!x6-wAiLUr)IT< z^c|1sHJ_{(IM}h3eA7OLbj_HU;X{JSxY3l_HfW2Rk6U)_WsRV1@ouosm8JZs{wVF3 z9p7&r06}dd`R+<8P0WPW{JY=$$>fm{`8xcTGr5=cU6p;E%Za`+Cgz;k;>~=+O#;7# z=O&mJ=!}UC=YK>U@W_xUsw3+t1f`f2uU1h{&4TrEE24EMXO%Q*S&Dd9pIPcP=L!tI zO>n3fs?@gBFA=oY(i0BjcF}9D<7W1T-D@=z>ETOxX-S0MbUojgh{DMy=Sd*_ht8yx zF}@kW?HzJs{VxdOf>JI!E^X1}fSZ-x5?t=Tl=Ij9i1*dwzZ?qw)n224x=q>#~`!HObElW<`qFULfo+{3o~BkOZ~Phg z=A>ROwQ_hlTdwpjlp)YjnUa!T=clI#1`y2eWO?X5auxuSSKkRHs0JOwL;Us60-BV& z<@=PJ8)pCP-WZjb#TnS4GGn1!=KG2)!4LPh`;NC;Hr|ic2}J1s9z9cF=nA8X7v0% zM+mAXT-BNrL_=e@C8wQ@T&-zuCB9n~n1ZJw6l3m~wH&b5V%2X%+1OvUzASx^5@0tdM?kSb zsz}m#tiKX+>KFs(W91?1+eq_$c1hoTZ#d9Y7hE1Ez95%k%Bv=zTcH0-uvB}dzF1Pp zE3rdG}JdnwZAFeeO zj$5a^XzUpcpKF=239o3b-%_HSG#LWAnS8~QF1eklRp1_h)DZ8 z%kjFwF}Dr@em@uIep1I@XYia&XpZ!f?!H%$m>kO3(v$a|={+7=C~088)dojHy=6v= zfJeE9eR+jCf8w6^6_@R!f{8>JmW<#{gV1VT@kRX>_gcTh$!@gTxiK8(>^iXWRAarP z%Kbf2i4L%2XAWnG=Q+G{q_1TQq5tK2Wr|EtU>P76svY?HMyU zk)T!BhZ?Z6Z7E*6$wmc{%G<+oIp^eJ z9C($4b@NiW1WV(ago~wZWy{N$=HxRN%6K?6$%T$jo+4JwUT6PsPc}06>Y{6Pr0#sF zOz;*^Ff*AsFYa}{Hxix%Z1ui*${ls*2y*BDC=tJIqd;3&K`8(n`qm3=?Y%yZwKlx2 zC`1@Q!>Tf`M*Xh`Om53-T%P{1C-0igFtJa;-WuFwT>%GvpowJSdDr0B`t6y(e4&oo z1RBWt_5dR717|@26Z=Wh62D->^BK{;`D?YsZqf%=%YWM)7}Ulvs1Q-ZfRhSs0`GsU zv{|+*t!`*w3APR6QflFnyDEzE%Uhw{5z-a$a4_+@SX;?0^bk2L6>PAi4#BLX|fsfp3hxBo>H%J zVWLVtRdnr$$b5%+VLs}UBe>Yf??D*@6UbQ$fuA;2k1hvs5t92GjjT@8Wf(l#othd) ztZtV9a>_qPEQk-asc!esjSlrxi6W>&6w;Ah>cL8Fyh+kVe6r0m>>bzmW@Ec2)K|9n z22XLsna5fd%3xVJBPRtF-e(7w8JFw~CRZ0&F)Yd}nlFQRa{W$wrG7)aSo0J65>8Cx%k<4^KaYi zIlcwhnON`|8fQR7MOy|_fkqa40tS?Gqy$#-_MzVk{%FL33j6AH^7J@I2iCWB`Xmjs zt6GcyD5PvM_8(JNzP#9ea=NB2-6+z%)Fk!0RZzf>r6O@rxGY6)J`L`Ioea*1dqh97;H+WEh^74e8RVmd2qIr^8aCV5HtbvU%Ckxc(MU~F;?cW-vqY(_ zc3TdOW0*KUrKq}S#`|Z@o<&gF_ zIh;USMK2FuV-`6WAj!fnC{`?q_3~1DuZQy%+cLptIsRfq?fiZn z#C&0*JJV$gqJfzQUd0E>rG?~ zvjg56wW70NrO}a^l&ORD;Ldoq#X+zy=l)Jq=LwCO8m&sxxss0K$G6JP3f|5dHqM`& zot-{NJ6+fK_x$kh35ktw9Bs^N|H{51uS#Eca_-)8wLFiqWKVn~7SSrYTTyOyi?BG= z#YaFIzRVKUpRkn~2zQvD6?D)ifimX6cKxP^88Y4Bi>tyEvOOwZee77RtfqW429X83 zMZ#|{J(kokW2Bf0N{MT?s2h{p=H+3m&#Z|bba@x6FXYe}lz(#G=yjDTwg&0`+_1p3 znG!C-t-rhCc@Z&HH+RdJ{dR>9w|DQpKVN5b;xR-G1y44b*|J|rs1YpkuU~d6#FVGS z4lVUX`o_~xr@MGqj#j>>l)Wmib;CvQ4%u{C+UvpWv7}pS#&%=U0QNvUs8D0MS=|G#9idUr>}VF?mUTS7b z5Z@US4n?fF`Sv;0T_K<;9o|i3^X;s4wrSWGrydP!7XyUU=F*|C)WL0U*-$r3SP|en`UCKer~I&LRNs!pEoCj?r62>;38D`(fouVX)y};P{pB`?kgKk|Q zuAH#33bx>V)n{`l)Gk|#_or?wlcv)%BxWtoJAZ4t#4St}FigjIO|tJM{Y+o}nO^u! zEPHblbnqU~AlPdOIZoJ}dCT_{85gE0s3;H@{=pQV%$QsjXBwK>d$H~~E3`Dv9vzk= zpp?aqFgZJM5_6gz+5Cov9lcY^O-C%~U8BKda?Q$__3kSzZv9lC3+r#;`+EeohAr+F z*Q+&SKK-LYWAcNT+Xmq6S-&1o*$@Eg^G_MGP^K4iU!z*`eQiE8RWcb>yL3ckkOT+A z_xP~FCu-Q{Wf0uxc7b89Fw(ujNwnT)s;T1uBW!nE>9$bkFdSnK17#+&CaIZZb5f``fri^Jx-OlzxNK?OYiFk1i6Tyjp7hZLL>Zr zq5$%KT!4BZRdChhmXVt=*Ax&fvR%u`=NJtbnui?L*_6$Iq+o>To!LL1L7x(FWBzwW zYcH(*3lJ0jXnZ6%z4^Re>YpJ|;74uS)BA}b9a=f^&#m5DC+d{gTibH@Y177Kcml=F zEj}22aeCXG7S=e0H{3UN4;QpH1A#mdYQ;T8r4Y@VdZxmc!W@@V(>*RJ3c4j+tEszB z4bnJiY@Lh4-kCD18lz00mz~!NKJ2%S)+^D&=@zUG2ALj?ptfO;r|&w#m_CG=UVi{J z$b4cV-ad*IdFFPJy|OlPU=1sab_6jdH#N* z^;h*pdQMMBqmoD#gD5R*fuqmfV*YA`NXKtq$n7`^j}R(sH-FIbIlOF8E=@10M91Fa zL=ybvhA@d$cnqF-)PP-LxP@bBQC%U{WZlE*0GFZpCz^#(Df|vQdxuoK825}5kF@%T z^s1|Vtlm)}*6%g&q&Yk zBXJx#gqe3%>$kU>@0u>sd*A5XG zn@X~{`&D|3a0%RHmf!Sz2kuw17LBdjs(|ZVpTWzo&#~n%PC9~K^w*a;E;XPAyefYF zq#@xukRrUjJh*QH|C%+t2=lz?evKJRgS%%5*tZ7 z;o#snkPKCR;6~7*D%vG<3F{Wn;X$$s37HnXZR!Xp6gIn;1orV+S-Rc?uLxqoHOJuM zuU$40CRFccTDJ27RDATWn}6l!>*ZP}ErxKt^nS2KpCd1WJDqJzBg}V_ziy$(-q1@4 zPiY10H5?Y7%U5NgwyHQgp}Px(g!1i!%3R8T-SN6IM8=-S(;3a`9q=u*+;-IrT2Pi<#MsJmsNgOA-rd6L?dRkE(TL*Mkg!tr z{Gx307bAQp$BQk#+L(g+TNQKjx9&sXe?qum9`zZ`RV$}-Q{Sg(MNB@{@6FFMfD6=M zO|EU4n_VOZNu39&NsX3rJI2E;yXZbr<9N2bgw99ikBn5CZbkXt6iM=wi;5MzWUP9{ zk^hRL`sJ0eYR@9e62T)-Q1Gtyb+U`=en>lEVs4ttVJ;re4-d-U?fGW?0yocg1xhPdKB<#m8 zG?136DOF!aF1F*~G?;~+5i_}{E2nWHq+jwIi^&#}aNTSBoiKQW;cYNh{}h1*wNYW4 zS4*(^CpRLyg(@B<_3qIpZDSa}CZ9{=jXH9G8i8@;Se!<8fUU51xfevF=(0UsT2aXIA+pr3txub z4y{VMX& zb&MFOj$6gt*|Qs+gu75E?99r{cC+R1IxZsCri+k7gK>oUnR1@5(w_orh@NJOPArB+ zaR05oqN~Q|(f-(w>H!36s7JWzy)a~ZpTHPrxXDy&ksqeGl!;xO_2|QL=7Pwin2FJ4 z+|sHS?8MU8MEnM}Uwl+1p{cg7CIR8^LWpf|wRC2bzo6oy1c3FalXPR~49IUpMJ}8c z#}Ig*zj+PccQNUtV7G{8TN=g(r0z6uZu}Gqjv+HQ-b}oCw3)BrRKHT_qZZXKIT{vCG$HWyt#7s9B zZY6ioSYb2~)@S7}HV&~>S5RO@n&_zc!5)vW>Z64yOa`jS?eZmuLBWlVzYIQ`SIx0`|l=w>=KNJPi60yr2ws5l5wi$IlNl z%cwD~`xnH8RUS!^r)jtAfxQrMDOB2t3%e1{_vl=wVp;Q>!do$OJzVvBrn}Z5v@N6m z_|C>l@4pd4hL)RD>fYBUA@snvVvOAQypl+ch=^7mrmOxF$-EsoK*CGqk+W`H2495Hih*1H>0s@eG|pds~o?CiYxb z=eR6+vrR8$MK*9aEcS362#j$%RG0gzHZ&&R)!U@K4%)HV*;!mmD16AaAbMnX*p6}6 zq%Y6Bvg;U~-lq{DWEj2?t2|Qp`1zyjO3ld&T{~nw=)HI|R|i%@!ByK$`?h5MB6gbV zMS~Pl%`4v+8h;~N@a8pEyIE~RXfD|(j@bx{YDcBLLV(Psq7@gf!Lx}PMFw*0_H;wlbkGy0HZ!w)f*>tvehODi7gh@UtMuNklbum)bVXlDI+l|^AwGJfhxpa z?=ryXB`juJ@&&1QQtG~}l*)!%@P3rEzim-)v5cffcPznf5h1V5x>eIfcY-yr7q=j+ z*fI7RzI1aAQNwls`EHL*bbZg}w3lu%sUz5_&#Oyx7OHLy3$9m3i&<*+&{f#pRxDgJ z`icr#fn9Lg+uE<0%BVjRHLV$QyZyFr8=WQY$+MhP7+Uqj%esjoh3`1aL=9HOeAUx# zNy9Ex!|d+XL)3VY9QC6#`(vWm`? zkG2)_k~QDpF7pENX;xQBB2fxzRM7H4Xzh}xc)D&S6X)OD5s~gG)F5n`v<_5?hWvO&}1LXO|f9|UDySz5bBhOeOhT^$lY^;&C4h}AED%Q?Ur*-4IG#wsu0Y10nP>9l1 z(}`@ueMRZaBpF0PXJG;xV8F+fX>ikZLntd96CIu_V7wU=FK5&XZxC8PUEQKPe}ZTz zGynyu&jaC76v(Gev*Eab9BrJ62gF&=amI$wS)didmep#q(ay#jC8gPT}u`ugB zI(*i1Kv76o4qx**T||COj>t=H2{^hw${O>VAwjn8TqcIL*}@==*CjqDuol2(xKhon zvv(gAf=%^U&jQn5(4nTfq~@J$9D7?2E6A_YLo?dO^FFxq@&142hiF`W(7b7IAADIm z=U&sPb$W3f@NVjf{&~Ch+1h(tq(EiZ8No|TN+tcZ3off73zW0?%@*@!T-XLvE*BbK zL$DhqBfzK(e(-3IbuKI&b%y0;xG5Au-j2DifpozqAX~W`he0$JQwYL#_|5+^;@Zs6 zgP+e{by+51Ki~XXn)bUn95S<@HSuCP-5P#tyg4LlghD-Q+@vAFur#nph;F8MoQfer z76dz{)V!MAKm6H=5uv)?9_?JpqQlOSA#XRwYZ-=lW~b`j$sS!UP_e12Gv$W)qyUQe5o~`deZ}yEcuMZ!3Wn0 zf)){3;^6r;>o|+SOkv1DV^JIo>oib`SCcfyo6+FBbDChrUY;gCYrcUk%{anL`)B=*VnD-eo+mC2}wzbpZpQbvqf?j{->H@PWnx|`4Ys*@+_>0Q^u>dVVF%(WF( z`sYilPYdz*c+Kafet4T}_7&BL-POqF*rw16tZ+VD2h6-UtYJF%v(?CB_Cd<8XAxy~ zHH6}jK(Kj6M4o&khIqP+u0y?66!ME2oDU9^{vTcM9o2N&wF{5q*hdi&P^63?Ei{!T zU8&M*=nw(v1f&zHqZH{9%rdA?_!Z`yP9eD)%}~o*jP5pVv3uU*o@uL(oOF(oWpDj@GUEw zuFdCxwB7EmbiqBV>ai}rwT=4__nbrC0q3wON&np~?i(V~^;R>h2fHrj?v`%bJFAIU z*p&48TG*SuiUw$#+=7Dd@z&>U4{YD*TxNIJGtu?)+{~lXh>jhR3VEhL9%;#fT2yHr z<|ia(vHU|^{+C@=0c2OXXf{xF`M1q^PUS?_Rrzf?K8-hme7bE}B;uQ|$jHly7W z%D^!THe_X`ua)_}Ob>q2BR>50BE}|~J*aq6{=GD6c^sT3K_99i;bBC|*zS*CS(jIw zM4>Q&#lai1qfuV47Ue|7@e2(jr|Oi+Qen+A^)(0{EFvv-EIRx4+G;{ zn%e%QptW?nF-S#3$9~37U8?3u$D-+e#h=`jmxdWDTtPhov4cc|_d9K&{U^gR;{!75 zD`n*tHP>^MQ+X~kt4#`CrDTP|U~6aHPjVq@9>)^hAw~-X&-*ew#hYhOU|n?Aa#QB~ zL=t2I1$REry{rA}qy(tHHEsFLJN~vFt&Dl85Duz*A}B5%6nDM%rZi$@HSLWXbnW3l zVXUNAo*d}I)m}R3T$nSAykAC_-I@0(bBz$ZUuEyjERs|6y1V?+jpF`H(U6VC`#Vg1 zX1LeQrp<4@uSt134&;djk=D$57W>SazPR^D*SvRUr>)8D3wl%PUUw6Y>?Cz)d3y|J zj)UzLa>WTUkNt@xm6Sw5R)41rlZN8px*&=|Ba^nQeNF4A?*vB4kpt3v-&c}PZr*E1 zyhes*44EO!BPLEJguU6Zv?s5qCZh|$U!or((#swM>&SLZz|!sK(Y2h&%ADA1n<;rW zVZ8}lJ8TyM>0ArcU^t^%|5IjQqAJTza{XSvFiYK!7mHBDtLvN;0UdDzVpd{4?MSrC z0fz0zB~q$3n7$xKZauWZd>Ydf;Cne@n{CL#Ii~C~tJ6(akkfrjw&#c+Lb<+8zDM<7 zcMfy`qB(5EnEBF_Yy;VKXB0(EmTMq}JYL>vp(?T)qS+3SmLF(iAh0=j* z!6N92v!Y^xU)C*}yoQDdsE46g6(X~~>@t(7!=}>WA)fg?Z>Q%T%7|Ek!j&1gr|&zMaDd{zGQ@&jI$b zUvEu+k6h-N{RCg4zkH(}TbF2#A#7MFdFl73>=u4o%XW;2xF)j04p$86%`(r2YPpc|sh~DBIb0_5AjBZF4t^#m zD8gM)Q2N6@G~g^&CX+6-zcEOx&)>T>G(EgcCZ*ym`}9$f7}bVkcc4|#F(9FR4BKnB z>M6#UK6Blgg=wY@ST*{L6sQO9gs?DZIpYkCjlZM`GY3E{HJXFLyR>SCsw^tf|k>eTk%W!3FVgq zcKM*31hCL~a7;(d-}9opvFta>OWxY1ta`QY=_g)V;ex z>`<#^Ado0IUZEx(Tg9ghR=8b3O8PhXH{A&qS5J&)PBo@i;lVVoJ+2g!luJGucy< z*iDRCjdMdE9+(Ua?f6}rcIRgf>knf$PDYp|F@RZv7NhrjpA|Lzx&Ux=VB%5D?u zzo&XS_)(^#`6twP-H(L(p~|?`56?#F)v?GyLVVBUlZPQ)?Wt^bvo-Mv!&?yb(ru>|fS1NzFyO-Fj9bx3(7Sa~e6fe~UK^5#~lJ+E|(r zZ6253>sdE!rpT;DG4wDUVrK$eD-Mv}qq#H9Y(blW+v~_J`GoI5i&yI68tiu3Ll}e=F!#=8`_& zsPPHW5VN8}dm2~{3g#Q|j|;@<;*FgxwAZHhATPP!d$<{6PJMz#^5{t)loNk>^=mMfmJjeLU9AQ70soe+6i`miT0EM{l>Wz+XO z=G^0_k~DiATW3WLXD=O?pJ`~S2XS5dnj=rg#>qqbu8iy{h1csW>CJXpvm^RXvRYz& z+3s&jKOKj@K2GBx%kdOLIkIZ^Xr>31NfQgoY|lQj|M=?<;Q~HT)wl6s97N>NR8t=N zzL)@rPjuHt^~+qZb)F?=dRKquNOt%`-z*vn- z{{rKUQ1fSDNAIM1n6$DKTw8b585{;Oo`r45s##=NJs91zshk-;7Vqo#~_pWkInOnSlY*k{b-?wKi)UQ#`@`ufOlcx*A)KFL~0w4LgqJ zJ-Vz$Rh{f_T%`97=!nG_w&j$_dn0JCPlp-^Na23kc5mFdytsXPol12G+rF$cdn!vd z?P-nnAP=Gvt&S(t9Y3~$RDVhJuVx<`Rx_K6Sb02KSz$0hx} z-Fv_=HL^wtk&wjvyK=;ky=sY95Y@zOyRKwWRM>qUYO1@ySBG6VPu(#bQ@6ALxoz>|-aL6!>}9HRb-np?o-nY?sAMl?k0&4bJ; zdpE>lcwEk$VNIgu?mgyesLPN}RJeE4;Kg5eAj-_0(>=jHTzjKI%lV(pk_NmvTfJMA zp61E*{~nUe;K#dq7CnE%T3x;im|IBQ3sQoaErH{| zX2D~j#)5b=iLj27OihR0nNMEhXE)Jw($eha4K@|=J^l7*e-Q}IgSz`(L0hUmu*062 z_5gcBcuYrD`kWR5Gz{^*i6+rbn25C(3ATf2>U!62b*<%Ca}DF#EjdtPHI?Gy03F)6 zWRt~nsp9DSv@X&^khZa1;L+d5=54cO1j*XFAk!aybg4w4Ckzf5G(~zCo@Tk>$tLU< z{*tVe57bJ0hB3ESbxs+Oj&!xIqx`!q$+^#4H%h-(EKmc_KdzO2d-P?+o3ADjtRIhy z9y7+D>_|OAb`1o=wWsK(T%hTtK$C#aG%vIW#@+GAwcv-6S9j$9Pj`3+WI$rAT({*4 z(i%LGXqTD~A5QrI4qJFyEs<>(UQEO*RZ#SAhO=iZ4^!cm2OIO++ zw=<)2XI2ew(W=uwY3G`ojVWxKnac_h%8@&F65oTg2{I%XHx%UY2WA+@xz$Pi1_Aj=P_CUU6V7kHP8{Nqw*?WlYZ-gu9DcA?#+-KUGd#XClCSys?0dHj{rEtbdW-Ml z|D_}gW>xpBQ=hhWNZ9cLaq?VRemSwL`0R9Oay)%qVrKu4``AHW>Ii>6)tT&m%>wOirqeR8PJEFkk0{8>|k8idT{& ze-coXucsw5><9M@5uS#^b`C=p{eKE-F~CX4(j6qa-vWAWMR|Ytg7wSN67W z7q&41+W_aQIsj!c``kbv+MC(;Qz2?Lt}yb>gBa~urQS=IXIY}(2bP~T`B*LwwR?g) z!clI|%_O%<4(m8&o|{d_Ik0GK1fg0`VvK2}EMJGVi-}juq8lyGAExW`vlt!|r@Ghe z!00#-F}9egCTkL3=PbO8}ZkpQSP=%ZG0+sWvX4@ z1#@Ms_>#?mU+;sSPh52nPj?iP47224Wm#4R(%NPI>b@WAD<|dCl*L1KhQJ_`0X_TQ z%j$^*Q6J_s*bG>WaBz}Ex7N(bUjtoz`y;vWm9T7C(5I!zS%;UUl1&f7QM&&@iY3{vov^Tn^m` z9`JTnFhIw!NZ{Qj@wb?KZo(p=LRHSslmDSpI0&ryVKLt^Z~Pq&r9b_ zW3)5WHPp=TekPnHJNb}PK>_thp;7F}NGfGnNt9&9$@A+&HlT3zd-KU36eY zd~6JIYwRk$H~OT~B1~)S$c_kf)dQWEGvfTi-j?JMlBYY;)=I6@ojs?~-ZHYQJ#O7l z)K5o!T3%|}+beGIB;%rtAr{gXdMu{E2~v3ah&Db~?kKWdP_SdiJ@ z)z-SV^{rde=^iVz(BBT)H1>L{8*|>@KDTP?FB0vQchn0bw~5cpn4S5b!ywk#dk3P` z#m89lAlHecl127MavB0UXlTF$nKCKWmDEoE7u~04f&Y>nV$=SCi;2ay66!ryK3Cg@ z5GZF+sJOKY=`F)8zZ<5dYyU0>ig#l{$%f00@QWlhdcDTtP9~?jr#kN?Z~u)hO(sdl zMnvM{gKO1TUWywDim12bgGACYTy7&TQdQx^SZ@)nIu{&VOU2UI>K1HwvefH|D5xSq zc38FOSt;qpuJn0x87f9QZeQ2aulP7_;7?~1lCSzgT`owdkrQ|>&9{N)a@Y6c_0j|< zRL}!q=Ag7RBS!gDW)NH;^G>J%p7<4!{7UpxnbitxJ)S`X(xpW1j{1+*E2z8PWK?6m zWR&%CBrP(7qQ`h6bG&6mv2+9kwxTzjGM!vgRjB55=ObBxBe+%aQYX5Sv&-mm>p|3& z`zSXTDwv6vJ3Wap9_gZ*U)D??Y*$^zi$WFhYfot_ZXLq?ghOAH8v6zb6&5R$rAGYuC>0-LzHTy7O%pIBF z0N*A{1E&CO`l#anc?;J)CL61PxdYP1=~X_gSVcRoq{D&e#1uW2Igq z*+sMLhZz{1K9vyJ4qo~W=7pZSNiKL021897g3p+Equx*Wu}uKP(84;+WW0VLXGP*% zphjiJ%}k!y=GRZ!69|#$lR6r#RjO_tllXpKn?PInIvLGuEOZ2$TbQ8r%QbI5UeUKS zHZrwds(i#zk|B44Q*t2gP40tA8=_r^@0k(b`+ph2yvI1;h9 z(ZA0>1Kxn7GAqRTeG1kCQ;voiVwGth>Z4gS8t%}ND!#?iWWW|?K~fYK+oE4*k2PG2 zS~Q3a;>h5K0ExtVCR@8K;CZR24~}uU_az$37x94@d52NH!7&*Z?b4i}Cog0Fe!d-Y z=L%e+E;KL`)!1lx0`pnr(>IllVa@x%CIJpz8YoVEurk!|Nsc5#B5qdXYT6f4BOO7` zAi*b;rg&l9YYO~AFaWSwml{pp0H&!D!T^=%bdu$0qS40*5bG-Se66jo!|Y*oPrym< z%Z__SP57{7!BggKe4a-q&KNC8<}ieCf(xG72Wd?gMZ|B zJgIA?)ZtzPElOwtUR_bkbrt)0+ih_3YPIa}v9!xj7#S zB$+;zxD+*Ol3Z1IKYm(!R_Cr-s(I%`Nci{Vo}c3`kUMZ~O88-FC=>>ab(cC=kvBc) zqUI4W<4g;pQL*pZTgh=2x*iRhmjW%1*kuQbsLj^Z9o!5DIYVuRZMxjDas`5s&t7x? zG@|dS0OsOn?T-L77^_p_>gs`ZEfom0qEE>?m6a4AlrF(MJ9FOYRg}9baI@#ow}dIq zHeXw&@lx3{l7rs3EPPhy59;g+I=Nkg*@;cuVz*1KInN-3*e>i}D`QvSfgU{!-O0$f ziJY@k<#lICUyonqfX1seN`NJTh%dx|v zs?x$4YsV?;>?Ju}gmvi+!dz`n)q8aFjQF{0q7+z##kM@RT9lD`M{Zge-p%E@d))}k>eJ-u+|V_GaSD=a?$>zk8f*xM4^{M+bdpW@WZ z))57*sJW4r-&6WK?7J1p_K$W64I~piqGQR4U$JFPxhV%MznqGP`*DiJ-JTzjsomNn zQstUi728w^dN3uDJHU6LM?hDqz>s_Jv{;3kZ6#l2EDE(#s}I`8qj&Dyh>z?u(G^UV z(C@#RT74nk=1Q94-Tbmg1Et$>J7Uuz$NHqOoW(2iBNY{!?LWxV1#1ZDyMEw zb)g5x!9Ah00HEA$W<)J*HIAfN>Yc|uv`$r1R_#{IGhBXi78s^3?I$c@gdZ|W_&RIx zM=cSNUnJANS1@+7n@m#{fltB*;_^dVCOotJSLo&BG#3Iul=b{o48Y+As#^#61->!v zuRfVfq zVw)Y2W{IQPwRSZ84EcP^>W6~KLc$)Tc{eg;G-Yr=6sZa7nGjn)URe3Mg#y2o?;tMe zk6ANw{0Q~?Fb~L_j}h2wMZco-P1KM2!cj)*Wnv@Cgjq=H#T@dkp#Ft68x1AuXT9Z$ z?Y9+Wp8?N4oSr3wt4Q{B1!C+qaT{-q+14I#@09L z(517S>QZP?us4$UeiKDibgnD2@u{mZy)%$uezt_F#(n+d-#z$2TfB^_k)u2bAx2DH z79vKF_ZVZ$`O^j976xWEFr^*^S4Sh~#RARJv@D>M4Jt&l4+Qx~*TEYV3WOT?sC5y##azmr>oM)6B;ehn43{ zAcz{$-F!a_;H__pI@ie;VNS1=z{1ekG5XgH2LsC{EO;KMFqmQQ5fb=}GP`m+9wsEbiE3 z%fq?aQh-g1R!n6@fuObNUS)sAKI0YqVZYNOMCc=3gJEU&AuY zN@&M2Aawy=!yc^Urx^E0Quqb(flRk zm{U?#miMW&h&-N;tLYI}(IcrxqKAs}9d<7kn>--RjAwkvN9#62Qx}_aWBn@*tET`D z^KsX?rRdpe{7%W5Y4yg?{`*ngy7R`te*e>gYQMn*5st;CH$(X_JK)aDFSL*HVB$bt zmP$LJRCpfzn!I79-AskQu`%rZ4o{L$$>Sj15>TpP zZ?x`U?abiG1U!eb!TmJ}NhB#&SfHk)tTTzd2i5OU>~ZymAr_QwQ4}nM&9S_5^d_fqV64eMI}3QXcX-v!S)BX)q>Ch>vbS;F>mn zz@gZV!<&Vs4<}3Q1-SC$wMlaJB)R-ByHsuK!kI2Mx0V{TdW1|RmoLRF{;4bMAv1T} zG>B7>(K?x`zjof_xdN%_&-8aonHV;la1ZpL8(R(R8QhA@>Jv}zFd04fY4bhJu~K^{ zJeg3-oO#5FeY_HQye_xJYtr~5gK6QZXzZtdGCUWijapr*_3^PKT9}mn^0P_5a!WUFr%g!TL(Wp!{bu=~5Sx=nf`j z8@79~*VxfvB4I?G@n;1YVr@!%E13*o-CD=Cs?K!9l#w?>4PEI<2JWw^ikhjCZck4; zl=ZoX`~9&rB(A-2)=QI0tzI>zTFTYIjjn~4mlb{nloQ2auYBC(k6X!N|Eb$DDml&u z{ET;VQp@2Lky6FGrQ7r#TX)Es{SX_QJz0wA_|&7$f+_I{(VlXuB1aO>XJ44x^1PC8 zX+tkMi|9lFtGA8~z`NB@&KhtW`KZD&^dCQkm1$z*cCUGzT~=KebzdK!1uN2SC!nZ# z0a;n3lcqoNBFaSJ>=>Y=aUNfis%slMDsqYMt`PA|E(_Avsgl7costPx8x(yZ#wfjQ ziET@&KK#&%>w4C)h=UftLRqSKl5k2HuHqkz%r9g#efFVE^ZzO1qNY=ArI3B}s7>7^ zn@g}Q_$7ahRyhNau}6V@FDWwIzMHAN7YD0u_4Z0X7P23m&%n&tS$3&50Gso2l=7&0 z*@VOE4b#+xN)W7P;q}4AZVO?DwdQnx!Gc}$woy#*cmDX1!c*5uDz<_dakhL4D?wWB6wLTP;vMb7N;k^0!qCS)(|3I z;6k@OX0IKsGMv_@Fh5-x};vY(}I2&#rLvk zu@PL-moa=h+6T?Y59Rc|Z0P;v5p@c&60Qnndufaf8*uj)MYJ%_SL+F-gRL~w4K27M z+2Q96H}h-X6$l`r8-5q}X5*&TI0`I=_yq}RiN6CV%qQ{F^m$0lmxg~vIGpX=QYw0; z$7ssZq*Wz{ZN#Qa z^=-E>B*oxBw{J{AAm}`9KF1JA(2DlTx!dGy+q-bh(|s^SZozTQGOIZx2oa^*nb0*( zOO72dF}f@^#Oq=XS;5_8V}r7>Vc6K>+3H87p-BWewTU#0b6?PbFm*WVTkCd^nM&f* z>v{H!9bJnmmx`_^^xe|r(@7wHxOV-<_29s{&(%9;XAOz#W{c~15^b{I*U^eM*Ieeb zc(CzPyuu{pXcR4azM^nY5qjg?&+|;uk-1mCdgN$UxaAw9zyR6mjbxu!koxHLS=ixV zwiHv{CfRq(GxN?Tzjin`Bs*uXYjE()Gjuu|?JD=aaf4f~7t|McfUQJ&W9=5tx9rv4 zh89Z#AV&5+5QNh@boiI-;e$P=JQujeF#CL^=8Y}{b(`f| zSn3f~)mRv(tSKQT$aT86{e8UPexCq5ePAQMB?a~NXWQG>k8`-Fq0N2MAytANm3E_u zYP=_$Uv^mxZ#gOMZk1@^r}z5Ik0M||&))T#6^V9#h1%1yx|H9jZq_MepZL`1Y~X5P zBn6NUwsn4o`@5nTSilrzH?+Asj3JZqocxC{hqHWvc z6QV95dAmZ?{>GP|`~y&^-?8DUn;!;9-1GPLI!<#?;NsMo-tyzd0#eVTi8-RCreIjE zK#c(&H2XODA7|Nz4^DXH#K&SEkzF;LEQ7=tyVx6Z0@j^IcboY%>$91clDz`e$=~_a zuap$ABXX$XqOj3jzR_ipyQu9{Nr!tTOM|`hY}y{bMZ#i$9N&I)5Ui$Dx*R1;*s^kQ z)%=ri3fHkH8N@ruK*=tyIK(z~@`=@8+UN*kW-QgvBJXSgO70nXAZXr(8KO4GynSIaulz{< z^?JsuF4*UdRmFXnLc<%b+5V|;T8#lm_RHpa@$YMhTBXV-lPUioEPFOE{; znVOGvbBh@Of*035<07lcj z-<*L-DLH^ib<{GK&*?eI{eMa_RTT$MaW4E(KEdooG!O6t#RG*{6q6Za5eI^D{@gT= z^1w}+PN)lgV&!68`tG_g_SfL=N_BBCsx~&y+TjrL%RMNQVZ1Xgm&qF9tR$s`Ujg-e zCjuJLO$D0EKP87B;LZm~b21N#s?kyR(q79~5vh^&0qBG0?Gux63!9fjoAk*`Nc;pQ zT%~L@!JUnpkzqjn2JKVkDjz?y9wFc9rgMJT&x!oIKet$*T5y7}e#V*zT=M)+-6ArV zVrk&T>VGQDf+m}ux^FkuO&=BekBtI2Fhm31hWtNStHo;wMkCGLp676U}v`GD+@K4 zNgd3`tbQH#TXONCXyh#5jcLYc*P$iEgl``U^nG!Y!5{+TtUipRI!*NWP-+yn+8R1> zqZLZkG3?=vm&0FA24$aqkvv(%gwh746dt4>KYld7R#d%;oqBfrp5Fl_7SgY5x&Knu zH6_F+l+s+L&MwN}FZgn-T711xw}0we!KZL??c2$yE(75SHMVSag1z}+TA2+tg?FW1 z&QWs@=rg6}!l{AjWh}(JJ4O-Q#pct!j7f%)%l63z(xF~7Q~Ucn8u#Bj86ZUyi_l1y ze+q2YJeIq7Uxa@^({TC=8BBO&TNh@ZgR3KbS|KLYkb zjU{Pm3La5BvVicv$>{4_@nB`u0_!XbOcmEpBfNR->lN2B(GWDH1cG1Gma+D?6y2(}w;7>^l<; ztKn@=&M$^0ZcfJDxZV@w$JrAGru@m>O+iRJr5C6jsU)EOG!dP9zkS%8nWW)dZYXsb#PL#4EJf=Jsfb&wy*?J6R>H4p zpLr}ftA>-|zs~o^dE&|1S zlKM~M+G*0~W7A(#uKP5BN!3U~xzH7h0ZUxbAU()Xm1Ij+L{{*mjj~9*!&&-D#R02a zndTRZXd1V`h#KCw?C`YKZaqvhf+3e(A0r-^`8w!7{CotNM^#2@_S3&6?0-jP>Q~?K zqxU)`!z+$w!!;w!!%R~`FoM*2Yt_8nU^3l+mO|qnv>(ZW74Z8}mV^7OI#cYHONRP; zwco9*)zr{fCFJ_;2Q^Oky&Qhz0$j%sJ80z7_uh@{+c>zq;zPL(4ay}5Sxuzn58rjd zGfGccSVeuR!gDulXge8wrnW`PjLJ^P?oCJ5onieP<<@oG%|n9YSK)F|?3NAbcM&FV zPvnp3$h#H3-D>M8I_$bMs?EY6uhf8|my)jibiQotjm(CW-`Rh9?m;M!JxZb!eT?JP1*u{8R37$4^(nZ2)tE7qHBzn{}vXU?-kAZ`vxan&| z$_<2{P&71(GrD->)TmEh7HpC;e-mu-xhMFU4@=t~mt?Zv1_UW-uO6p8` zDdH)gALjtbSUk3@6QFG>IhN~VS6#*UlS-&%6pity4xwU8?z;`}8Jyt2*QaZ~+v0an z#@z?Cq(aN)7wznE1V;d*fU~)Be<$-q9;80~?an{Nx;#~ag;7;SS+cV>;}wyK#z+gR zZG>~cdCYqaUSH}L%V7|bII8a}sZR7S00lFS8fm0=3cWyjhb(pP6f5JY4Mjf!DQoxC4nFa-jpeg{R)+rgXllvayRI#1ak$EqD7wV@Qe<;J?%?_HcXVx55_fds4JD6-sk$`U z>VOp8#_KDW94_T)Hxq<5Qk7gGcrI|2`&Pz{hX%3`TV53?G zE*Hva@#%mnghNIr{~E@v)>~IlGUcC+)4zIdJ3Pix}A`tDYjJH5eGSj_;2%g+P^ zjs`fxZJ>1S$Dp&anxVV4Xn;vBO7?m~#zY1gySV&^x(QYIo`63Wg4(Zq1yRvlHz#97 z!T4m{$PX5|rgcF0x1Yy^0~`w=v~V%8T>b^H5NZE(;*Zr0Ifl=!HBL6u_kc?rQ1I79 zv91Ash!Rg<;4S$QTW*Bh(n{%ndBSfM0#gDTez{p{>EuvX$XehA*@4XJBCBhA`D)@C z`Zi~k8s{B=`zj9G8Z|=PU9?f3E$WH(upulecS@9>_bl1xu4hQc)I%Z3V9HhM#ppix zgUeRl^usBx+%uR0)1@4t?f#-r;hC&$cl#ng1`CznHkh&sBlC!H@*gQg_t`Hqp@H66}5Wxzqs_M zR7%8-Z7E$XA-QBtP-0k!xhAR{eGLRY_k*?YCQ-v%6&eaS?$y6VROF>9LNV@I>r17B zE7LAGadWHpSkVx-!;AYXQ^;W%%H!ihs(otc?xTGt*Nxk=HzMVY@p$B^-W5qvL2 zpXmXFmC^c;^ReWii|Sj8waQEz>>%ejrGZ#z+=v3vKR}IKFBA<+0wUr-5Q~Bn%Sp27oPoD$k%|7J;9f9ecUhkP#o*nps4* z>FH3i{$}cr6tZVW9#b=v4Ai)6Hb#qig>lm#Tn{kp1(?D-_)X5y5xpC{yDv4eGFZ~Y z#aD#Z#;Lc7DWR{ym*PNq6;6Co1bq<5&Sf9`Bfif871-@sjB3==;fOy5ED-iKqL@eg zQ}mH`vks{qoWow~p2|o^A1~Ti^1&v^=;z+B0d=V>Kbh6eciArBW(i^WKx8hq6sHIl zvkYp<0Y;>_X_@2_|1+ly84bj8TR}RpV_pe;H!G_QE^B3A3{z2-OdFI@k_29j4J4UE z8Kh!E%J90+{aSg!0x; z0!F8@>o+<`D*obo&p#4Nh5yX#>H%b+zIGn(&VMW=h)RnN^x=HXoV=KhdjeH1A^5HQQKDvm8w(rF}hR!VsP{5 z`yu&`8-?;(AZ<*5#TK>>xF8#0eC9{?P5b5XkDtD=fIZnIM2~0U6M({Q0d(QQKNYs# zAFlRQ3jl{2WyBu9xG~Z4U9+qac$x8GD;UsMV}=KBocsEH!&24Qi$Z`ar7{iF-78H2 zPLZ-!ZN41}L3JSv9JcxrTmUaw^rzjhxzbP2-8PPT^D;XJ(1*OZ0S=l5?5zeaoI?7y za${Qa{Rtlyk}XVAnHQakVeu}tjztctO%ZYptYl}69l&5Xt5|yd9vJ5P`vZ-W;iVpZ z`y%G8=wvd_Y^?!Upz5L#w|xidr%6(ceqFHN$f)hd^92iaCy?`FBraMHZ)uFm9g0)b zulexzlx2ZNa#Kc6esLRkZG7YCuzB>J+EqC_r)~FA-M-`*4 zRyx)N7TCQsG24A&|74l;XwTd8D#^Jh*RI)kw%vbh6~e|J%J*{HgzConZsa8r&+}@Ed&!*79oUAK}G!h>6=sUDlLB4TTipjzn@mLMikokZ5KLCY@X}T(#uI-rDmcyfjh7Be;A=+k z_#r3CDh?4jvT$7N?<=%9O^_JIHKAQRup}G>RQ@p~O%g zAd`E9^Ry^9dFQ#c-v{cX8q%rjH9%&yd^atCf{z*>$YWOKO?`Cic)pSp;Nsi*IkPfX zlxxy4vR>V6Xz+{l1%(4Z1~v za@{h9rffxn63ae9=2otwU2MQ-1s-Wc@w#@9t5uMNT~JW9>R`bz!C4HtzK%ic8$*LM zOAr9&Y*HF6UJX8X@r@$jlq|^kL72g&VLve^Je)$veka*-hG+^=+wNT6da%F~h}Ds6 zl$_hfXJ4W7%9HI0+VbvfYKl&`yrXlP`o_s@azjObqWF?bVpEe#`!F|z*3Yrt;5IUF z%bo7lk?QFkI0r=Eko0xvFA~lb9}H|zAD{1jcy{vBo3>MM-UaPw$;ev_2eL9R>ipMo zsaFKVH2l5@NVd$4f-&6#p&!$j((=-+&9**0-VGpE%49mG#GF8edHj8xe5B)zN2m8f zx-LU$uG+4iK|N@~0%f1z5dWOxAT#$>sVmu;=!;0cH6@UPH5c$JKo2ilw_wBA4SnW) z5MAUYZS>qeRCm8F+gGIVG3b%P8nE^?sWUT2Y-T^G^L7|YkP;#E(@n`f{5!OLphwNx z`su=U6}O~>TT|GNz}@x2lR`jzq|lGUvKIRf%3lM_#r2!t-`;DjQ_T3 z)E9ayiy#XnL%ZpoD#!c$-|OnGF~aq^fh@>_x!ABifff_PJQ9giFo^e4NrbZ1GeIXF zXnQ*c^<)u%gCFMv7H!83zICH`)5$v366gr7d58dC@e%Q@2VwRxIwqqe(htHD@siea z>;AISYij+)K*nvz{$r8d(CInR%+aY7-HEOsp@eCvgSxI=UiZ0+In6D0GAqmzn-$nx z?mLH+-!qI%_Z1Tb1f^J zZ3~53vob{bJi1WF_4gm|flqXA%$UK#kTo07KLOXB7A4p< z*g8BFY6UfR?oPp_*0xTzuEd}sw--jpe%gxy2EO%?{WTar)kO0gtTx)&-PP3v3MD&H zv=-8ssv`5-QAsCMsa3(7k;_- z5eUno^)r9%U)RVN2Jx3Ybvc%w(vB>f^d}Niqxa(}#1I;TcE`+jozKZyO7JpJ^d> zST#pAI2br_lW-MZ&lzOp&RDzp_#O~6%6i#)8^IruK$8s4r1#aqGyUv|@&DBmzrPjR z(*OE($aHJLSJkFJHZ`M>yym}YU4tL?X?lYnyk(^sg>6D2!6mNl9v<#c=tc~?P{!Vv zlz!EVlCq7j#y(D(KI;+E+A2|4oryCPMoOlRb4ihSEwNUK@PwAGvSxW0+!OaIed}N} zp}E1KUAv*ICfj(@Q;sF{yZXXlZ%jEN5>cGSgE2-9`!+AZztX?D{r_em{%bV5B8}|A za!|zA`-HSrs1Zr(B2_o;%os09NP_)*a7)tD%RYNK3>>}~Y3O@GQ!xgQ#Zz-s2OZRR z$MOf4a6;11kSIcxl11_0-DR;NHVR1FLcgb>eW@xd>W+U!;nhuY%TmgTKa-O`y#J4L~zzULW^h{ocT0>Z*^|L>m+=U%*8 zRC_dGAqI^{5P*1=9G!_FxP0@*@sgdHrlFViUK?+nqrbAd86(c76Iyc3#3XUwN*d@% z!xt7H~zx;0dfgLDMpg{juh-lBvfSVMCC4@c&l&>G8 zWgiypAPWocwh6Li(U!Ka3R`_=LPA=?t$6H?K;ottreb1cXQoN3TqMD{EU1VCG>z-+ zkk>Le#K?&Mu+YsS=;pRK#y*FH#Hyn)BhJ8kgU83KQ>iVJT4OCMXDi*3#&NY(wygtb zW=o63tye8!wP8N)THp|0J8xuZqH#|;+l5Hh|N3iQ5V2GNXl(1+>uvG<;S~a!ZXqUv zdhi)bi=ln2)`am)9SW&k5>x`MaP|O&9e^qc-^`$9URL({z!e+;sCv~M`S)wRY?F~0ok+GPlWVh-U&iR;FRd10}}pt0rIv2y_N|6}jHqoP`xzEL=+7?7X@ z$qEXRM6!e#RFWW3GDuL8WC2M7GoT!Tq)|bl#3ARLgG$ahC&@!jLz-dW?!kE8=e+ly zyY9Evx7O2tz*@8S?%iG0RrRat+FkhwCB4OoBlG2Abye)pD4`33yZyG4`+Yh6qm|{0 z!WN;HXYnKm|HmnjKeUufV&4+Kb%(V=afj_CT78yc!K!7Q;hX`%m7O={-X|D8p(VWW6y?FAI7gQ&&s7^eE zE+L-a)m_C69=Aa@Eo+8KTlr)=JgPRNrMj0>kykE~Tb-VQkjTXCqE1DOc2DX|9I#YZ zY?@1rW`BJVmzAeVosepez_u1J2vu=eS;JHfLWYz>dL};&C9th_lRLiP5P2maqEK8i zukLF8VmM#|3>U1J7%LL5U(sprNE?sPwAB~nA1o~{H7}yc&T+VyTqB5g_og`#t(3Zg z7?}NI%o|6!=TuQAAB6D#IqJ8eqW+Bh)?C>e%TZHdHEuB@ItDq`nL`$nj<8&neZ|yt zTgwa=%@Aw}KU#ecF;h=_Xs0RHYokVat~RsH+!8u5t~I%x^Dxu3FCi09{}#HB$7t-A z^_w*2#O3@%Jr>_r+I9yQK1*F^!A7Ztq6#V!tBciBd*ss1SOLQ$5k2VNxfM|QY}xMe z_j3uA{XL2TJSqY_K1X}2uz5~j_?g+3m%@kFzYGX3y0uYrq+`I<`f@|mph%1&qEFC5 z0659k>`J=1(Iw7jcTJT1 zuW(C(>?^6h*$W$vt#$9bH}BeRbD)i)0lr?Z*p`mb7>fiibKv1g&@RPf%DaCbU7nmO zL#5kThUY(rCe4Vy%+Gb1%aJ=e!(mE2rMTKHxvzM+Xyer=NCuZr-JdAch%Et=$-(! z@R0*uGD@Y}@hRT5YdNg7V72 zv+C50t|vQo<>3oSzvl;ZNXL5r!Vx&E=(?G8P(GD6Mvz*qvx96|pW>)J60S zzTKs#*U?M07SXF#R82SMvM_&?o9z!#KZw6R!U~#saTMak_MYleL7jfsVt*C1ufM}bCKUgesZ1agfqNm;x%3jOCY zkSo$r(6d%IH#gNWec`@cJ+ocp+U4`v$ z4dyjJUW)8u&-9N5L_)w?&w;Lm9v|`i4& z^TBZ-0lh7ch}}7wUpZ=YE(S6;o;%nBC53R! zGlB3QWFviKU>w@>LI5}~)V}Q!f;Z&NOdLp&h$yhqNq7!9T{%{wKlW{VM`Vb$laO(> zf_^P7f@(Kq&r#PcvxMVS|B{IKM%onH_rCFnD6W0{>sl=Cz)Rex3Z9ah3u#K18%Pwm zI@BEpv~Rh-kIYxsC0#Y8-O?8?={r=oJRh6^Y0)2&5vL4@Y?JC@pG2+(5)Yx6Vd*I(DzGk z*Dj@n)%C85qSc6z1nsh}^sP9?Uf337k*#^PbOQr`$THjJmxD6ob^#*G8~=`Q0P^wH)y9 z?vmh^aLDT`pbUGNma-%@bsow3*Vh3b@kjG?JtYs3AF}7gy34}&S=~G= z^=KVH>bSto&$e^A*p?QN@5cdfi~zL!&$e*75PIW!0M*Du`~=t?`FZ6#qmrf)W$b|& zSN+F~WltpGbHRT1(s19f{b)ZX0rO*Mp$Cc>;6f}vnjwR9GM*1Blpgd!lxc<(x6S^e z{h$q+A9B-KvOWRl75`{IW{lE9MTC7!y-4qkd)>8vd0j9=SM0tDg@h#C!M_Z%_T@(u zFzcBAoONms;vI0w*YiIw4Sl~vSoxoqNPb)@_TqqWa&b|dG+SC*51i2d9QHT9zR^(~ zEiEk_os1JvJR({&D}?+5up+)WzLbL7PF9hfbY`Zf_x$;UD$umF4i-9Su~Ybl!`-$& z-jNQx!^+$oc;f2atzRTVOO$!dzm=br75GzV z@bJJK+1c49CMMqUu4k_0pd3)QZ$c&OA1uZPFr3ZRuUCl2Is9rx-~&2T ztooNs&0N%De8Y&IlOKZ#_u_$&KXPFFwM4)i?apVebplILzvO|g>NofC@IEgZ;Yqvg=y(*Jvlj81^N9}ig<=EfIzw5a5c5?VKN0b?UcY$Tuk-F|M~p!2?5@H@f%XV z^(-Eq7dHl);??>_Qs`36DAaDis*B@#PcW3vdKM4i=aG(4BpL7R)`EMuRY0}+Q{|5(% zfaCD-@zB)RoohHces6~FaErFP>k)i5%E$E73q1W({{R4xz{2< zm49%c9I!|}IR0RPwSDTWo&F)dj5E&Yt1*gHW8TY4f#09T{k@08;RvMAD?Oa}{A@Gb zI3pYH@y=cb_odgb_M;zs=<@K{fB!wL&%Ahacz8G>;@UtT_4g6s{@Qipwzs>7kg830 zigc{ysWMXees#+<6CZ+mUv5uouwFTW93%}Sz{Pg{9_4pL;t7_D6LA7IV}3UYSsVdy zzt?op3(zRM`qzGydI;e_wKf$Mm4ACH?y6o7BIVNexX^c!)6wA20E!;nufj7A1Y3VM z-#{FFp}t@jHA(o|+M0@9+P@67MuJi7%AXWf4#mxIqni+ZuE)sOIO*TGAd33J{1389 zowAJ>y7}lIlLij6!SnoodBcwo;VGH!k>fxQ66kuCG>E~Acw}_=QN^KY#*kCgQmw4P z=fMT#Gziy>XAveih+xFOIV6X;M6krE6JwJkfV*j>QoE*p^1*U3h<~7K4GXp=@ktx{ z$vI-+_*!6HoeuE!O-TI%rk+{D67-~g<$ieAVB?68z8-K4@=taRNB^MdH@o}NaP?`{ z)hUwDvEi~$N*Yu^0#DNo3q4s2lyz-k<+#v2;o;ia`iGceMOr}!B&L=uMoYykZ=m}< zvL~?Bv!kqpc;!>c+IBfbn2M@N-r=GqHOECz&O+wJ^KZY0aRG+8ss5xBaXm7h2l?)~ z&AXuNLZzq&kv2CWboPVE;$oEpTZrIi4>7y?Uk;Z$e1Wt4Ojp5>qxcD$p+Y6Opqg#e zPD|El!~s|r^)*0*;X4xv?&4}8HEA%oZ}c8ZzQ}&SQ+NfW^UTp?=BkHnSJ2pz!$9Ua zANAyERw1^|x{<0Mfp(z}#~t8IN1UPetK-OFYD|lX zNbv-fa>Arit=zwH3-DoXX_nS7x=vLa#2&w>6iR!l*ZWBl9!4{Rtw}g%nismVnBv}& zfo(*<72G@WEv0A8m1KI%0%hQFxB8ciFgGA{NYI>D*cq$biwLN*2nWF7Xa#hEY|0?aySj-jPz>4rvx=( z%BmQdoQ31YKRHZDFz`&-S4*l71EL)!67Q94FSU2HG{6j5eJ=r=2%3{#R*Qwo($b3N zDtrBfW%<`GDL{kL4EY}7t9PpT3coFc?K3Y3cGhgQel@)XDeA|k=k#`~_L$8H>R1Rc z&nO<0Lk%q5kko`B}UzhqWDsXsh+-%yX{Xt=pC%~~^KStW^ zwJoshea#1%FGJjcR2lj3o1PNCmrp!0|5PYvXBjjvq1xIu)M^l^8tWUAi_VF6z71+38t-Yee_ zo!;lnPgGRbe`e$g>m@i9+q9Air0e+p+ZOa~hx0p5R|V9=rNy`R_g?9log9B15f-r? zUs|K0(|eIJ8kQNz;3l}DQck$zM78rOX7%mF*e5#rxh|#A(cF`wo$R)tOM9T=t_gE2 zjVmlQyH12v6HX9r(?mh7|KKsA$-mnxF$(>mM38v$0mV5J`7uk-+|D>}N)d~pC6U^nT%xqoh%BYf<+j*AvAIeYke?%quY@-wu&r9Kb!lvDXsfWs!zx*$8S0NUbBJ> z&fDUgB%{o!ynCzw8tJUgNRD>u*iCOl-12ED?x^`YTxP`NuGU3*rSE}7(*@cLfr?K>cDRN^EpC^ zP0LjnnF(=8uf}4BambRaIRc^^;w1RZRJcGOA=|mk0{AMa$zPdUrXiNTiXb~pE48{u z0^G)Bq;L6`pvllE453wA()NH9!GmPIaJ6b78AY_fmiU_o@`OLSmGg(wz0OJ19y-!sb+Fex=9qg@{ zv1eHCe`abec-cD0qMNUBW4Ktm#>RgT{$YSX$9$ofun=q>5-ebB)cImj$70?whTe)uG` zpZ4YbJ4^Q9^}6jlmpCpz;c)cwi;AmG5r;?*BXk#?E7=$AMj_)ou`60H7954<%ZFV* z!IwWZB;PUZt@uEadezwpQI$zhD$W_6#sA4|pM7Klf$(sT+w%cQTidL;A&Ii1;vkP&T)seu;;c|6~oZEs&y>sc=(O%7^->CTT>l?40R&}M$l zT*bJ7+sTW@9J}7U^<=>!{d$S%oujOH3Uv-Cs{P+#86h#**=;?T6dh4aemJi}(FB#D zMNTS2ZiXe-*Of(INGBZg)uTx}Q@>1yY9sRnhprj-&W$v0oiPb;9hXr8r4*b|iSpGZ zvCv^0FVQz7&wzoeYJ|mH;~TS7qEwBmKhfDt9_|~*Q)ouO3~`4&gyp78d?95{|B&d3 zLkkw!3Ds9X8VwkC7Y?J+!VwypOK(CW6W`7P#WJ5%eeRo9evzNyc{XJdv@$j^Cq944 z%9_MGiqlFxFUg9ZaN~L(w`#WB&dEEd2&R#iJg>2}*&zd^a@6r`r>BX{M|Hj3TpguF zorjT-9>#vET1Ex<%l8~Br}f-lLDZ+os9sTUwo;cKvvw}lvV=67m78!5J_S~~YD5g` z^G4oGo1atg4J7ix${5%Pf$^2@+Z2BT84BdW?=*15QyVeg%Or3t4dH7IIma1!g+ za+tC~p9YMH`nk>Ef}4Yljizz$FVl9f>eOk$VOl&thBkuzHs;xsLf@jD&TV9Q-TO_O z-V}X5hJX#LkV_F4B`YOYLD|Htnb!;2T_FR|N_qR-A;&R&Rc#>N@ znbE5?6_a=sxqtX2hx*;p!1DGv9WoHR*@#WKexi=$Lz7X9$~DvS3{QIo3pk%3f*vy) zY3*bKs}2{v=+-X*SqsaT2F#Kpfaq+z>nT1)=T74VF&G7FV~7rcZJ^&88F%u)DSF@Y zKxxtE=`v6X34s)ahf>Gp7WxoPN6}+b8($JNt7=M*e3~#5qxa&1PF`56`;~tB6zO)s zVk52nZpqYbjcjOc!n`jyS>@A`#w7aFmYuOE95=Fh zx3%FAsW=|KeLF*GcbMucl?_e%lJ5OY4G4EEXB+Z4w6%Tyd`}`yv(iz;}_o4czI=2yb9g> zbkM{uFX_cQC_ZJf9pz0PP*MK%rJ8)a-cCCY!?2cgD@qx-@X*8@6f)kTnJs|ewN`gD zoyXXUCkXV@S2Cf#v3iIU(Yp1XazxGqg{;Ds?UNM)K1CLGGh3#b*i8WyiBAn;-_fg! zEKcFyr;z`l3hQs2y4W}biV=kz-R44?rl_?HWTQVk+#zdVm4Tmy*=#d#%8yQ3^6Dvf zZt#OH_t;cJTbTm^hU-m4Uam?tfMiHE_VWLit;>=~gT(C)(r3Af>ON z8^jaK;RvmP$4gO(Mxs_P?Lzm>0sG1H5^MZ(jF!L{jcc?0Q9WB)e}Cbe1E}hBV$Am& zApf@7!?l1gkGW`A-pN?)LiWtXia(2!vn)I+x#l{Aq-naWxQ?lUf7-o#p7?EB7l&Nc z=JZR6dyv%vrs=Hb$8kYHbzey9Wb-LYPgv{!W)aojkbyHEYU>xXj}Z1C25!XJWfKjv z6Oc6XoezS#0h=d3n%yQY278M6j{_NKCE(C&=#AH=`rV^(fIui=4+f&*^14Vgd|f;u zR!ogn@($xqX8XhErA@2YNQNqVW?zpd-}+tw5m;n&N5446h-eym z;FjfLlE$;9^mmj?i*c?rT>rI3b!)G2#pVS}sKTBjtk!|n7mM$D&i3t5{PxRgTF~A- zA#9a~cbu|(qQFs9N<(V=i>p*qoVz*>QDDig{loVe!FqHvYn!lAK|v>*nx$&St-T~) z)F78pj0T|>=i26P-)FgCE-1dGsG5kqH^eKuN$&OfRZe8dbG)-ns)6;D%h+ zFlK;SmJRvVJkyd5Ks51-Q$cxjqbFX^XB3;NNo!|pvQ0M0>YEIJ#Rub!GHbM7EG~p6 z!|af(qah5vx}|}RI*fU2Umw;HBitp+^tzODc$Zf`>)9W6QG&qYThCI;=B<;Fg8yO> zjA~Dv)mFsxM9K>}afm|Z+T?WvTPGk3j1AWY+v}e!1T4F%wfZ$gL0j3U7R$N60j00y zc7(^>xME+XWF6(Wg&E}5^t+E**rBv&A<8x)x*ONqSU1_WrFH`(KBgzBV~(_p=qq`* zKk-6ep{hnQmk|oZbpfH?s8&<6TPOuT6e?|Vdnpp0rDOSZ zu269s{3}Rd=W-es!+E90{tTCFY+S|3ZHy{U^o7_)o7h?3MLzll20@OH11X(g9!gWG z)*aqJ#?a}%fn&4c8>S=CYlv!65KPUL+29G?`Mut(CZAFzC4^(gw>>r-RZ#$+66n~y&BJmz$xL9oeL1WZ)k%W0k zHz)iWIWh>jg&_L;bzcjRv9=5ECQ71xfUiKS2sawlG+K@pQS1axZPSt6iOBqDTT;M- zK73by58@3wehZJ>SJW?^ne}Fr;w+Jo=s(M8TfMMNxkyHL|M86LL(t_wiN2_JimS}wy$xJ*~sl0F5S9|`Y# z!QspG;4W$qjNiNG17+K;suR&~&1(8fPCXKv;L=@}7knLad5!Yy_JV|NchmOFHXVkX zX2!LDIuu&s2>Ct7x zVqpHg!|Dv})HngiQJKcX)A9?7vp>L4gV$kaDYi8=75*$_D<-wLGO!Md$6`% zyk??I-M$tC-9ULQ+uFL}Qmr22L-MP#(%~70ekuDS-A5UB(aT@zG%0pZ?p+#jtb4Sq zOr4(lHYWSl6oj*;P{AOja9C>R*}%$6ZmB9WqeVM##@G6GoKCEL&*jQlf<@m)im0jGUM`hps<-b&4;+c^|a*5Iv*EKo>3x#PCbH=#;e_$ zBk<~{k$xIYxSxwU(F9u6K0FDAhF6_t1=5$ApoEq6+8FJWPV4@0|iJGRJ++? zsYfWe2;D`2Nop{pa~N=VscnY|GIwk?oYw>QSLwlGgJ3h%izREV80RTBRn2uIa$#@U zB=5JX$@&RCjl_XkZ4Z3GbNr2_soFC#8xQ%%Wx1u`9n1S#qr;=4l^fgTyVv>Is?#`g zZ;OlYA4GN4bnG#vz7^`Iu_$2Lj$ld$&ctn)O*>hW>3JK2;d~r;zGltYDLhj`(`wTW z%kh^p+xA^rUEdButgVc(UpC+z+G6OZ(6Gs9ul?OZMqVOZ0Yd4d9by)Wl>sWC zny`X4Mcuzuh|sH?wSOqO7&8gmmzdcWT~Q7t+e6lDq(j$vz8F|z zt~t9PUL{-6?Ga9h-=@N30W)@RMXGq|zZw>bU#WNnx}OsRoAR!BGw>+jq4qB*2b5R% z9!$i5ago|Z3I3UvoL}QTO<<^bF|YKHYD&;Wjw_wEhoni4i0qvjH>nBV+ZwB?dLCY4 z?S6XPJ8GuaOaTeFHtQwb_kLzmmA2nJj+$OcI&U2_ zy{C;D9thZT#?X=CLN8A(r`?tRWeQ@D_S$kihBKx4;=AMVp2>qg3`g&#hSx4+Y2>VR zAoKfLn^(3`EUKfzHXzyvvn`^+PAbLq5Hps@ZkwPL@5Nm8F+tO_^aAw9Bi5V5Ez3mD zxq=uPh(oZTP}O~7g(T(gyLh`aw?biN^e5Qsfw;65vcsi@`wow zN0LL%Qh8?`D$r;-gKNZot0Aj&mSSy1-z&mA$4NWj7;AATfEsn^R%+{9%+{Z%tzyS) zep|=kUoqPnAf^FvMf8;$d;JwQb`7#xmx{4+A`Igg+;ajVzSatI_1Qa>rNY9(tvrF* zSP1Jrl=bKh;*wiv{%H(S{KnqW!41Cxhv9B4ICF;qL$6t7({B@m$ZS$MX<|$Sw;`Go zff{&}sVud@PdpTvk7Kf{eu7SALoS;Qvg!R61ZR7 z1G=`m{gZ+J?fR7B|0M|EUH_k7Ax1q$bU%04f#jg;zCR;=xV8MV-6g;AW2+RAkIYX_ zPA)GmPfuUcqYBdFcb5nKybX9B57=@49x*gU$gn~AY5vF*!6Pz0-PQ*-MPHDDF6vYu zoo0Ter2)@+djEX3F|lcIPy^9}`1?5W^6%d7dj1*)6NFq+Mur23Dxhz7oBc6VJOTz> z6bab)2010eeR>dLTPl%Y_8#%7Kk^ICF`P=OKd@6R?;e`iR8k@c^h5aWFX-|giAi_! zPG6@A1k;*&5cmBV)Rz$V8O8rdQzCLXoe(*6bJ#l++*n@^jH$G=G_zOc0`#w6xnDpU z;!v02MEu z5!fcz>oKyj$|48JJ;G1=8~plLo*F)TVSv2aOpHd{rjyLX&migDW!=r!p>H*ZEB!DO#tTp_p6$T zO?$0E=y4uq-QD<~TLgeDSfxGPeu>n7%aFVw$~*P@^{1tEfR2ICr3^N->A-k^`PT+E zkTAu4YIDp0AJ(d))2#K+8J(s_V%vcz6uLCqbUuS&>!)i8{D+=y28-`3^%yOVX&`3Q zyPSXEBH&*=_;epW4wnJ_vwhG0{Qs6810<%!0-!nk?e%Vi8RQLG5)B1M=1u$_h zaA}3zUH_6l^WOpDH7bc7HHh2f7O8S=JeE3(t|pG_Qif0TUdRaB|NQ!8 zzE4D5p=>5%);3!Uin3*HC=U?lJIYDFsFjnx4(g^ER0Fwf?a_T`T~lSC%g`CfzL0w7 z6FnbLzu9*1;lSu?X6Wa%C((Y5DqKRg{#_>K5?fvt1D~ChHNQ)cc8)sOKd-q<02M9m)jERZTlvY@7U4!RXTW=2X~8$wrn> z74Ozpa@kGGQ!4iFTWYE9t~QK0JYolm?cwXr;oF*L8ieIQ4pHTsulrckBVQYJp*{QS zyq`M^WGHEl7P55(M?R&EOBziwYkd~2Tr8*aVr>K}2N{ZprOq2w866Kjb_hoemec;s zY%%>Q!oa?e!^Y^F`Ddd0>0u;il0)b-dW=*}6-TASYqc+7>~7{$6$Sw$K9|xf8QF(m zO$&2gd1=|J&!{UjP)(>)7nNbgJsAr%oD%Pz+skK%gyz&7s1{e%@}IaPwHZmnzd3Y4 zs>-b#XQ&yqw=|b-wLFZI4j-m$gwkD^aw78 zgEGZV_vMMNo|*+fZ%QP8;k5MKL^r;ENBU?@0yUid$B-H#_p%b?%`@hIQ|(*4AH%$y zzqNWM`tgpYE8ZS{I#`-kIk@SKV8$ZbUXJOqVPkBvv!-c#c*zwdqMZ}qFe zFi=Qk+Xa4y%r}dwZ6(Mfd9=$j>S@0NTaRv&r*9wjLMcwxoAt^Ao}WQ8c@=G{85Ge%16R zXt(shgDTxvWQhRrhOWdoj<(FABl~7T-i(Yq6?Fyn zU=B!eQTe^Jve1Q0b`YT=oQB($X_>84Q(ZoNcsiRRQwsAq+Rx{s?U|1mvCQk-hyH#9 zZ(|~Au^*$%Zy&!V;LThC~i&D*tJmI1&(jl z;IAx8+1|aLutw(P4dV093QC5>sYGQ5k}2J zlQFGf32|N&bolg?h(kWeR6X|JOyY z3=+SX0Dm@Hegp}=>!J_W&f6}fgrbkH3fQHnJ`9=~R3<;YGt`tP{wQjBIpz5BbqYZp z!UUJrx9eO6;H_cuR8GaJF^e?!tJEAHOW9>Y`&uiK)Lav`&oqPx8x|w_JX#H7hfx37Gm8}{SSeaMn%&*SZuACx6yO*b%4_!pQ$b1oz<9=uK`{&6SL*BCU zK^b(NA>m#Jub?k{K-Jt^T}*H zRky4Dd{?p)I8RQ@Ho6c=X~ZWd;wRY7MYy|CCk7*1v$4vP_}5=5h%y;3=|pJ+kMxzG z$Kx-rw`(>5==lUCEBQc;GdS&f=53}2_z!^NCC*;B-n#H6KJj{5bE2Pra~=_f#p~{8 zB7)j6N872Kiei+8z(Cv1`=OTi%fQFl%Q?%j5J&ZuEZA1Cq*+RA~YhNLAz;ZX-EFEfA3h# zmJ+k81{~7dS6kV>F_6Pr?9g*%mc_XMs*dSMoq9=@kDzsKFqq3;_tQ+j_N6Q!(8X)B z5}|crkB1<|R*bAMd+%D;BaK|1_nw+HE(1%uSD)`jjNQ?kWM44rF;YUlmpa(7&foZ(^x=873T4n=_uJ)aAnu2I{$_V7AqTG3z~-It{)c2Hjz+OmCDNj}+`|1? z6Zis%)CJ$dU_W}3Zw;rePAcL2!O?c0& z&zzV!mT4+#v_noedrsWRHV6tWw!-LvLPZ&`Z;If^@B*;oh5 zq@uG+O(vcj5JXP`amX0@Ilb}4J4lJdy+|@=*XjaHp2Ho=9d27kMl>og0#shI#&FaE%TNBnut+`Sp$fo#u35@jxGG5JZ0 zal4Mtr9zQcdZ^*65P7JW8c9CMCrF##`df@tty;auFqJ`jHn?{goXMFvq~wz+bPrAK zvGPTK=7jZRwj_hvq5f69POr>f1Eer6FL5JcpzlVkoba3BvbpT-I9^Breow9kk2c23 zUy5?9;1f03{+ktT3QPU=Sa-?%2yXp-5?8AH)kZy3!3qV__Ez_MbU9y+P@2I_djbDc z`OfIF++mgGXfYuVXOw@G)7Zpz@OB(i#lrhKtYF z{Q-#kdm`Tz`WV0A@}$fRYYkXn5Q|5c6e9XYYMOogb)Y-eNkR|OJ;-VO&edQ99Z9y(IkK!>#iA>mp z#|Yx5rN1TC`W9~O7KHImU2NJ=InrNVS5TJ@wu&R9=1HlN6*GVgrIud8zG->+Z1<^& zOR+k2b>80BCrWZv7yK!1>C--s*RtJHGAZwCNRMd z%#h)WlpwM1k)oYRrgRra=TJVa1Aj{`*#mN$#Wh zjlF3|g5)^&w{Y9scS45(uCYBblR?u=_GMG15gxm@HKLwI#**a223PDwsP8D2xJlI> z62*G()Wy=inUoJqRI9p%q6aDQ@bm7(cCPCc4TsJ9+sBPiR!Oui3b2&OVF2aFi5_73 zAiH}TVfI9Ryo@c*`YAD$W#h&z8q!)bZRsiY8Q37o$27~KI=nD9Qh6_q$)0K5uYt;8 zMVKBW9-DiatoGx#Qhv}|l1%CvlDE@7~JQ&btfKq$%DgkoFGvcGfF4FboQ${{V4_5!$!GfINj(dTn}$XX@ZXHNKpzujWgV|40o!Urt^N7tD(DAaY94{!MUZ6}yb_Gy#! z$Pi#V&AS&LF1el$jx}VFVc%un79$c7cQtv4NY0bViA#+MDzGwZfV|w#T}M)fo%G9y zJKST6+~Mfvi~YexUK)_Ed`GMLw#Mw4kxy~NWJb5l7^>watb+n!&{2bj_8LLpCo;}f zdlVc(mun3~LUqHM_s#~O?pG@}KCq^q7UU4Az;&LMjP%--ZBTNl0J%sQbR2@Xrm_EMuq}o)fO__ z`0SZt$&^Myqc>i9%u98_7cC{~ZEv~QWH8wq&&q}}6S`M)*M3C`(MqG7LI-Ge+=I@F z!&+P*$_)*O&Z5MpTO zD0ab|XB|lp8teO@uQS>Y93aKWF~lb}<)|NQhT2lzngS&AF+)Aw$zp9X=*9rOa2+i7 zK9tFC@he0+*wzDUTnxb`vd(CJZa$k|tBCq+6-P{sk?UmNen3FOtrt2PKZNVVlwqo+l4AP#U(CT*)E?9-<&3uu1XN9iA9BA_-+NK3kO8Y#WBsIP= z&8#;nz_(BTVS6HgBu|wi|sYFjIO(Oh}zfxBx5L-<4(ewE~2GG6ySsCTU~I6j}RO z617N&SzS8IuP@9i+*PHYKU005q(}yCXmF-n!{IkpX#WE%Tr?^R1n13zXIOm4;O|G6 zS)=#-EY`veY~7p_#E$P__lS+|U_*}Cc)Jj`FyEHIW*Lv&oM3b?zISUGN6yFDGcq1n zgZ4tYnIV(bX1j5KgUl&xO6z3Q9=p5hd<$p#3GkKVe0EY&<1d|qe(Kq{S4>v@e0M+; z#H|@EYY#i?Z+w7mvDigR)2D^Tuhaa&Naq-mS@s5zaM>v$zTt?n{Fmx zU4NBpBQf{&C&5^=cr@rNWLCh3P%_6A;FllWx{yGvX82UpezefxGH;G*hQZyD*lw0V zd6rxYvf4uw-JLkQ+RF+ulRdDo1iCAEmv#e(X|p1Ev9r$*rW&uH$5Bp*(X=TOa-K$_ z;YJ6Spd}9Zb5^qute>x-&2~Vn>?~We18q2jC^FS%9K=gC z%(@>5n4otX%t|NgyqLot- zU*!;dXE$uOZ6{x@P)Je!$!glu%yNNw9H_hT_q(q|1I&2!S#z09RwNyO=7{wrlX}C- zVQ;t_UMMoo0T+Zcf=zhnd2a4(jJC;yi$7((;$EZ|93ne+03&=K)NJ?HpyzuKBiAXc zt(NqO8(P?HUB_s`Yyw%XY$hS2d-Z8lf>Si@H@6g=Q3v+70#aE@Csl5iY8q-9)p+&9(8` z)P^=`&!rE7kd9_5iOp#5*esV9vn;j9$bJ%IqAqLNeY%Kes3+IzOy1a1Y`ODb*5

      )S#RtDlC06?tuqkgx4rOKz#dUoe^?{nlig(h z$kW(USb@xEUCniM-h*ZB8A0|++C7G@HThL1KB`oXY_B3KUjU`D`C=40b_Qqwhr4HqHgyIOzB)IMSWbG+tuY^_p6m+neVp%Yg=27nQ@N{+&2%s$W(3)YoN& zM(|?@Y&`ceb!`J`Ol`h-&$V0iyvxR8QCjIiR_>>t282lF;Jp6D7L3=9#1_PM?D?p7 zG2%31??v|l(iZa^SiXw}xl0-Y{&mx{x}fE$tcx{Q%&oT*U#_d_zk%O6OGh47x8}RK zdLecdfE6=?&laB^?G{ltDlo0Htu(afUF(DAa1)9gRSCk@X8Q&=@{_BH6FLEVJ=cD~ zRq3ZcT~41gR%$hWNUFN|xbFH4~ht_g1KI*%+1ztnpOreVp{GpG1DmmZN=?}nmmW0LX z=wqr7u+-*d?*tC5e8F*X%(74^tm_THu>8pVS7FXPK4Z*bQo*yOT$Kp3UYCp8d*!?M4}ozR`#?ZI>1wiFkpe564z7{3 z_8HQh+#G!>Tr*5E>`N#P7w&Q|iAy)O9~QoP3e+B66jOuakruwmW)PRvM{pjDN1d8X z2gZAsz+p)w5fvM^eKGXXM6p?77Up!%LwaQF*Hi}y;~U-}U*qSCqlI$YKadD5&yZd@?vG}UCx?f&|86109PXLg-vR`s-Bb8XFs=F zC2(*PF@8fL0@#lyMvALFxk{LwTbb$Y9!-yHO?fvMBmv%Ru6*IM?{HI8RqU`$IHEaQ z8%Y!)R1K%dy}za8`d1&YI!2lq z-YsEqo68{G8Vj4~;WPgZ1YmvbH(^~h@|)RAvD^zqZo)BE`v9hHgo*k0z@&ez!0^1wjS(X{l41i6-nvVC%X6C-LnU}Uum=qefT6GTKO$}o zkRmPhZ^$QUUt4;|qhY`B{wk4+G8P>QiVPH6x${k5x&YeIoTQibZOF^))S_@k`Urb? ztH@|7H>S)9g?!mz8S-&CyG&*6!z$L&Txq8bu#p&!&a-9rxVS{zg zDh+NJYCCSD)0i6Z<*FlQ#8>M~1Z(yNsX|ha9u+uWhtbh)47bRqnb4cbKv;wxqrmG1 z*4cxYIAchmK79w`Cmq$Dy8u{sd1nIzrd;$*RKU(kqFv4XO8$%Z9Weo6%?)IamtDhB z!TMIO{)UtoSU3k@Zr5sEcpOKQe6j>)V2>4@0GqQ~}p* zC<2TaBLKygsA=z`7a#mInaOBO->7O-3UxuNG36$M6fsrdvJFzIq#-3p)wKAe!b z(|i&gsmYK!TIh2qb9pmI$)2*;!BMy>)Pkh)$@GB-53&Mea9O7=%&a3qhKVIGlXjAMFO9gxmW3 z!w~>Vu({n?U8XwW7)m(snAQCYJ;JZ=Hq$`5nYfL!R*hmv`-$psQaIBj>3lYmc6ISc z>3GXYS%*U^`?=+%0Ql8)O_$L{p2f%^gR0Fcjl8m4mls9^EzcI^e?;mwPto_qa>%%u z=(N?aFqP8bB0WbeH8)?T#L)C&@p~bKvXU4~TG*q_{F~6K0cgE~0i)G}+9oG%?TV!! z*BP?i>@Oh$GDJ9@l_AP7CC*f>aq!+nBWgmzhW3?ANO1XTh7_EHZ2wAn6wl&EQBl9w zd%`I9SJ3lHS$7a{T!e3%g@*tKAkAcrf$-ULsQ>HdZ}zsNP)va}bN+DO;C{ZH8OIY+ zf;Hc^AW?`k5XahBzQElg`_`4zfr)iyJ#gNY=y_up9Htm}1YnqKsB21%IwP2pxk`UT zkGs>Krz@y(hI^Z(i@NX9F3Q`3wD4vuxiIT-vXPW~?C6qz45lf{2KKlmLnpMS2MxB_JIHq=jasLqL>Xlprk>=^aKXp`$?P5Tz3c zkrG-c?}5a7%02Tu|Lgtqd>B6Im2-Akd)41sYafZ4V+5Z^Kn&ncfGHN}PFm+iBnfP& za04NLnS+b{h}~4};u(f>mG_$VLzU>gj}V)$Z*i2j+EkSvqY?IA(Q_6ml$kyw*M&`I zbv)k?zC~~J!E?90Iw(&oj0eT&L0`-t5cIuS;M3|`sQQ6E-zGeuWTa`&GK&V}^a=#w zw@zReNdj1|mzNd{-R&^?q3{t<(a~F`U!7!j14ha<3Pl}y!29M7zS@%WTPXUVB?*`WQHa_mJ#X|oR4twlRUHU4hEMPl>c#<8y{(bEVoFGI|P zoM?qp?$L||g}NaZ;FmZKCGi)3@} zB8MBts1L)9NTgEKfqt1xO!3+>+wfeE;QWMoy|%2kK_kA)B`>+&;PolGl;cXVQpz2^ z{gInD`S6zer|W5m!9srUeD&lf95Y7OJqJHdeYN#?L(%sKu;5TTNq|g zdT$`(*s^rHcB)A_RQi?xDuP-+X-h`-7VjgYjvC>jh~0C=nB^}AZUhHp$N#Ks$9%-B zz_pP9^)lpui23m;lQ2Y~B*~PAednwMvvXEC4hSp$2s8a)o&x6ZSmTCxrab3L8&T@M z0$V%<-T9W>{bO~Q3E7T+i=f+q{RlH&_3K?TI;HJYiInuhsX|wm6I)AGGwLIkpL|p2 zhw%i~reS=J=T149#!qkYT|bJaKMH7?K-i7lFN%$06f^vufiXC{`*-j`VL?&i0OeEY z>K%sIYq@AQL>*tZIx$p99yS8YG>5E+O$|1+Z*k|y9yk#vl-V!w!!X%e|UAv zX03qlb@MQc`SwAOxN(}X`dByawshu1JQ~?FsA)l4n29#q{1N7Pa`|Y3Q?&|FI%G*u0hyEHewf)tnnKByW2#2)3D@>er_N<*bWct10J5?R;fH?5s8b@|jp-$)sxOEVf0 zTwUX0b)wd>$+xMtv4dFpmeWQ43lcI4k)8t-SS1JFx3^r;?gQT=j8~8LzEMf{U@>=Y zoZ$)})>iF2x{j+6WF_R*K;@FzA_3H%({Giz=5^CAt|M&g1v|#~4RXO=LR&7h@{RT* zO40Z;D{faow`*vpuHNv>?^*hC-9NmwWw+ATGQ_{l0PQ+);IW(WPt-N5N=n#I+GH{( zJ>8Z6F?^n6m>LmN^#C@sAv&?af8D$Wo#Cswb-*v(3|CWS3awq(mfL8gs49DV4|xV8 zTt4ykf+_WO>BSV$!aG2K$|)uQ1^NhO;0L(SDC?kEi8<$l2s+_%Z@93+e>w7LSs=i1 zY-I9vZlNmZ6m{ezX@`R}Q`VvJI{f_?rMVMw8`0D(DAIgm80^HL2KEJI}>1oZKdQ1T|*+T*>B)!^USf>LA-U?eZ z+uB;xGP7vl#ak@x$fzq0=RD9L3zfM9w~9_Yj{Y}9{t3A~|f^AbyQ#9Wb} zOtR{vHKpJ9ef$3z;G7oAA+Dea{(YARYY+c@?Z1!wM)CLU|330Pt^?0eBuDA@L4kjL zp!s*XK$?I=-Dxv0$Z*d9@K?_Im-Y`fkwa554Z{zaz+ewO86~vr2Kxcz`tyg z4p01cHt1Cq6{{|>rSgEue?R4kLq@xji`D#sgW`(Rsr~n+zZdkgNcsNZp_3Ocky5?4 zb3w1RldGrkGJj&Li{WesTwzdwM(EVLZUEbzyFiWtNt4}pbjV?v07sGkZpe`Ni2VO| zH^`j%vt;(eGZL@=EMw-QBC{j;1v#5{2bmhp|CD9lqacaQ&thK<7BW|pUwGOhM^Y0% z%Z%R~|91&Tj{Hl71OE8GOa)dYU*FxCyb&3r-RU%L6%1^4cVHYAc;j~8@Cg!cYkAW*OS$#Jb4F9{`pATp=ewQ!8*^+6fF5eJ1P-Udz*#zG4g%p-dir6h6qZo zaAv~K8g@SFL(Jd{5=F!?L2tNnbCgc05$lPLUtfPvq*G*(z_yZQiahamJveS}1f$tb z^>No@UQw{7Go==@@*?8ZIf4)QN%ENIkf`g@7)?b%|DHX39m3;EWL73w9_73a1^SgP z`0CisTg{fY>V5pm6OzbRbc8p59^_*Vst7!-c_;5!d#qhQ3yv{Z7;8Y*8{`!|)P>JR zELqdLOw*N~&Q-}{LB~cJ6m+u^KTp+Bq%IETF`g1;NXD<;C$2MGDqq8*t$Na9`}2%4 zO-D&{$qD~lO%BNMDI!`RI!pKQ&ZZTz{zjFecXQpfA-)b}ePI?Qc7z(21aNgqY~KPa z=~X_@L-Iu;QAJ_K6a)f6alpDeGO9Zxr--PX%zTQw$ofWqWsr~U>G0Y??H8vz3ZW=5 zhv6H(+X5~;fmE#dj^yp0W+iDf;r$lTk6sI6h>f1R$#~^?CebaYC5ELo zmQr?k@Z@_~*qfRaeqI?;YskAFfO?hd$O5gxjVYXJSL?odx2~~oTBLy{-=O&92~3y0 zCZGkTzJ2v1>OZ}$KvJ^;)Aqp|Q%S|UifJd&(7q5m zN77z2%6=!&QN&u0@V)D_3Rxh8p0Vqh!y%p){rzT3ClZWEbG#A!!-4SCJ_&mrc84Yh zmBlddlN9#=5?m8J!ngO>(|r?cH7*c0HSd7$zw1DeHI@0DzjFC2rmc!CzW8aEP!^@7;O zw~*CrkhnvR-`x9@s*v_;6IUl9CYDZ6_had}i>o}d!&u&Qt#+$_#0caDwdR~qR*ERt zBP&FD{sSg75Y~g|DUGkDzS3^oXKk?5!|NB!w9c&J7NokFABHjOP05qw^Lr{9+YcQ-^luL=DNft&Qf{cJLPpu(9i z&s0*YyDRSA>4Il=mlw!dwg@(FZYima9?HR$#un7uutaHuqMNXyK=YIy_^N5mosGwe z+Z+B*rdqxhTXoaW>|flo3HuhWj8wYVxGszw*NoiI+9yfYk<$zZ;+xBaR3b#m;1E@v zsM(PL*2!583ClxSEjq`=0lDtD62^jVV#;HRmM2u$XqV1zMF1lY)q0n+v?@~4i@VLc z6bRRWH6ifZd^l)XE#d+`>o0TzetTZ+yH@ip$0YV+K@C5z-J!BLZ$347uUR!^sKzak zWu*0B3I~Gcj|X|g4R+#&e_!#F5<0G5l8z3YL?a@th;j0Gz7}GRKY8`9LJkz1-Xa?D z&0|_Oxt|MfP~%+6BK4e(W7;D8P+i>)^D%C%xa`n3cBNUhDb5~=8Y-Th<5%NZy}k79 zlVN>opnVcnv!&9vBhQ0=Y78w)8k($u1)c%FrTgk248x38!;&%%b)-R16kLE={6lzE zVpBynQ?xE&Zs{zrSe>z$hzdLxobn@PAVm=gdc`)3O7d2^rFLtVf;1|h&Y?x?$pXD9 z!68_>%}3u@P2KpLg$~USeoNI^qu;h|&4DG!?mLV%x2D&2<%=Ai~ zcHzWwkVck!f2gS6-Y4+=QVzGh6zZ&<64iU-Q0bo$UUBB0%qY?HC}t9$j?5iK@%7); zLnD@<;mqr=KDR_6a2`)GqX71300a+Uk6z8cu*Wqd>eHFbocTwW-}&l5^}`ZZ{zHqs zdGNPjb=iIMjd7=G;3#j}AeJ7{MAOpIM~gPM@-vsgHFM8JbsVZ2w~M^d-!H>&4`ZE| zC%A3<$jo4Xy=eVqFAR?eSv(1J_3N5r_QH;BA}$FeBj=T|@stFV~`-ilrMo_2x9QQEldlr@LE8N<4TDL7xh zP;0=2lS?T=Py7ZakrLQNv3f7a&2{{9GPxD<++loga90n0yYoE-pfV=KRf#`#xH4@H z`98+Vmf9<6C9arS*5G2=-a`{Fv}Xm|#E?ut9ViT#p(_Qf1k5mziVaY-NIfdb=d^A! zjBxBSs?a9$66YaWA%MneGSxiJ!Q8+#tipdXXi5~EA>?4>OdBT-0>v~P!k5yQyF#8| zotgp0&eXh;5+$+C1;E+^$zQEJklk61E3L(#Y3M7?Dy-(6a`^j#quszlTt1;kU;gFs z*SUv}qcN~IaE2J_*sF}1`yZL8W7SRJ50-addl4!gb+VYW2TQNC9C4H9D(Zg9@#}>)~7UwA@^HT!rYKlNLHfYpXlC#3W->L-1M5vH-fyy-W!f?M$kgps(%~` z;Fp`8-*rUCu51w^IBhBaC<5&wD}`xLY2(66t60rB%)aJWNAQikZtyUN2~}I7Z^C+3 z;_CUOKCq0DiP(8 z|HuceI`B`m(1oattmP}sd4J%r7L*H#iy5IM=73aAetJ=AQZg?UD> zUwtPKEr9-0_MX-ie$J#CmZYm|^HDbIpO4I&Feii29Q($#rVUb`8A#CrW>{--$Z~ACs7WEo#wRF7+>ryQ5s7sf1F9a^Z(8vz^B)TM$7`= zL2xhy%(Q=7q*2&1AR`rjtHk9Ad{+R|33;Lj^0N3XOA|5M;iYQv`6c62e8f@*aL5UI zVvE`u|41kETo7^tM-QLdAV#Dx8Z%JH*LURr<%WMts&cHRevN1FY$creQB%lU+uK7Q z)o)R?8NoqdTr~P`#DoD#7=%rMUofgM>^o7y1%5^ahyIcXk5O1_C5&FoA!mI7cZ_q1 zb191_iktYP?_EuB{5-(z#5b0GonB`=Y{|yr&Y>3vI2q>+e?|reMq<_Kei>7=I)RT( zT3^b0J&97?pC0hLnoRnVi>*=d9%Q04=|A~l1BK1I~7e^7lwM}GDE&#>mm_x}nxZg+hA+Kn3` z=J~9R233a!GXdki)B@WA0q_-iIa3Il2HN2U*FHd*m8fl`Ca|aR6l{G*GS8X8yV9xb`P7075%~0HQyQrNT{-#aa z69f~Nrjpw|Ik7UJ7f$Q}=~eo}6q5lxnrm_0e`5^5u#$fC&>IB!{`iiPa$mBww$>1* z;G+zr<`}PZ&9vu0B9Ukf@~aGF2!m^|&X>q&=2N&9ZHZYL$vl3PPZ@Z@wB8RqOGb<6 zFO#3`v$eCE_R;}<)_ZY;{#s#nn?nr7m&8eYl4R&6%K=m8+nFFL<*}r*e_Z3o)LS6C zLE?pXbL3nALQhw>G(a2lER9p$hn}@yTbxXbU&!E%t=$#C`wscV=<4AQa>8UCtQdZb zf=|)DlJs~}5D8CW5VkemdAQA|oVQ4@L|DR=YhijX&S`y%GRhwgBg0vje(o#!*MP6K=YaZ2 zmv-Gm;lC2J=(lTzRJWC%DLGc!ijce#xhS&mE2^GnQbgW5dHF|+AjF}W^eP|i&jW2e z)?h7q5~%yDoX+Vaf9^)%`A^atJYdQ@elh(wu5#m2W|G!=r~LDrdCpKG&=+3Pdrrk5 z#h|2t=}-MUAB$%XOITh;9)th8+5i1y??e&3*CdHGnB9q&(bt2SR)>~_ShO#^ocrf9 zyRBZn1P*r*j@H?!Mhdgv4hs86LUXMp4X->w=yhBxfxq-r{6{9CfrZ@`Mt+f@orw4! z#$s}q_>!rZziD5pynhtVD()4qElQ`0GrC=~knvGuo}*vH&#?e*EKZ~J&%E(o zDK>~xK9$9$K09g{)wJ8?rm8&!>Gbm+#uwCk%vB@HDwkf%NHMNeFE-MtNiNqAGa$_3 zqV6g6t%hldm67!C>B7N7gLE1K6Zru{P zGqpW;2o{|CaSulO2H(T%U;1>LQ-%rrPs0%<;*)@ar_m9V1z|8_brV1iDXTW{kmR97 zdeL1vq4~-OFa7%`o7FL}q7ee4@w#;x6(@jEZ;fx%mGA%N!TD>COxr(7;%zu~ zJ$H@cN5yUirBFpqG?W;Z3j(XDkCr{^8Jpd`r?&t4R(qHctGI-CkPbXbaU)H+T;S!N!M>;`;{Jfm_o+&PjK;Z!867{f^joD(iBX5D0kRA}^P61RM9JdApZ z6^`l#)!tFtNop$(Ph=6*f$PATXYl^}fkB$-QAr{;Ju0@Tq>S!4?w{gqo()=6@5ezC zu*)N*TzmYPJAwN?HluxU?_ue%j%zyb_f~@+zuT6R-y@e+08o7ijJ`GB_dW!?6gPqs z??1U5V|qAY09JT$lxr`Q{3$}YzMra3U>vJ?DRf;p6Z=)O(!o@6+sxnE-NihKPRM&j ze&b}ePv7cJqji0Sjn+hJVyxPn+iFw2jm>V-)MeiN8EV||4ujH8nYxq+$aOoq;yjSJ z-*$iW*xu0kC?>@x&F5WX*ly)WMN?v@utHL3r7OCIh9TCB57H#0W3y$=uzWNudMdX*Ix(M$(0tylv;E;xB20rU99oKHqr;;=TuB3w=K0 zNf!30GTCWE97Kr988~P&qw(%YMKbI`jteruWyB`4g@*R7n2!w-)oFIWV#p6=;pe7V z|7+QLVH6To4%=J0LzExvUFn}4NSGWsUu>&a-Y$*zp5TTL$0}Q`7JVJ?&N~_fFrPTa zUeY%QRa&5vG%)ICmfS2M`}$xZ!KD2C1+AYtpTV2JcYS&q5+1k;Tw}0Yj2dZ!Ew-U# z)v46=9L2}nHsUr{`J zO#*6`>*L`vjkYqJwMh_D>;de%LQJ5N7cbb|9@4c}UblbN(kf&i%zeD67Hny^yruTD_D zt$L8>>LNKP7moeh|64hN=ek$D2&jwe7J9O53w$*yZ{)JLYEijkYa8y3S+dXF?pN8x z7u|Yv;G9d*CkNCvja(NpW^kDmYIGf2ysX7llZ_{wICj5_LBBqiVPn6+qLb-IO=S{e$ET2+bo z4g*)HY2AO+^iIs>Wg^c!L#g{3Rd9B)=k%n2Jv5`}-OBxitL66#sn&8pyrcXaV;dfl z2)G%6Z%=;TgA0fpsCjBD}pE z>)BZhA;cviwTHuvrU|aE!z1xtx^URLT3`BohkYxc?>Fq~-;#^o%Y7#_IOX!9vC9yH z-GI||P&*e;(^HU;?4ep9k&>)e|SlmjHs$73eWDs{=g z86`Nd_q{~K&wC}f|Beq5Re!d?g|gi07PXf-(v%^TLmHwgsH#@uYi=u^&<1 z>$MYS742pDy-i5mtNewYPePLpKrMhRsY;Hv_Td`liD zxvVD45UK~~yjTV|Sc~A?b1;*;R|Ffa`G|RiU2N7?+w0`m^D)XyX=sMWul2vyH3NXZ zjj(BLa9M?GTbr)gFB!H_TS*x-lvAqS;70z0i#K$5C+Vy<>nv?9ro9x_M=>ocPx<$o zZvi$Bq~W)#8ATKDPGZfZ#}WzZs8?E;qr^k7OSWJeyUAisuUcw|8S~~9wng?P*vyC z?vBJerntu;17X~Zt7$2r>Y}?ApNb$V+~$Ra#2Dy9&k`} z*PJ9~mA;{%dF+x@yX?-a3i$ER)3W|rwXM}4e(*Ju>-iuL|7!O}v%L8e^l9&#OgLx6 z8sqF`{+`VzazF|$)*P;j>m;pL$! z;@#NUu4p#WQ&nmiIKOUYYAm(gy`sdeUNiN{!NY)@nkfDXOw1;7n|qXI$;0n?u2+fnO5fB7|bxp&{#M)gPf z3}h{Fd-=dtu#GwG1a>(~BXUr^`$PLf%TVc640rzrjp$YP&zG&nubZn)T&&aITIx8u zzdaVroAku7IWFF^vS~smdwuXt$}woctek!%{<|;e22@#COWl!)Gx(vjm4&H zg@+pRc*|G{VJ+O3(NpuU_wK4$t$y}n%qjX3H6yO7U;4$n zSu3>Cy{9v?)lC1%OrwYssJwZ>FjtCkN6904DXC}0OwoDH2n@^EVo<;OG1ZFM;D4Ea z9hl#N80UoN)4GC2xH0!A?JoyD;x*E~xm6O1Pg=>gWAnIP0HE3OCDuGDjWeBHwK)^a z3n3XYA~X6OohnKm71*Tnop~2ClXeo%jJPuiZ-geVFNfRjO^oq2nfUdtK>8c~oz2_N zTkU-B9y_i|{Nl@?SAcaM$=Kjs2h8Z1Xc3>DU_nDOAKVM|y5&kDe=g1c!j`As!{`sP zS99#AT7?vY?wjOvwdNvc0%#X*5SWhI{ zt@k0L(m8WM3&@NOhIVu|YE|HD)-4-)9g;s}l&g zDaJDz26NA42)xO^ zpX*{_V}bD---~Fd!C!RunLL>Ek53=F`X5e*)Y0j&FzS`E<@(S5&gM?E7#FDYpl?3Mm9XUj$a6Kk7 z`slh-E(8G^*^CkPD^w69!D(c7;UNTWl46h_VDS_i69R4!Go8*9Fny8rje3la3eh`U??t4G+8rG9 zs2wRX&JfyGt zzFD~1#9%jnOpwJf+$LF3Xq+YEtlv9rCE@h6Uj13>NMmRUzfvDD)y&e5^1%Ub~;XrUbt0z)NMYl;%+)LmPn*bxLJUG zS_P(B#W{5*c7uB+$0J%5&PBt@w}V78;0@@|Od0fSU7rc9N^SE(V2p@a{MA+=1}d{R zo3U~2m6L0nkSE!TtEr3_f`4rOPZ=t%SK9EjSflJVd!g4Se<`(7%>+it#LID8P@(CX zou09=M~x6p>Cj=7Ydr+=fLcIMf!XqX$ikpGG2*TK%p>=jZuiB~nHMx~vA-398QyX+ zdWpspj4&K%F0UKCZ$sMNua*tN9e6nA-rFo8+NvMP<}3~RcU={|ukEoYjg6j~0&H+# zeM-N$*EPdChj5m1Ja5Q);SnG{5(7Ei)TwRpbwKmZIJ}W+t#Wg%l5(;&Ti!WsS1|B# zk81YE>)_I)~R?^du^ z?16lkPz8QmYp`~Pz*$R#$~`;-ZwQNqBavI2-)rTlCNsTUt^w^e4vK*-a{ky z*+)ElJh21Ms1Bjfcl3v$;%y`d&QVa1&|iI<9gm#rv+AqPFQ!&)g%-$X+&{nnwQx2o zUZ8G>+upSH!E2d!ql9>dW(zFR^e)H^*9V;|`4uV7yHsK~Al_~j4g_y|gKibI#XGQx z7yX;?F0qj&iq+#ld)|&!igR6CzQitFgVb50bgPRdgw4@2FZhAK6RO5P6x_@+`fDX~ z@Fx53V3!*21Agko6hg&fZ|rsgg{7iz4Qkk}&llWVb5|EGDv;`NRw!Qo42W+iCLA{N zH6#SYH3i(&mfX%$v+|y0(z7!y>g@`9W|~pGb8(E36R3X#Rr0>o^kdq_4I>nR&`8W% z9>ZLhxaJ=z>c{zFCJ|4uvT&K90U*EBqmA2Znr3l9A?P=G{aG$AXbp{Z4 zZ^p*boc>F!(E0mp>F4u&r>_l^JFPt*8Mk)VEl5FP_LfqAe3(=fdGU5$2?E#73>|Pr zwfS{-8rOBf1aXfF&- zW@oof(>g7z*ePycgfNXJXs9px2|CjqD}1k>vR^P|`wc8NWWPhi>g<8C(wI05iU6H< zd$)f}-kw)dM`s-pdv7&HdY!+=ZPU9so<$T-J%0txilwO2S}|qt<-Mt96NN4B@=ing ztbM|#M_lk<{_Gq4Y@PNiC;TR44VN63;kEG0YrhaQ7hJAQcTXG40~&DtD79<^H>&~n z9YDC#8sOv8TW?+V3Am!!u*5z~!)(xq2R)v1X-V+=Zzme2Snmw*Ce2o;h$4B`7>JI- zpLfe5R7~VXeAG3ow?oE#=^Wy{klV0(SSp3uL>=k%3{)6;pxUZA+K-E_ebA$5p`)e` z;#C!4;+Q)146dlp$TTPES!Y)X&xNV2yY5;6MufH}|Gs}KR&%r*if^^+^jO`_$*!H2 z@|zZksHETUaUJbbAA{)S?N7WS(oM2L3c!BfaJ*BiXt%h9T-A}{%jP<8R=VV@%~aIv zvu&{J34?_%?qi1*SI&S`+G_;nx#V~6UTR^KvcmMc?D2YBI#Oxm)uMghL-Sd6S8i$z z_eI$eKYR4jZ)p!ra;1i;>+?OECDm|V6~*R1cDx#BQR>O%{X#{@CDotbH3Cb*w+s&o zc?1CMevXsYk*J@JhIWRWYF2e>rJK#c%rCKl?#*;~btb^hKk80_-oMnHHGf>g!9aoN zCj$0ZYo!}935VQsF&p!`kHuMT4R!^4yLs_!P1eRxI8mRk-i~-N+sP5*IqNcRxc^M_ zqj{vvWf=)48Cl7=i@WOs&XL`By;@UKpZM@93RZkovOO`*Y~SgCpHD=eyExWH8JP87xC(+#`t?Z&O6Ak*_4K@%ZIm0e(}38B zk%bbXB2Ze|tT*saB|m+2M%oG_%kI8SvZ}{^bt{xX!i=E+s(&v2<1p&6w^CFK62&Mx z=7i%EtFs(k+awxIQ>`X7$gAk#pmVi|poAw+EsSQC+e1&a?mm7Ho3W0K;Mc^V@rge^ zuw2M;S(XjnIJ)qQ5-KkzuLL-&t;DG0z?y}v=+*%(RtiA! zcy@)fJW#c|k>JKFZyAu~=$l-S0}J*n4pZqkJ$i~lzUCLZ;dS9Opxy~A_w-vd`n3~P zcIZ3U>YyNR{fpOYJi3>h)GmJiG0aR+-5R|@mp#{GH`ie))rqmA ze6xfT`Xs96@~Ibv7;K;JsJ9@@83^#pOtNMBc|0jl%Rvx=9L`2-e@r&S&gcRyS9~Ht zyQU<5P&&ZH?SLpf>p&q*)5xJ$@6JcmZbRTUYVOM^E-O`!TZ`|rDJ2o$x3i7VEgR}P z!&RE?g)p7{Bj31F*EL5Ws@yu7dT{l+Qq6uHrMi@P8Ha_=oZ}0M)Kq~vj51u^FVAot z#X+9{vH%M^60ZxFA3sy~EqlOG!i%BT!r`*eryP}n0^V__YTfXicUv-%8vc)Wt0zHT za;g15rZp2ZDbuz|n+srG@S3WJkdL(|v_)v;fuO@$|AXkqG+&grxAb-UsnFu{S3I4z z#Dkf=yWKva?}NCrV2j%ww55Y}E|MaL8FY=@L!%U~4bHgAHhZ%yPM(nEmo3n6CZB~@ zDJOL=hpCRwc~*#bl()IiL>>5cc&WL?#Akaf{oM@$CJXdTd8%JVu}|uBlrCId&1^Rh zEhy$wZJst@5QZ@G13cVEwKvQgl?8-4VY4q7SU1qz#FhruS@6Sg?hVf}cofhVj(vFS zmvT$&_F%l}W3-n``nKWSrjOLLcnX(tr|OiPn$NaPLGVU@r1m8W|E7<7-^$QV5ldf% zg;k^SyK`G|eLB)%I!*%F0)bW)-vWY=O6Ywz5VBx4C;#C{9Ta~mwW?Zw!wJm8!TtDb zZ4PRBg*R!0TBY~aVb-#ZbU9XG4r=OQKY+wc#fK)Nu29|V%ksLwxMHrl`4iY(ye zR%?7>tggGBpf|=>&}1tWlK@nW-{Brv7p@xD3`&PB?ky70fjan#?YFrsjY|#VJKItQ zvSRiIKPsH8%C1m&YWC6+6pT+Qm&68bz;jWHKA8GFmz@hcV{C_kg6oxCbd zF{5=1<+__EZfbmGBJGxJsCBfDfOE|W39p(c?s}ie3O_l?i#qV58>%vlWgK}sk6)JZ z*I+WxqW0`(_P#575e!!aM-+GGGKyh3>XvG<(8JGt@I5?$xQi8YKnt?W+|+TBXNzYv zz*zZk_7j~V{?vl=fKBX=KgXb6;{a+N6-JnuKi^Q@)Bp;0mzL$T{&dKjP((f|$gstl^CrFM0^Uo;6Z*%8eaOl8@pGjMWU$=K_s;`Tf zYo!hxwE&UsMOQ%-FsG2CCs-FqZdY!r?$VIv2`z6p2yGMw-FqG@={~w&=^Sh%b+-6w z2ljvw7QF8&4)7ryLn{E90EkiC@L6_xs&jV9$^(`y-b>}DN?Gw>+b2%K5ksmut_wuC z_f=0d8+zj$rpGBIDZAe83d|u~qjaq54?koqrwZqvrKs-%A;wRsjKl zf1^q;vMJ-GCb+C%ZaEBP+{JMP6HyH~Yl)0*{fJ%IjFvB2$IUTI^FB}gwLU;%0RPO* z$V}8*ZY7p0yqf}LH$(NBZmkNTQExTfH#^?q_vtWws1SaLbm$SXx?Hm6w1#G7xy+JE zAAIuGn^E&!m#vk|mJesB&6H^WEhz`p=-gscJAG?*JsC!sT=sx4V-n*O)6Ftakmy!1 zw5xx2h1NY;pgQDoh5siN)2LF{*hU*R5U=WK9k?8qCOaa!N)Yy47oN@GA+1yUgPDLV zmzddNDB2s^j9JLw3@JVN?7DS3;FZTt8xunucbhv6_riTR25VrSO5TGdTTfsm7b!fJ z`Lb4rtMx*pSY=OLX>nbU@=$y8kl_VJ7;_@m>(H5Zg=C>}_sl;v-g?_#tu;Wyv1KaK zcX3N^MFZ0~Vt`6PJj%(|Eik?2{0_!thjH8FgkZ{jj92<2s3{XF9=MgdiQ9crl39^c z5+3#R2H>tmw3H?@5Df5FrZ|L-)&XJ2tT9OchH=X2p}GYq9b-Z9(uGG(JpfFElcHu_ ziF1o~Rk6T1bS{ZyC!v7p%YSmKN!#LhndF_CY05^ieywFZS83 zbxf~(Z#?mwLB#A0hpdai;{yXGr}?u`YdZrv{ad_QV&>LXaWAIkdc(4uCg|ke2b~mYC72MOaESLUp%)Ls2GcSjay2UdW`W&{m{VqWq{)GJ+iYOoi(sJS!4OQfkl2+p9SAwMs@Qojd zjaZ1!VyXp#W6D{>Gw)$+by+~jAADLv_TF`dF-6Y~%g(f^4``}8(N8F}@IrqEZRSIWJ!90Civ}lwzGeWlU8a6L#H6Fke4Zb0!N^?DAmzf}LBX z|9j?xMIB-Mnb-tQB2C-OEY+W|8CNBV-9r~dunBYWy&z^Rar<{JTX*(%%cg(J ztH3deHiR(1yT;!iKeR084l!Rv0#hk&q`UyA1)l9n#$t|~9^YK<-rvRVS4_tkS?b0Z zxgdeKn?uI(>#Wg6KS(CW5$w0t@~PHH*6fCFI&P{ZEy6IrNRcpCV(mHcOj71YOND`o zp3}JH)}yV_Y{l$Td}wGy~dTh2K$Q#xeS8D*k3d+THEv+(cw}%V7Y2rsVmCI z()!&D5U?BU`KH3FP5Wz=1x713P$3~|V@nGF5@?m5HIqztu!u-1@{vtu<>$xD$}Ejm zMjxZ)ld~Jhe>-5nur({|6f=DynA0}=(BC>j!p9W}gVs}(@FS>KIjWstY7;_Z9pc`j`vj6R5kRNqN+q~u{kfYccgTEoUF zT|1J*U${Y3SIsL)ZBZUuoDNd97vI|SzcE3I*$863^O)o0;@W{i5{>K`ht5Wmn zlZ{7@o{Y-rBbGtQ(i(k(FOR-_wR`H^88Ps?2jm(l6{D>ymyf);=)NMS38g!J?)*Bh z+?Bz#r_ae<+gBX^UBJH-_?H6zPZSWAbYIl3RoDq+c|!#VRLvg+PUlYoN6+q+KKb2{l3KY)=75kOvlIQ6BD0#C@)-DRDY`fasKFs!(bC|u|k~c zhORjb+i@w?-Lz<_@ZsdqGGU(yW0)+aIKqt|EQBgWunmsU4F-6|Q>PDwHYuIt&?w5ly=MTpEfIAoqXod6q@vSRaO59;s2k2h# z+ua5}Lu69zj_&UlyK%$9ujWOv^q0*)j>tyVm#gA#SUW|JIIG5A(CMpsVclxbk=_2< z*p%_9^hc_OrL`VQAkmM7ofWwBN4%F-tDl+Wd^&PZQ(nH|dqdy`;QCm$$K>SXxWy0_ z2AsyKN;5KMTB5kje-X8nY^slzT|-a#4U~g3y?Uo)er&wZLnb~w*2F{EuqLIII&pnG z*jM7)Mj22}Cr_mq|Iq(+==050L09|5S3#=XHrNFe91>EoZwQvI6)yQ{;QksXY* zb86LlXG=419jqLLQI6J|-6_L`o1Ey{%h3xz^X^^WzyKao?+^IItm2Nw<&I0z-d1iHhC5` zs^?$qpSAT@O~j<64ENKf(p{}unvvle&*OhhZTBl2OCuqWvU}I0a~4mDbDjKPm02fv zNru6AI3M$63u(vVW~Oz)zs@ouy!IT!N=7;C8;6!qT=d?xZ)ZeDKY87sDTAQDjoLGN z`$qTm8I~mKARJG2z7G%0q|B;V+9~dql-T0y?7q)-6K1oV(IaWC`9vy<_7EvXz&cWE zMRi`d(DpxB1W0x)2c=_}FF3c-ko_2q<$g&-fg{G6trqh>0l6~X|arahb35IdA1D+fAD+!dYML?%C zpZ%-)Qvz-y7JZvLBak~HNMPYr0ikC@m+4ayF1#z^$fu@jn?KCZsPu$i&G*%g<68C3}0&fhh!)2 zJV&Uf%=vVB=D8D zOh!zGR$QQo{N&x~pY}i4oiipq(E%g)IF%5$iXpm$lvfW1IpN19PLc-{CpQeHTG^vry^vn93+wl zN=$w{-r(i%-KNGp6X$g5togA|5g@Rkkx{i(cM2A3yH$N1dsFE(6Q|>FwMPNac$~X5 zBLo~{272;tr`qm@kpzcDZX&GOLCaygK&#=|Z9V$LAInv`6jzJc*H@_V!w=uX?wk#Q z`mZ!aipBRG=YQ`z?X2fLqSjHX3Z!#eWcc2;sMinG3k*ZQVzE8@ zTkK70B0*4?wA5P*~+!qdde9SDK;H=i(b^CdL5gE5B&WWHx4D3{aT7{ITOQmof2bSqP!)CcwH5CVir#?C{2uY(FAA1Cz)g8M-m91hGmUB& zohJa!!W9_>TyMk+U}QA%<;w-2xA{9aaJFAk zd)=ILONz!4lq{7AK@(b65+9ER)*5A&U5V<4$d-;uwgsNl1ak^B70EiAz9<|zWi<-6 zOhg6@fhWbRs=rj>ue)gj_kGd4G9OyIhk)&*<6mu?a;jeSwvS(!R5n3x)=TacJvLh? z1)7G>lW%K;?tRXoY)Ak;1k$bc;{?y_E4dNMJw+-AwoH)SA1~^l=EPlpaU^Xk9%72I zYJ>PGHQ5f_$GVSgWwv7k?uGd*XyYA>rbQ@jIV7#B%Z!}3Q%@bS^u3z#?Doi3u!>dE zJ9NrcH*7B*nE}lk_=a^;%IdzS6%VK z&F^~fnc{c6`jBGSxc07NT}G!9n%|*69W4=DnOxrLb9}THQ)~SjM(Cb#z;t^1i9FFg zPM24*IY%=C0s`a%&-xN^<%!}>KntR;?gin`F@i>b3HR9i@z7aG^pp^wGbr|x+?P}m z-Qzw4@P5E>NM?QuSx(U^$3+)Tm|UprrmxOb86hN=%tTfhICJzNjl@fPKlDfB-z5(8 z>7RETY<7Y1L8HBO)*uPVHFU?V@-lG!hwWw$ zWDKLpz_@==&;cX6_2M5VJzJ|*0FRjz= z*I_w#+ZdrK{(GVxYd&t#EEj+9WnzvRY(ya4I~R|Zn`Miw1D14rJ^y_xCMw5756vlpQ(g$=rUa;%c2i0G>_k_ zVx%BkRp6(U8Q%M`fuND}%Qrj#sTzKPy<5?3S5oUY?nsE3mwaJY9OY+Zy+7W?47KUykT3uCP&%?7A~w*YH41X2(5^(_M4pxtpm{ww|W_nsp` z;$hZEC)!F_$9XsT+mDFyv*UvdBi{GMtPsP=QPS3P_mS<}SBr2(9WP+4iYAG$g0Izx z4$S|@-g`zh)i(X&AR;zEMMb)bh>C!SbV5)NRC<@LAiYTqgc22{NQsI9(n675BE1BN zN{P~uPAEcv&;o`K0wj>LQSYa$=YHSw;jFXHznr!B81}yQ%v@7{GZPwJUF+%LTldL! zXnc_k?=JbUn;IOWVU;`Wj~WA-laI`N10+ca z`hYqx50ZYR8XY5s>HOd~a<&`p7x_U+ZpIp!Y*(37!{!3xc0%U|J%<84 zG9qt)DB5`T(f4qrVQ+9xW~Xu>2k)@jqpkN`E!nag!c;3-;m!-rbsUi=-0C4u-}al# zw<9^di)Ej`X$iswsds_&3#}dBq;g)^diN(aHu!z1P%Nyxy@fw{f(xPp8FQIpN`v)% zyFu?ei>X%HC*yY`b9#9FRtbOb#IYCw<8}F}S3tLvz=l$jv{xJt@V>~A&G}69P-0(c zDsGj0bc_}rWIuVMeCI+OhOJGa=M+&76F~fUy1Ky`p@+*ra@XBtRWtjOD4@MC;tG@E zL)}T^L%?e*11-?k9qBxk?gI=s%&q7f4I55W^*r&g3L?GVQ76j~Zh2)HrYEefL2X(n zuB(sR?wH@MWJ1qaf|7t{D|~;m#fL52)Q8h<%jm6{l#muQLEr@kJ77H@%>o=}Wo7mC z^#wYgmEJN+m<0zn)MyA=Pv8AHAu>onnkjzSnmvS(dVPIDK%UZCasjg7i(sv10H4T&x5gD3Y=t$9% zn+*8GSSk{$H5~9^wO?#CZ^|iqT=|5Pr#ph(K)i!jIxbk!-8+S8N^>zzWn#d#?{s4z z{7G_`|AVJViLdN+d~fx&vy3P~?Y8HID_7R5tX_15e}p}5+mMuespYw>Gf`3j8zM!A zE9o}@_?dY{P)w-b`d^~iT#Vrj629q! z8*ViqoX1Dln#;I*if?dq-A-ZaxGV3td-P&&1aD`+{^Ehk&>{^Y@2D)Yy7)%J$Asez-L=X}7t!dU{kZB0WtTZdmO>g0XK_4tnSAMgG zK#J%bW=35)N2~S+J69vI%i^bwycG)gnAO;*L<;2tgdqm@QRUz+_CCh*x`7|HX+M7I zD7hN?5*L%xQcEayIm+$9_$@WLHeAMrkL%kC=xb22#!Bf@6`J}AmuMfSU_Vch!#&f} z5}Uu~M}!90dKIt`41XT@xpjt97PY6KbJ5j|9E4KFsM?q zn^RsaF&V=bQzR=5qC@0a@P*^RG=<|H5rbj6s8*ubT%uRc)3+A86A-ayB>nqhB-Aik zIv7}&TAXpSd}b_XS%GoMO4vGR=*fGL>O!5VEzErux z268|FjVy8w58mUd@9VE}xBkTNa{82c2j!0hOnlh6h&j&EjJza0g=Dc#3vv>gR{SvA zy>)!H-`u(irYdJe(Su-Ju+s&O?iwmO+*?kQ=e%)QLq}Db~1J$8)8f7j|nqB=DQ3P?OH~D1EVl?z=V0 zR2>bW|6Fu{SKW<)Ewz6GMRWsxiOI?2v>$*)`(bS(SFM0i?+lJ}cYjlNxrym=Ev;cS zg#~f@&e{Za#>W-EnUW@BIw|I5HbBqp-&}jCd#E<(ht5|g7CRzr@OhodY86PK>UNd& zu6*U{t-r>m|4ZQ8s(wQfjq;tox5Zk15(D^Vwn7{1v5QAMyF9w;O6*oCk)pZq+zSS3T2lU+{AA~9-b+?nHG+Ap}3CF$Zt#ya@Yvo zORH||g!1djQnk=%;)M%9CW`Adivr;F?xlW!td9xv2|?G1`Yo&n8ssytD=4shEF};u zsYPF(r!|i-_?fP-i*{ul1qz14Lfn&t%1McU!PlN+J$^RvZ)XEv5yfm%7N_omw^^Kc zIqQ5ZUJm~750#|ert%MX9y?ts@=|L!k6&`fs@|6AZkpQzoNQu=NYkV1eXMEE-o@_`%hvaH=()1mj8GadQ3V3HlEBR0y$qjHvlfsU8w17+eGX*-GLEBP6Z}sAoQ7A_ z5pUxgg-|;gCk;XFT;6tzIiK=ykSp6T^KQ~c$(uFLQpH>?r%#0 z7hJVUiAf*&7LkTPmQ8BLdYtjjrgGfr>l1Gb?ul-0(W|U4RL9-1?!l|jF$LJ&6$6MR zbZ$Y*RZtdZ0OE#=`6ESErOz+zoO-FdK+s9C*1cooBj?6_=rd%!(Uz8IX)E2t8?D=Tp zFX}E==d>zL?ZtqV2Ut4acqe;_*%Fd2Q>^-O?7XoDyFQ#g7p`+X-oj5;|A*k=SRmKr zueS?&NX35Md>`<4sg2D~h9;!mh(ZFI_t;Mr_|w+{=x5*#E&-SUV%Tfjf01%OcB;z7 zSx9c~+@--AOiHz8zuASKVlX$WRHU{oQKJ*_vM+^~-%sq0U7Y)BA7q?ExK)&6v3ruS z&Dhd%ym~SO1?00>d8C7IcH?!v(>Xv!mS_-Ej_=tVh%Pw-@!cLv4H1kKo@LB;V~($E0_ME5R!RTT>lIO2+0>`@NV! zbw3(P>ahp$`wq0+$6u0v(FpdG4&WDGejB5L{21e;-~!Io5yUe;;Y^Pc;UIUK1Zp^3-t8fIa4&O=CE zR)?&Sn!|NNqs#3|Wi;UD?)H6y*68R*z3LO@I+wur_N|{x?AGU`^oKG-uJdJ zOC3HqIJh#7s;;Yp0_<5l2;|}Pjf{lcN6Q`H|47BvcTafW`b@Cw&DD(rqhP;4KdQ=Q zN924^!l9QArqCwvAimW`kDl^zq&BNgr(crJWyeR%=mo9>B4l^o;|;0v{MMlB zp|PN#iHGGOS(*-$GkzN$+)_Yzgg|(VfTmh6LT^x4CGd}3F%#Ix8{nmCH;;NM(BH@s zi>9~r|Li|Mvwim>z}J(T5vQp#a%N*2&Z#?M->j3APya!k{EMAz6i8g0gE$q3E3o;? zDajt-i+h*CN$`wWrCm)+V#H*f5nkK^*h_ajLwou?@xiD|k{mm>R{MMf-OE2rU_MkS z3N;Xoz6l>I^34sX>U+mqoZH=YG%-XQ_L54eG2$U`ky9At+7I(lZ6@(UGa8Gx<#z2EUaDhhx46SRG@_( zFLUuvnJMP+WkhpQYR~$#Hqwm}EO#%~1c@0r6)W)Yd#>ON^pn^^Pui*SK+Dw{ew8(Y z=eF#Rce7%(Gp^( zPH8^Zp#aGYRG*%R zw8CEYS{P{<7&i)PcTl2n;=VVdVI8|0_^}%)lkLRu8z*=nK09kKx;Iu7tw-vwXOI-i z^39pRw}AP0%czr>iPkL>=f#{oX3rnq?W^%z3oefnU%BDbk~Z3`1yorQz3|Mj=H|ZU zj^i4Kpeh|GXvg&Gj(C`?ON;$pspr9jS?w8LsU`54p@n^Tp<~(&;3Icjiwe3!Le8 z#@CGlTl@_UZ_ULInov?3g5cW{Uq(UZ@!bNRt5Pzoy$H|FBR&>E_?dx7uonOS_SV5Y5Lq;Uf%RMwHd2RfM2)gE5? zspU^8gzz9lXm4osdet)-N8FmsEe9cuL0T_$bb&Y?{m~7<0{Cgh?5KqTcfq;h;Y{hd zx*a1D6bsk5sN-3Z91?CD>Lw$$b?#?IJ0b7@mA0QyQ&!B+m*A$U1f6EWqEo$k2DoX6h!#sR}2e6+F(0nHGfHPkEW(09znpO%shtq0u9pSTflFtXS1~U2G z45!hA@tXCeZwX*UNbofLbMu7l5Ap_c=}zUlV6r3FpnhR?91lQfcSWS6Yz^Tr@;=Fc zNb;?Wo|f%5=2;~Y79}WXiV3^)L?x4Lib?8DX{sr~pefm6Ft9`lVFT!c>hDdr^)*u4 zS$3a~`RN{t_27(rAGEAO7Jgzmo=hL?1FuHUyg<4Iiaz?YC+J@?!5o{%J81`&?iR16 z*z(=Ej%>xn;w0VY5C(3N59n`CpTVjtqv2ss1xB*#x)0pUaLOuV%*gmI^Vv48fv2MCJI?8&@+|knN1ongsA+6C}fV)r$1YQ6H!ERT` zBqVW6C%;?!|w||ss^8YR*1o2D4OUd&-#f}O*qdz(*~AVzYCdr`A6Ld zNvM2Dp++sv>fEKX%#DYHt1zGEC>4rvqY>X5pv4uAl0Ac0W^_UF2kN}k!cD(LMGbZm zY$m%mg)2u6{NiUPGAjG~hx}mC>?#9H78MhqR6&mwY47g1imnW6Jk@h+Fbw{=8XK!_fAoao17_sxeIdyQNP10XN7>ewNBSoGf zX1sy*A6tR+p0cN0!Dr>BKJ@KM^*P=sSE{lN^6rg4t>ub!be1abfjQL>+CJUu#bPcn z)Xp?dEZ0w^`+d`6VuCB>^luK-gY%T$Yd;0Es_>oe3HyT+{esRTsjhEv)T(b0BTHT} zZV|-ZKJ)ki95EPKNx8pOjN~UL?j&3Q?m1~8u*7>e?*I)zb`$~50f0IgDzO|G7yzsX zvY=qJ!l@5HY_Rhy`mfLH{dLh7HbQt1jiZf{y$)9%Rf08vcF_sRG{0T8l;hZv>sg^t z(|VR!=!NOcmD^ng&Ag>L4wNyLXctX6T;(m@Ylnk4s`}l`uU-1djEKOI)Cg-CjOG@7 z-X2L0s5d3g^)HrwGbNpgaw2}OFm4t2W7^nB>D7hv6OU4JwH#os`1W&M z9K6MexZHSoJUgv+HNBaN!f+nrLtsu=SU;`Xt95Xc{aSGb03QBXSiWllN&@>lq&qd$ z5d`2%kYFsyd{L!DO9#BOEP_OP^k`^|Ba)Y@M9+A-V7-&t*&RB&<>^T*7mMZI+8^*k zo&kJl@0nb431St5Rm)-+vn7lm2&PY}H~oM|`&GKwv+vK&zJW$00z2-x; zJ_%g?{d?#qOG``O>c{daNV|{K0H{9Pv^0SKG-0t?3gI7;p$RSxncA3^T4hb1;b zHS@4lK0)1nCc7Ix!Mqu_Ns`^@it!z$U1}uZtV1gc`8wc$?A&?&*bz6~teEQ;xpr+Z5Z>xhhl zTX&f!yM=FKig)RhbpTM^jqFV^&<<8QG`a`NIXuWx6*V(=d5-j*4F^8WzM5$0Op*~8 z-){D8G>gf954l&3Yg+-T1owd|!JAe0s-3%q@iq?n5{_ZMr&M*Eq+>`(m(^0I3j=O2 zNe5u&X%Etit-o-f;7p@01^Igj2dy9*Bb&5h1z-KLqd>8zy z4S_Zy(xkh#-Y1@S7hik^k-EMQEVxfuPZqj9pP>@Imt6yJW}@a*%RsPLRb_nCP{twW z24qcH;sF3Fjn^MXd;sldZ;q;7^RLxm^szjbZXvq7%hO<%G@&RFa2xvQuWd%?d;@FA zx+X=zi+LAQt8Ie(fH^7qb!mV|U4%oHOZ$O%bZE$dEaZ~$Z%+rnOrMCx{HSr{gd6RG zR$M#3`JDGHhmps$E<2z&)~7fZ{Z}m%K)OBf2@lArldlL6X>||=0RXM+Odu3`A`}jI z#ZD_TPp3ccVdS!_!2ohZ??XL%x~m7P|cB^FZXKvxVgefPm<@V@Xf8R{R&&Ly)NqbUGtsQ+1rj6jNY5)h#B}fomE-JbSE%ym ze>`=~RG;CJ%JR(9%+`NFATs}9{Qc23hr5jFM@!>aUUDa2d-Cxkn9=5Q4$H}_fADio zA_yVoC)b;``7b%Ueqs3XWp{rBb27i~$NzhP|4V`Ye^6j=ODZsgPw?M%liK`R4F12q z1Q%G-+Gag4p=xn(7pmVf&w zWTObW`AHa-Z$4J`aEcv{rodv+6#5Zyy1J%;rm3d2;!FRl$sx>bntV?2hPZ>ya|okJRB&3bI1SaeoLAJ6iVb#$yni)-^?<8YK2sfX;? zw_6#S;I3Ca(kb@{VU#K`VGSV;?;wi`jI(C*wzI0ysCu0pcGQKOtN zDPX+l5Yz;YRa5jd9NP|MiKThYXSfIyQUxUJ6SkMEARg8V&<)N$IcQUTy|u8i{O{9$ zl%7hpRy3%t$@V;kmJsB(>eU^ZrEsAbJXEUEC z)jQ6HwI3*-7*n(UtHR|fQAD&6&B%;I$O`{B+h;xe%DH^^W$tWyZ2&J z8dO_+r?0M&0T?Mr#7iZ*FjY)S%CUiB%`hMnc&5tgZe zX0|VZp~54YV@ZZX+mrBdnZN<#LdPPjN(r--9lWFHHdG^gYR?CY7| z>liy|*T;11*WOc8Mq{{4>;&@g6Kz(94eT4LFM5)KrpZ2+sFUS2Zd%Y%H_H?HE^Q-E;tz zV7-%lQ@>loM{u$TkMR;Vv-xHEQB*9K55FgH*ST7U}^TU}^-%#0uH$gkRyFrDN&&;b)cw9|<)s>J57*D?aR{;2D@cXfwLX7uoNQ z2Ai1C38tWuRPRf@o_=zQUwxsoqqUWTLYi>Jnp>=QeXXgkQpN+R6hd>&UQmXvoD~_`d+2Qeot!z`F(eDYCNy3P(rpwB9-=< zV|z%c{z15_|4yO$(zi7y9kOJNpA`WK#O00quw|tzGGj~GScCYdAJYH)x zxf{=prXV>}x3FJz~&w?&f{hze{lNK75;lOum& z=F~jT-0S~90t}wL5va|$_uefPmC(9#`4i_oq$12`=?)@;i+ZQ*Ck2*`4%-W-L&pZD zGMcqwy(DgThT`@WJRQh#Wkl0^o(}at=_tYuNlR##_2?hj+Hdd&$4By;u{@0oi0Gqqc$w^}syd6Yvj@n~d9{X9u^ zpvL~&3=2}R&sm_GO3`dn|MY9$cl4qJOwA?H$UWFE!6HUwvY?dRB(4iE_(^xkiFrru zJRNsnO{HOBS?Vo6;Yzghva(DSOtN{kJF!V%7mQDX7{kL?=nsg2K!e;HNDPNLJAoJ4*KhEk>bGI79_njyl_Id+}oP^ zMVv7strsGSx)4(BWp)6pedzh6v1&<%n5)%VHP>KoI{73J&asTD@I7NcCf$Iqs}w-@ zk8_srj;yS!CJ&eGXgEjACY#cg6g*>r3~9I57(O{*Tuc*Kbq!|%>xMFX_^W>9fIM2> z=G0J~_s*ZT`3%W6;-UW!N}WCO1?cbK2VE)r@*b&8SX)(4pi^V}v=wHD(7Pjcu+8A| zIpLkP=ZG|)wL`Fa+V>0<7FeZyrIgJr0RO9aNPh==UITLr7-}XjOYGx|ihB=QMJ=7c zH%JAcHFj9NtMm0pZ>pf{3WC?tp^CJRZfSV&yjs9K4k+-0JiIm>aNnGa2eozS(gCM^ z%U)4Ks#OGy3(wsgu#M+{+&x`r$p(%OstMW;ny<4=E#{D*<39_+c%k#~oh7<@bpC1Y zaNk2?Su!1k@wk047k?8l9H=khb-2}Mj>y@#4+JqqoY~81$hksq+D``v*Q zdCn0+CUNM{T6AD*P4=DI_2j|ii|8Akm<=~)d3BBiC#|;$gR81-PKVcw!7+v)=xlg{ z3yb)8W^232=wdG=TA9AsD@Z5(nCkNI=$^fj4y;|ZbHwTO7Y|R$d)_qj%{RK72kmg4 z&RHC~C~&twB{kMcPWbJ0+40a4tlXoS*Br$H8MKh0tX$Sz_p$+q7$RhoC6zlwaov1r zyV`sXZ5HSU&oahgf8vzF`8(WZncn}gK@T~UXj1{LQ~r~N;s%J6=i31ouusg-)H>oO zq-6Wyf+z+O>|b9pS3?8lN%j!yd@+!9g~on4v$}{{BNFRbn_n0I;{x-ReFwQ@k(iA- zk$Wr6A14cMF9?w=NhK%0HevM~c%wY>SH->CipxIjU2<%mlw&|hFJ!|UXcyhn?fM|; z8yCbXlQuhB!)z7&T$hHbF_w@qpB-P=_G~wuG9A?gTgc`VtN*dw7|g%8rAr}ogB&{M zU(3)*tGS55>6CI9H43q_+6~)4PlNeu&}$9MtNjA`aU5@jZx&3K>K0-UM+;1k&CTB6 z0XmP+!ED+cTRxv$v7cuGo}&57F;-Q#^#Nx|$^N-~MtSFY>ON6W zJp967x%?3l%R66Ab`UVE*%w^#a`I~Zd0xlYDV z<%gdSfmm70E0`OV=paR5$ZXz=WU7*_xCPj0p{Ag&CBG2m+D&2>Oml2>x#Y4l!;=ep z*)>y(0bIokthLolYI6q6oIk*~TH;xkgNtubF|a zNcWaOw_x1BXpSWZvQ=PR?x&d}!S(|hXfp||X0zB-w%OirLD*wba=w}N=L>xCL1v~e zO5{#LEl`Wt6Huk?s>`LM=!2JiE z>24mD%H%p>-|oDwP{o}MdI4h?-d%~jU*d~YlQFOz_v9~nUmd`Kx`*x;t2D}$)6Yq@ zTzx@Z=y7E2n;Ue1DPo$JQqO#_v{jpg1fDia#L326#b8d(Wj!cGR`n>i8a zwUe{xgWgp zO~^V&a$PfCMU|OPp9}eUztcI2)P^BCX$qw=EEu32~;V)0D zXnEHdfV%onBjo3h4S8b{-Ls9K&zN3Or^^rRM!^SgY4;ROVIh_~ zJO@pFyFXRQKcDLC+VDoOztlT*F#Mvt+G7*ub^&l&&D%zwADd~PF$t!{pW4_klvU$U z=I(aUZPkwQq(BBen>|kut0mrpZz|DPj}W$^_!OuIq3{7E8XreHSBX?rvj4;GEnr(J z&0+r_f&jiX`K<0fv=f|)=~ zf;av~`C{o*o)L$8$wW`BMtDwc8V!foolg*^(LNZ2jAz=B<~p^VCTJhxMYXrI3QvQ# zr|8u6h}@OJWqF^k9FVaPtdxoM_|{}9|H=@xLsADt6o4%aG`LKrSz4#9(P {IWk& z6VqJ<2AVb_vZ0!lE|F?I6QaPlP3YK90-`vnoN%?9WfTY@BF%LIx{TYmQdDb#y3TF6 zM7TNF!TcU19q{RP8#H}4s99k5?LvW8ht2e58_y8;;`e=+m2cUaTEeJBPas5#j1wm> zJv6~LgFCPLewz`@&pz0O^|Z69ej=iCLzTHgVh_dz`*T3_q^b}~%KiHb{} zOM^fST1ugELf!zC}4V_SH!`MeF?+I3dE7#)^`khtI8kPJzRz!F3JT8 zHOK#0Nk0zv`M*S8+|7N%og z_#7t{&G9S0-HY+R`t^~@e}xB5eqZk9?v`K_&53!1m}G<=T^hi^hy2Qtv{->o|1gD1 z#tRr0&TV>TnOfA|r8CF>fY^Tkh6hi0-T!{H5Mw*I3L50g=aGc^v>S`kSK%R>Xz&(M z97Zlg(5Dl?y9?d0bu@jFzB@ywl93@J^&^*y&C*8K-^L}~kjpRy5LS)zv?E<$YGWG= zvfxAYwoSXgHAS^9v8Y?mVlKDWobx{9?rLW!iOjNsI~5V`B&8Z8A;FGA?OJ1Yi92Y5HAUCs}yi#B~QHV92# z+v4tUHtmYtEuzU9@8=F-F+yYeVz9XmFilMLY}BG>%kH3M^eu=U&^5O;}z1jQC-L)L#8-j*qX(!IT$wi{8V(AuxAi> zbxanDPO^#rvgwm(QxVoJ{vGDeN8fm`Sg%HXoUt11LAD(GBk!JoULxw{6&7-cXQ&GV zufNd{+gi|pZNp&eO#*b9!+H9oP6#baU}qjir@&wv<%m?kwa!KKmN}JQbV!-V)W}6C zKsJY9*1V(<;UgxZmSxUcZ=4L$5K<%~xtlI^FU&#i!yi@B;F~+{;cBq#1G8810PSL= z#k16wDTgTglR)ml+rmUNGRH;+J1YyTjVnpV{oeby5393a-e^WYxtbH6UO% zWgS^U2M5CV1#Z7z-Jw%(M5=8g-cz8f(=#l1^3bt6!>5j^V?2{R`Fy*+M*nzL^YGZ2 zF2vrx}%%zV|)X13eGh{f)7si3Nqa9cr!0? zP3mU;7257)%GptHCog&-WiX12P^r`ySA=R;Vxlxu?;v z{bk8HVm_GMuiTsEZ#QANIH1MT)xo}YI#MobqSrngBY$b*7s;$c1bW31o?iuPfj=L1EPVb9U_J6F%c=h;l56Q=i zN<*(NOq3W{ge$?4%g5E1^X{ZUvrd56_~@Y)=_Iru$GdsrYr8eMC-+q03=bqSF+B?a zd07#1S*WT4;nI864UpeN4UOUFV+-%JFUJzRQrmrJzP^_8o*VPSx&a*pyQ}owRkaxI zN_{E!u}yJUEu|NxxZdJ`SRUEJt?-#E?QAx|=&NmIWo2F_w@qs;rMahivjR^{Ia13} zAbd5m$m8`(Ggp)Fx_y{MsYcg1MkIxm7i4eeW^LE^tOMJ4cul|beXVUSv_8;IDn-A3 zF>ma`M`eUVF^~0i9dr!*u-sIk(R!jEA&of8`lii(dpMXYN1E3K?PRqOEJ+xO9BdtK z4O@ro+i&xiloC+WzShkwSAq?H@(iWri*13=c-MslTL_%uwK|75+$jD^wrzG7Z&fV* z>eBYrK=yPo&)-z_R@iFlpTu0|G$oLK2Ej_R7UR_41}e9LHq*LeVmoS0Ocj1)Yk4vL z8%2w`mAo$^KUjpQ@t27yG+!BSoe)Z9d;b(vthIhAR~YIk|E@M_RGOKYc`}$X4oK}V zfbF}el|);CpaC4{NSsb|4SfQo$e(AGT~ftQf>7$ zHg-;5z^P_zqmG$w!%6LdF5`Dt5e@|Igp3D24y&(U3UxqNr}XOf*aTt<`GUmMq zQRTZ%@i}m|;~C$V+u%tg^}Ld9fI4$#*UG#0E3virW>mONUC{BZr7tWF7irplx0)^y zESxd>92{DmbZ^~sgJ0Ql+JE2u^TQd!*yJsILcM3FY=_3A~wvV5b3`-z5BuKSki za0XrL#6P!dN+djYp)rEpPzktV<`yrqy-Jg#56joAjTferjOo1-_e6iZQ{wZkuB;!0 z8pu>d*sU`53;oe#1%f02-IDTA+nGh>K0XmbiXY1B?m%NVY^9R??UYVyq!CePw@{ju zQ6g;qIKx%7^)vF8&hw@ev6>6uivwC7bMw+aP0AKtaSivSXR5oEWvK-ghz{{%34Y-! z6EpgX6Tpn9XD>+Bcc3AkX|)dB_K`27lZ(gl>vfF=inb4<0V*lm{w3nw4z7d2#|83& z)S1zqe5O<1cMLStnCpygmy8Wru=L;g@fB>zoG@#X;qzjw@wCvtNx8vtAjx=kBZj?0 z?mTDzkFO}ol_3j42(DRc;6!U&ax1&uMb(LGuQM1omDdk4oE8M;Ba2D(5B$uo9c2;X zpEqW{^qViby;?q`m?k}oE{Hkng1O5HLPGZO+mRD(AxwF;ygCdTXU;&s#nIDM!=(Db zO0SY#^ue1L2C3j8t3&LaBicU?ZmRv0(l@dn^_`Ram|GdiUzw*OgURc!*o9C27Rb?k!4;epJ3m28R& zbzU8_dG%c8w_g`tZSmc>JCwGV4A4?%#FoJq{+pJom`L=HaD>u5PSD|nWKIwTb2C`J zkjH0*j0qPGsW(k!JoHI8697-0>9w8bR`k8c$s2ZG)JparYVQ8j>#NTB8G(^?6XF#6 zQ4K}wJWw7h@E<+DDb^bH6Nypk3BD}wUTFJr;L-GzJ%#(wb)NAc)82FM?^lEOp=+kQ z_z+fU;t5G@V@i|q1_-{e`fy6j zWz!hquPLrG^h^EqyoV3m5s(i_azwowLfki^eyQVmIiudr21N#necG5tzn1eJ)w#WO z92mY_eS6NL3V&d{n)KQr)1xeb;mZqvHj%nv{7>X>|K`n&mRLi(727DzTZhlKwBHuI zI2Zfu*Haxue|>2PV8OLBj!rFi1XniPHTTz8zqhWnaYDJ~m&tDHVbab0qv(1&Kc$@j z%J9L*6>=rdUU?z=yj+rUd(=XxSHNrErxSYu^IR7A7QVf20ch?6NCRNPb*-Db7LG>T z%Q-srwN{6RV#{>3nYjPs^UEsi%9dw;3%HsLQ{X+|yyV-BJlxh~eV-f4-!E zIq-EfpyzIsddo9q>RTS2B5@@ndDD#7Njn>s#91s)?HjrZWj4f-ERd$K^73Vd=Cf>T$_=f5_vzKcBL)l+H+g5CLSxPy{d9FtJg%)jiTERy(e9J!gUAmv;G2mH-F)cLnsn_a_HVfs73e9l=bGJ<=P$><6SKJu)5-$6(%6Y3w_D|f?M)7hl)BYaFrbY+Z(p$O8H9LvW_J?i67$opZ}bpH_IV54`&!z zxxzC0u7Y)peT;Bs&kQ6D%cU~vMgHvtJFsy>dHvG7zKWFQ+tN&bGebk4?ezsohpv;H zoKZsBxqVZQ{lj8^sWYwrmO0#Kq5ab;qUt^(;^Le~2!7NTM>u1F#B9mlT)S+IgnrJ; zSOs1-!qeocwllz8==rVi|0|I&`-o>dSjocOU6||Kd_X&wG-M3}c}}aEnT>vn6K?5V zUtdp2NeN|P*G^LmATJJ#+Dj*Qx>vivTXc%~Vm8F49YptT;>G`3Hvs}V@C>wtHLCT# zDRs%vOP$~zd&|no%HDns7!IJFBKtZmErhm7^af^W%KJKhdm~gm0d)xq3PM^n@CPoJ z01(OQ7TDdscQl?pXDsZc z^zHV{V4~P`!whQQNA5kP=_|3$kofE`t#))d|MYVHR{DjI_O;g-H@>K-sO}UwZ=iXz zqM{-?`Y7?Nh{)1dtvAqu1KXSm2eSHd4?aEN@u>Iw`s!R{WaQ2^Ir+NX%VDdXI8QlV zwqmK6`@yl2S%O};p^dBIy<3Pn= zI?sLdkvgF&)@(k{@}ZQVprEj@1JDN44Wd}s*i1iRWC~;BlXvV%=P?X50tIf=Z_Onq zh?*Pg>!0U7uC=i54qs`^MxQwlv0zQ)xueA>CH6>pelyd05q0;|b?f7H!PZyN4sk(? z1{<&6OnJyAHRNqf-F6t`sd}Ma^369*dIW@8ENK;&bKk0&L3JDhmlUe|#qVxOIp8j2 zcZS)fHsIfdSg9nNz-i09-j%{KLAojDhoA*+I63^`_~MH3wWPjsty0LvT{SU>Qy_)n z`p-0*EkkjS9qzzY;@Ws}!yF!Rj#rEzbR8gtE|$jvq*AzfYWJJav!lC+Ac z6XKjP5jl^t?5};yU76R*5&{T$Da5MQYqmL(WAv0U9JnZewC&OYi0d&j6FnDY+0I;3 zrtNi2C_qm(+m>!@FCkZZvoI>`p!Ftpup>;-4`o?#c{2aa{gsd(aYnsaMZ{RA{Bvk( zHm%!4KB-``DVkhgS{5XItjElaGKI@@7{0{r8BGJg+pPN) zb47ic_uMSghvfCZ!bC}9r)s|_&TZ@wjJ~>X)iTzxM%CbA4*bAIzXG&Bq!&mn?mvcx!9<_b?`|)( zbOSR!*txEM@R)1_t_9G|L<7eCR>qI_2~_4v9X42(&3AQE+s$Yjt*m}DrYPlhLTaK) z(cGO^QE0kuL1>Fptj&5ov34Y9Ha0kcb00z$Cm7e*1~En6DzlUY}X%gow*_o1N01 zs>xp*<>X_BT@DP{`d*2k#2-aiRauNTi{`Z^pz)iewrK$!%eYb(?Fl&8IP3+^&E;02 zbz+?9jV?(M@+pwLdqos$QirIV{+8N8@^YKFqs<7#>*?FZnb{dh=H{8;G9Vy`+H?PV!U6aH)-UP(G_MyzwKlb;r-+**{tx!f1E>jf?f1AA zR74a76a-YHHw7tDRho$OCS3(YdT*hLiiik7s&u7yq=XVkP*Le1HPV8VKxm-_0tCo? z1G;BD-*?V_x6Isc?%bK(nZ?NpyydCC=l?c<{A9_aLO|wNiTu;uY*L&5ySCta9>>|c zdU_sfa|ZU|=8B5Xy&~e{?*OoI~!9E z=ItwoIbuh=#>1ZK7*cSv9Al9Zzi{D(ls^!mbai$8V)TOGB7P1h=B`cpjQ@06T1{Y3 zfT7AndO0(aCj_=1#kgM9I#~MAqrN33U~oJ+@S(IR&$(-w27{yNGpEi8(s8Kj#fl|q zLaqyF=_*1^yN?Q5EmXK`jN~-=D7a|OTgD6(aKwo@=EzhE=1;VjG%rss(CMZIc(2Yv zdz{>A{hY(}y{X~OtS)OY);^vc9Bcu!@xiyB*NsMpEI+bxtt(@Jg}e%P?j0N4YU+;B z4;$i4EQ;8GE%*Dk#P0y^-r@A~4t{fEHNr6ONtza5)WxE*+)4tON8(+1+%H(28CF$-C|@EQOj9g?^z zbKn|}2g_~ohoq`yYsbmhl*@{Sxp$^(h`T)5jGHESJl=QumA1B=<}jMSKSmo2n}4^$ zzbR906OWo(K|H`FSs0zd1cf(EyM%lSzk~?&A|>kL?-fl%`YO6y z;rAia*V$FwF7=Kb&AB0lGrHe($#MZ+%ojoR z^X0MMh+B4nj@&~p2i;!IqtOnO*sB5s2|Z)8_m8x?qJQMDEZNrHJPSz?5>>0sG#Yvz z(3CBcJXkZ=FFV|mZe(0TF2AoLcGQ(w=cGAN`xbW(^=@TH{8zmJhb_s;;Sv^J!FHx| z>R4M_Pj#d+(4f7ik}t?T$ItYt)IesUxwVCagg`mC7p!l@o5h*@;^R!Bd{?eGgJE|ZUNdpuH8<=xus5M`Qk&TH8jty|oisbqL@&>!>v7_6 z14e066Dj@emSZwswbL4`+nHpzHfBDHtXjXtI=A^W=RIEu^}9o?(eZ^6EIxud{GG#~8Qx`jC2k48~nL^|}Yeyd^?`X+Ktx+0){Z4&LvKT3T+#5T^?N{N4Gmg$AUuhR+&>e{zOnT7WIfVf*hL1DJ9P!gQ5{xYlX?rso{ zL?tI9TrkbD+tcb~j}Oc(%sLb-U3*iLH@Mh*5!wsmi=O0B46H}t)3ckiZeyV&yZMCIyj#KEOij0O1je7 zHzIG0XqW32_RB+EI8sxaTuW(s1>Q1VhV(pXJrvbk(RdK%nmeJEsT#0h)_HlgG=~M1 z5~F=Hcw_Si{)xj7R7D{`x3Zu&u`lB}*7;^XYB^WOzAxP)%s8FUbKupL-LmkjU1#q$ z(xUV*#J`zke~!;?fr|+e;}Y&CGLJ(J4{N5?VV8RHID3amrua|wWm<5XDI`gj<9cg| zxy6iECn-NEeW3iAU1HsG?`w$o=DK9d-AB`Gq_kM>7Qb*kswPud~W zMMXv$R@iNHsR)L|o}#548yf?Imls$b@jnWCk-8U&O=l&deHIY4wNgv*;>l{k^%u&N zX!I1J{p^)_!pDh4N47h<0`Oes*Xo=HmV;)nZ*(KM84iTAP^IcRG8xn~yS^+C1RMQyNyn|&Mf?Mjqe*Z55om9Y-RGYme74Y(&YR7iW<=pr|xK$W z9K)kN^Y*MO`(t2!4fc6!tclkoIgabbdRE!uZd4z>PWNkxrP%7<^4wqc-nalaHtN1D zt-sgy8SWe>KT$SdTZ~xx$|U@-6`Rfo%wjBqP5HG@a)b=tp_)qZ0Z}WYTUCr%-04TM zC;FtV4<73bIvF7*KFdvWx4=<*@Z4(Aecx;P_a5Zcff(?YhmIv<78MTj6CI z-9G4`3ah{FcH$kE<0@<3%suyd&q;5_pFG0_@oh=(s9B4ZBF1XBF(*Go9g<~Iw{<1E zprUN58H?hFF$HFsm!8-JNVRy+K7W!YbD+QKl4n`zS4kE_?TPk3h^+NLg%)g6O#?q4w(5Lw{8ZL)R;m5DMY<~!Gfn;OB!) z+PtcPufoO4TiT4L^ZITv__e>hZxYRbuK8Xr`1*0q4RRny_Icz@x-D%RmHO6ZBm8Cu z>{kTG%fn+>AJuiAE0?q!5m`B%u)?zaFuHoeHFU&g@-`8xlx zjs51EZSLtO67w(9sW~JhUkNzMl-c#avzS7^1AI{Q$_&u?UdK|`E56j69SUB`?62Zibkjgw|+>m`Dp6wyaa4kejDV@ z?b|lMz?1VH;6Xt#0z@N7KjLwqvGMKg4II9+5IliEwqWxWgP$L+Om&QuS*bsGkmhwC zWJAEc>UB(a+Gd%4MbxvI;qxwz2v>zScPdD?5b@*IB%^E9Go#W=sc@aU4%u{YBWk!eBi z&ru<};scWStwmPpNj_43DbG^ws!L!yNv6-F_WkgFm0OehcAE-s*gMCuG3?C*;st%u zS<(In5qCCG?=n=VZ3{+KTrpPJ;Ck4ux1Jpq-Mbr}c=3Rpt+T*K#0y)szPSSW*3%h4 zBo91Cv!C*KPnPUa+%cD17&?RT@$tH?~#WLNRuoX&>I?yRp3I)ZCN zWZhW|24QzPSn)A_zzuwEfzf|%p*(ixTfTlVC9AI!h=suBwY9g)IFEe>TMI%?`QlFu z(s1n(6;xzh?yIV-Souoc=NF(P0g{o?;ak00uuisZ}sZ!sWzr)rz=)9s@25to>EqxscVxN zvD}2m=WLCdq|a-L?KUUN?gcwdkG_Trj_r>T;5l(yUuW=xB+o7H7EE-DanVIoOn=dS z8=i>Gg8Uz)#(e9wLuskBez6Ejjkw+X#sj-CDhnBswvQ;Cnbh}eIVe$+g)WeX%4N?- zQc>L6jU`pmltf%EXIC(b2qia?ZvebUqX$7HKy8+gZWzs3Z#;%Ei4_5DDMMV&!HAp0wfQd{&z?QI!Q<(X<1CmY;XcC& zrglNni8A$>2MOucI4cR5FxI7&bf^qudlhBozkz8>6eAHwNH|n+sz-N&DFQO=yV3^y zmK3NedU$w%!XlV{`7#d5eIeQ4>Xn{{=rkR(cJmH~KB==#a|BK@JrfbF8-7Wa@G|Z~ zs@2U&;ieWIq*9`-c#AFL1ADuQTz%@oV^pigs6BL{>6*!Ucx3V1b@GPMDX*7b{wOO*EG1_3ytn=I%==wpahXvG3n=MjE}n zrdfSG7<+ON{7b>7Hwkg* zX>h%!o?Zo*;y6e}FSXjEO&0S2j|pWr<28x>H`rrs#cX>@72~D#UP7VjckY}XB!@~M zBB&hpFe1yVRyxZ1Z+T^RUvr=70lTDCgwPVRqNg$g#{(u z*49?wnKHAoKx%xKRvKQMnalActG0%OU2<94Z`0~MMUWZca%|_bv_}QdH6MJEs{9Pp zKiYadt5=9W;zkParD$iZW_2~d*07|1*0eVA}<(5ZN+l3v$ zsd6JpgWNY|re4P$Ze=f|^MPWoUHbikF|sU%Y?E~9=#o55B-w%DJY0)M?3>a-Xw8t= zMZpn_IZM}TU6;ZiY7932>>5NAp-{hzsk6Wt?3^I?!Df8$X9CMuP}!$jpkFav?4h|< z!=!^*i()4DIM2sLlXnyqzXEp>85ISdhk}4NKk^?+^9ay|C*^GQR$EmEae#)v)D~=` zk#AKrX@z0eBw;gCDBJEbx`G31>)$NaRm73!S?cz7Ih@6nTDt|F=eH>RTC>RA zkrf>DMr`LbmsI0>cQrc4*K}{6p1(q+NA(Kfe{iN4;3Mvze|g=SitX&5%WUkHDUIXF zuf^X->r@8{@Z8$akfA$@jvUmabq82&@Mo)+HYME0{@)kSprZMJx0fjcGvZQHa9k-t1H$ZEa4tGl^L z`9hMCKA_eQY`-=52e?ZZg;wHDjx{L1toP^Z3)*j{A7kOA25YXKDpNV+(t@Av9syne zTndn;m4dwOfyz=OaNj;(UeZ~$CtdSdE1;KnXkqap8|^%chqRS zGeWPwemaG_ASuslR*{ue4Z{-S$IozJu*xik!5G%j6svNK>LTQhAoH6HDmSVq4({P^ z+ega{pa{K_(rIeHK%x8Fm5YJ-hJYW_-#oO@>i)%D3o)JmmfT1%^=LIzAEvF#(*1^K z4N|yjR7#+jp(UpcACF7RlF3FHa^3|ztoglWeG-f1Tx4Eg{GgSI4Og@4*f?x#8CuDZ z((XpAyi;b=IS#D0VC;)*@HP+@jqvG6ktX7&qaq@lK)%)nz5pj0M4sJ6?;&HK zL&#-=Ypxt3BJPPc;7=uW#!507jC&h5UQmA>j16XVI|xV}tGJ;&Q&$+OdB*!)ZDTfy z4^9EPvH7-WS03A_bAq-El7)!<&4^=6uRPFYxsZf6x-QugR+^Q@iqFUARmvu4bC-*v zdg07>#s^V@9IRCwsb0<8zG~ao6Iun^qeEZiyW?}(*xhB`_m@q%Jh5K&k)CWzEwnqk z`RdLG&R?eG+$TQvl8mRbHkd+`9aHoy>vLMVXh-tlev^6N*}-3Hy`=;tj-1IWfLo^( z7jr&y@3_R%2?GBKSBjXQpaq#IO9ObGqNlyC`hyq;pP$DXq68hlE7c4ONC>i!Uq=QV zA>cf5-`+i)TGjueO?V1|N${{5bc-tXy}fJ zJRS+Ld5hJoEnR03X$5|<;dK4u<=A%A1C^=$Bd3$J(D(GDxkvCOUALL*788?rlhJ)-(bJ-=Ju;!khDFT^wz zt4_|ywzh_OEb-ck!)(OLJO`t_dPhcRPYC^5YdbvJj(pC^oTRrjRrV~ZVO8_vDBW`I z58@vo>Bh~nhjd}c>lX4M634=Ihu>R&h*MBBWNgY&NYYy0&nxc&y5xt=I35duSsmYR_9#i2d z`uD@2P*!oLx5UkSkWJyhYXsnIlZ!cyAQA`J7&yuvBYjJA{bgs*o&~MF{-Q2S_}CH< zPSn=Yk{9C(XBmzxAYNj6J5gN8sBPGZmWp0PTwnJ8bK(ojnptACua9w$)gXRf(exayK^_P0(~T>5!>4h{~R6=qNmbEw;1gUW1TK}!Mz-Ky&9 z>MAP0V(^?32O_lB`mL~B^bVkv1pZeBLDN@{v6|Hvv28QG8lWUgbu+9p-N_y$R>5TI z&U2&>yFB|V3}PI6&_9606oOGX4qo!5^wmZ89mF9Z@1Jwmd321 zXXx}4M0`YktikNJW?rYNq{L$$8TH#eWk_~*{Qh-2M>X!M65y-OO3@h4PE}>hhxaLW z)>pR3bX@u?sG1q9H1og8b^0H8!6L}&yP{T-XHv&dx3`~pyZtp5kW4D18Ub>cQpZWq3FctU+G>Mdb#? ztL);wEptTtT6_IhVG@UUU%ru(YR6f#L=@Kb##PAUN6&;wE4}K@FU=SWg2Y zD&X8fP}SPrP7n2*ABagxDrk4qshW~}i6MJ?@E3p={a(I|Cg~Qeg^vw~{1tO8HkQaF z1IQbpN9DI6rbV4q;1=l?FV}m2h?(is`45-n9^UJk6|qOwLqinnIo0DH+|C`^&TL4S z8QzZWj|k}~G;e16LG=^Ra)bALi{6WK4!vMO=z19ktbPij0zo&qUsU$6O(MUXs_5v0 z`yfOor&!=|1b*WxCs02CsSk+RM}WD3@fO%P1Ckf+z4CA=EsS*F&X_||C5Wb|6 z#( zQ!IYmf`XoA0V3?|nAb`y`JvunTTp#{1@8ft+ri zH%M@6_<>CB<(K3f+NsPX)hPYOp6=L2%ZMKCZPK6ikuSS{hIHRujFf+8u{V%U%-)%k-O-)@L| z2)ww6Z?rZ`&_A)YD%D1WFkg#UZ1&uh$M6O+by@O`^8B&gIOF6QY2>Q=J4w%Th*Eh0 zk(g>fVVm~6M`13S&nycwK|K2?_hrlJ508@(Ia11#$(PF_QWGH7|(g+P5?SXekUU}pmi z#)9wZ(Hza~2pq#+1n+0xoW9NtN(Yvpd;?Y#F#joYTraW*)Wa$w!1uVicLGK)7$?cd z5fHu^G1zx=ypP}iAfqyi0DMLLjK{KWU0a%EcC@NwjLK{|`IKkLrSnBdb^5(s<_l)5 zp>n`oJz34lz#zW#bqg>QTOan*ykeGID+E*#s8GmmE!G1o3En}L<71EoNk*YU41jGq z8Bcz8A?)9U#qP)gm^@qKxl_L&bOxCWO``RSLL4|Du*=j60j8Gw=Pe;KwKo)?Ddmqf zvW*dx8FzX8ao~M55K4f!&Y!eRsI(u9O-k|w2~Ss-);ui5IsGla&cG_Uak|HfaeuyG zC+Ss(lia+;)ydm0OL2cU=XwEX+~J?NIhn?_5r_12(#nSs4@Kw~o05NgP~uu_5v((= z@lYM?VwSK`7lCJ|`~%nvk^z0)BHEQGiu_%2coQt3($57XgL}_urER?5F|z4t7rBg3 z2nhkEFUuS%B#y}>v7=4!H`We4rrW)@w%C1_ z$U6Rr*;}ZlA##@`f4AH}hH?+_JiWl{L-9dk_a~ABOxKH_ z{&g5IT_GT9kT4G$VnQAIJ5)>?(8af4^RfzwX_lQxFNP)4Ws`k(!^lA@{0zX3e%AY6 zIRJ{_Gqxn0Txj_BtQ$Mfm)pGfZ*jQ)Gau=Ff@l=%H=%fOe;1#o{ZF}Fuo?oRq2D8i z0ewsVuUXE&gG~QFU;L9Y{s&)du7}WKCEDHjf114B!+dwPR(c_t|A$cZT^tl~>+gBl zXmF!vLjNsN`~TiYKs|oKQS9R1Bem2#kOGZr*24ql?v^HGSMfL0unrzuSmde{NOrY< zj$4#v`!`9$bIx1J_ooE5GxPISY@6vXJGSz4COpzE=Nn*HxQJFk@>1lJM{P72J-Mp|~3iZ0Zr$U>1r~ zyWKl5v;a;57;nr83UwHuwaNq$guOR~q2$*dcl`Rci_g!#PsYe_FPV>b~Rs+V9D6p|UN}RF5TScg-qr zae_(fMP8(2xZqN~!Pu|@tA!)Q-9YkhUG|)XqWkyX8mk;i+tSj4agB++@%+q{O>U@_~<&<5vbbNHdbt3jgi$O(Wrv~aR z*NFYYh3&lZ7{-e;dA+r@r>n!V-!gXiti&Tnd z%;d6J78tv6C!Zre`uNUqPokhNay)IFJ2kNlFSBr~ZF4*^+lV81N47pJ&a3*7{8h_~ z`+W=(v6`VwA{Y!tEjv=uw0e2AuTA#c4twVNoa=*koW##P*neYC%O~W#J`-&gb}43z zE?8hbuYk33vhK2xYNC9Yph+Z$*zpuvXKHWdLl4uo6rgp!+Ig7p5LQ!FHSL=P$of4`d7Al27z8|2&d+o45p`cE%k z-X(T#vVIDp+{q#$(F3&Guch~&Fx?F)Wk5i6k{nQxN7$fz+!6aeV3(2IDgnx}yt|wz zc~y%wH_vrCg=F2i!%9784N52~$1J^aO8f0FGrkS{MxtR5oAnj-?d=jJR``7_~Wgbw?fpv%NUtUX5`^WT*M`#f{qA1F>UkGfX0; zr?-MVt_I{J7#}w=@;g4(Sv%M>n=5MM)|>9rABxtbe+hLkhf#$+3@E*&dZ!_lZ^f9! zc>Ku*Sht#$U{%jXdGGSF_z?prLvP3{cqQ^Gz#Vrb1N0vyvl@x&rzZa4{%Nn1;e423 zp-zdQ>USv`8#BlH`10L|hHtlKxUu7SfT-)f2-(0`^nU=bF zckUk$Z36m1hDAq3uDeMjk2xzle-|6ZehF321RJ#v)@Jo2u5vOEF zs=b!dKq#M6tSf%*I3egRwYp!q0OWMht8W~9n+WE66uOl>a}u(ohGYD^9JL~%j3>s=P@26)d=qr-vnOfWkXMtHip&n_Xz@g7O-#aRuO!PX+vuL>oC>R;n3?yGY4BSgvCIg ziebXEEJTO6u&RRE(HSBpmgHu{6Q1e371-I@NW#E`qHKSCle)M3^(3SDeomV=J2RvApD?=wi zi1T%hgGC0Rv30X3+0md3tA^V3t;d0Wkky%li0_5A#>9$w!*aV`i*G-6z%c>koZ@Z+ z_X~P8!#FpI7G0aU98S@0e=?lf{Gs5Zo!Ps4PJbM5ukJvm739$i=)LyK@z~e{5)t>y9>kIsCfT zlGVQ;E2%h<-C(NqpQdCjEt8G6^ou`tn#e;RpZ)2@$-RxNpS@AgIx3YFp*$V^N`p^g zaRt}eA+t889gvD&4t;uP)xNvJyKJ(KY5P;RQH2BJ8lkS;?6MUxoFBDaapS?lx{ROC zOW2ZhjmPu=(mjzrxyG%QfR+WY*@I5WLidjk%d8n5xSyhuX3a5D22iB+hFHGvai8Ma zOL1qWWFgTdNh_nO05Xa624G}7Db)CcIHXoe3t?|Deh~E}R0Xl}$;O{qQo*`nm8d`Q zq@Z9v->%vHK|`Fc*1Re7nyXcQl(^Mob|bqYV;u331=8An1Ihx^f&IcG8~YwKRzY3l z+A{*r{~9NDTH29x|BodP1A|1)W13oD>-@P=_y3uhf;!*j97g0-ed3v^?TCeH<6S0i zhFKc^RMs94LGRaAbOZdb>ZeE>t#3NnPSK7@xY-P*Sw`t|sD4M9t2DIFCx|$fd$-V} zr}&ReXQ%o)HeJ+oZ1pWPA;#Jd!XAyhb2qL8y=a(qFWg`Rc|={7IPsj?Y!ZX19wbzq z%J9`U!Euq{!(Cf+M+5ve^ zzFk=8SRO4$Y8-1?3rwW2$2De;#@EN^d=6;#Rm$$3cJf{Btf4`B4pv=B-k#|x5x-k{Sp;6-4z>cVl>Gcldsa1Xlh2(YEES+8l@F>J>!P>W_o>j zr&7aXTc7obvL`=8^p=a%mS6bL)k~nvw)5}+sO7d~dE+-43OCqBG|cNd+nMwZ?y`(_ zO`OZsDGP4}R#4Ro;yvv;y7eKMt~3@c)K@=>?R00)m=d|^@cOvOHu1FgYq z$)Zz6%~Gq8kR!%Z^@({4Y#M|=B@3`qM0c|WC6|AK5__Qy4Y1j(KQ;t0t`u2+Sr+ANra0WY~m+QyXr6fGjgOZ*c zq%}`!;;Q;- zU@YWQXW%*qghsa84})X6nKR1~jackfU~5Y1%OX)FZ62K|t@PLJa)0GJ3+Bph%Vg`J zHoT3btqvR-@lqW4ViFt^ADuT>9~@wU$jazYF(kGRB84u{90vemd|kVV-RxWRv(k@e ztUySwJ0sN|4YQ;M`Z$T6s(?Y+{%vEB8wgz+O6Ct--YHSO<2&L7{Q+%?4&&}t>+ISI; zS%}vzRvJ?#W{Ek2F8~kSJUq(^)p~RU`&m z_7~(tU1DSB>23UauyT{jzMr`h;5}sr{g+mlkt!QABk87Qo(2H;^anw5B30za0Orln zvuFECV;7uA4e<~BZkIUh-*fUHXR02`Td%g8CIT7E0xMs_B!7bE+z>a?s?zkx@R*PL zd>_Kq*mx?OdC+44U2SU|9LxfDoUtuF#=6vK60kWQUl#wMj4Al|0DQHf#5_u|ZgDP% zs^4|8R@$O*Rj^J97b`pT9q!%@W>;1)N0d9Dj7zPjNM5d+8S1h-mkFqItEz>eEW^2X zCxaYOP4T|e*{5}btls4T^e|;)L$33Lz2aLOM<^`YQCpq0r^z9X#$-08oVl&Wwzf2n zl&9jN{635r_u6>K)Vg_Nk)!(a`yc5IbL#Zmm82ezYv$S^E`$bd1v9;N*VgYQ8AJQK zUfn&t*z{}Z88TjdBR7xTG;e(I);Co{v1k_TkJYMYv|aBq-ssQO>KGss5|v?l2HpyP z*R+TnY;SZ~E=X@oyg-K_5=3l=YIRq#+8AMWz2(|d9?}rE+1`9GS_o!<+MS0bDy#=< z6Z&yQa(KrCn$^c|aJy(;Msn+BUyf~CWll8Fadf)NQYoeHBjB?N!mWXo8Gi$# ztOD?2GGa}t@#}v0=6lG=o}K)g$rqUI@Hv?&)Y%Mn`l$l(oTj*~7D9@rZ>wp=^^Lo@ z4aL9epS7$V>)G3nKn-}>z#+8ejbsBB+S zz1aRkYt!9zs5cC$e%r7R(zzAD*Z4kVFIm5xnNr2wG!Wy747|IRAyT==D9=AUAaFXmd_;eOG~4w z1@CC3Y_`o$B;6X!keliL!ANrlyyfoFeEmr%i?C~|E*iB>c59 zvW2$9>Q$nr$3>@AaIU(JAEue6u z?jnOuy6SSizn^9uO0ccdrTNgfip-JCgj5&N(Qh#1&a>lmcztw<(CvaN5OSK*kM^VM zf6GY2=cL8->}^`Zf~;=ZBdEc9L$TWbKqTth5$k@kwoYjG`DkD4(CqEpq3f)4QaG29 z7qz}|Q14qxdQGq=k|sI1zh42Z&36bNn#>l?v3{gutSZFIsh0jada;XRQs$3$yKz!4 z0ej^S@F0ddcPwjIOQs6Fb_bk9b!XJ^VaA^9RBka=a}=a#EiJ{y)k2^v=vd`^tEIv| z0cO)*0L#&98?10Z!(+S#$}K}V!1~+t6=;@awHd*%J=G>RA3%ZIsBs6S0+pI72WF#6 z`~F(XD8(?+h>7R$)+AF@s{h!6pbYVIgUaN&@2lMVX*9Xxx8|2qB+%r8?&x9FqFm;Bo0Pp=kKqGhlStY?1o zg~U|eJGQfjDLy>yWmc@awg~&wd|K28XNNJ_GI7#%NY#PM3mnc{x;{ZEG$1M4o~X-tUoo{;EtoVIe9rh(s<{c^$jqYG%H!n)WBaf z2QTMpEXEFH8HTxXlO(Uk*dtJeb?kppyQ7+z=m=$<&d-8Yst>cr?Ym6Y^Wl4_j2GVy zpx9K7T7=#ZS}_YY?Hpfb#*r3XOn8eDP}pkYH}IVVBKuFJyHy4N=f>sVc-u1S zG$*^bV&vGd2_$BFU`EDe;0{#U^w+xQ)7wYmOO&bDJ-1A{Il>Y|tcMDm%ji{&VD`P$ zD&%kq%;x#vU(EL8&hyu?UR}!URF~TPma)`9^4W-d>Qj-08+P_0;pB)ObHmk`8b_pW zKvNAEeIH1)StweSH@}a66XUL&2>pJ~cRKQFbz{zTa61fl+Gg$`*D=+-%QwAWs}~!% zfvJ=NJ8y=s)0Czv6clDCW%(OAmxy<-jlb{n;35dwT^{g8p?cH%(!DElg#{Nj;WNdv zae~b~R9%o&gPht~i*e6o|JR{UY=?@|^>>Q=&mUT_GB7DjSF#t#T}g42^2sqdtnXRe zKvjmOrDA4_#JGMi{?lw>`7%R`%15fY#2T%Nc#EQDm{DM>1|SsS<*7$r-w(Bq{U+v2>a}YcZyEmW;@?8K>GlcY}DJ^OH@Jvih6d2Xv;-^xWowh&3 z+8c^F_G%@r=NyV?ODwlTXDEbz1((O64-7+b6dHodlWR`EnGn}-*IYNF1H#X)c4WM^ z)%W$9n_{k;8;LLVY4|uSNtn}cY2em2?XPyNc{DQWlv85vy*kl3fV~o}{7hnBdPAO( ziiG1`fA{Q7HS1h`GcObBlZfIJMlQ(d;?^1!1l)RY!?-=ov;2FPa|e8=zB%zBD>^Em zLmnow9c1O&pr#ocIwMhcZ*?cByrAG!c_@=8{m9$NaOz0As65p>$BLHX(B;%d-tP6I zRLkZajVJkOG#!svU(#L8{3jVs*dlB+IxQ@wF1eiFrgmn*@yOx$>TF?(`}A`sL?Mo% zB0RTnKj4Pmvm%3sFq^^eg zH!5u9hSFQTq&Hnb*i$jg1@)@QfL?Lk0mH=M*vLpBD_oM#LQSy`0oP{4Q=LwK-3H)e zGzqyhjAFK%BXz_Dv>&8BWpx0rEa+e3VY&IygwkVYeWksS=;6>`V>>IxB!*lYuq6@} z7~0^%YV*v!m61QW$HCNL=H|A8`<0+K+ta*{+q2w+NWTN;fh1%jle?m7-y7;MaIq^O?FtN9@2Da=EM8&^%e1(l0!)+6n;Zq>cu zfxTquE*cg_*51(Szq2r0d`z1u95!;b7>|r!o0YdUw=-9rVfoSaD}IfeKbu2N9j4Qt zj8v`Nac>GhUNfnaDS{q7UL2u*aD?I3IZSEGDy;5$+HW~Tu_CKfnmlx##ef48a&`~= z-qPmi)?2kt#5DE?ru;6pxf;&mUe2fCB#}JuS>Ar*ODF?*4v8Vsw90?+tsXeu_MNrP zu9&fWLyFw(tp&w8=F9IFwAHt^1qoYAhz&>FNQpI}g4KhARBk?~ZrfMjI}byVpH5An z<+pXbkYlf;L$)uVSPl`M>skQ-sE^NMj|K3_cQ>Kv$G z_EJ8x`d`FUoy&Ey9eG5)_CLJc9~B6pEjN^h3VGq`W+IK>rq8#F_tzIW(ie)~!M%{M z*sbdTbzUkhMJ$J_Njr=Ig z`aLGQId-$uGOg zBbhe1Se*NpA^kTxo!Sf7&O}DanU!1oPkTg9_=8|0Y{XZ16cZN^(9$+9>2B9os<5KR zAAqXrTyQ+Q*|DTtIqWh%5n>)NP(IqgD%$RCwdSKj&k)BY)(FV2H0J&^0ha=KK*s!3 z9sGX5cdbWocd%?B=Z9Dk8*iSO+9zf@tR7vpi zl;p$V#2jOL_Ya}7$}E8qKO2=~_}X2>*Scu!MhGQbci)}|AUE>Hg&9v%CC}*Gn$Pu$ zNJ-gQTE^5Xy}}Mxs*h)>9x?@)+4>bvv`0(pbW|OB@yi5vF;FKloDaf%)AT8neSKQm zG(`$rcE-GWWUR5ksBrcjG~wK*7>h!>->}Bc4#F%llwh=z_J?L&N}TOgT+Vf!-ux{m z7N<!{i{3&q)0`@o;2TLT^xo?d9)f)Mqp-nhscO`q*)sxbXSECTGrmCO8+J&*M7yMJdUYc7x8Y=2&iOc3+L5mjUwtGzV&oIztXk+HaJ zhF+PRn(UPXghii)5=L_WmvlbOy79;5 zedKTRtII?Mx=i$fNqd>*a~5exeopK8gVi~a^`qa$6mJORk@KZTdv#EAx%E#W3vU0h z9RCjjaU3sLROQ-`9XHjInI%-&QQ6*O6?`G~k;ZN*o)H3+h~;II)UxZ}8Nbj?oa2hq z<78TXO6DDYp@qJyaZT_A3|pZ*jiuSXy&;h2K%NJ_J9-cFlCB(UonHyp5$2S6nI-@9 z;g$E<@06hEp}@2$UEPCAJ+2`Y&S7M#?N9L(Dw-`-!o2T9G&XUL{jn2S*Xv?5=trvk zyhN%cY`XEp?_)s`f86>9s5pBO(ovNgBR@WqT)I zY(b)Uc9I+>R~CuKhqh2AchSpYQ5epNrQK*J3DHgAzHc9r@5f`O=P{S5~4 z7a%S#bl03!D>2Yzyy6-Z{#KoC`K5xCPjr!urY#Kldqp?yU1R@mk+}a(9|1VLf`1bZ zh-ZfWTR}tjBW9mt=L9G|zyCKx)PHLg&;Np!<-f%YPf%PLii__At1Ah0XqVvJrpzS;!*Ewo`=DnRU9c zn-Q*##V?t|jGIWKw|Bz4|BE8YReqW2AF(bAHfwp~?_$2xxJ*2Jr!r#FNBFYrBMKzH zELpkF?mSQL54B-6b^D6AZ{#(RU_3RiwKHWqhcM%D%<-sNQVEwW=9X|#F2ZYEc5vzS z*Nqw2sbZxn#XMBRoaWp5a8k@vlvk#5bfl-E4U7&JuK3Hw4v6_r8!n4kR@P2Nr>3ki z;kN_NxVn!V@|nHV0A8!AHr4B#@Yb!XK`+Fv6UY0J%@@|-^-4jL+s+sC_B0}an&zjd zP-bGVmtVD6B|BQPws>wI#q6#cH4dmzU;GP|E)U&FQ!*H5?$(m?C#Y5C-=)u zhfDPwv=K>9QJc*L0_?k zOn zGN5VEg{z&Y$foh|?h}qpFZn5KvV0_UA?J-iF@9y#mlz#L-wNPVaM%zku@a zGoRJF7S#ooPb{FKbgkWSnb#+#(ha#>GyA?)Lm*;#vX$0Ig7v$xez2sxST|W;y$R^6 zZ?>F*3*riSI#2a;QrzDiqWOn(xxziXxUYdV#&Z+1ZS|cj1;g8F?vSdjwzWx0Y45_k zc&>8Q^11a` z6UZIJz&7RQweCkIFwT4`!&BQdM9#V9bxf&{OsQ6YI;W5S10l#9vh=!uQ%y7}EAm;0 z%NX3Lys!!zx;omu*T+Sydv!90iyvzAzJY zbGNQH2YYXO*j^w7=nsrH*rcj^*DtBTxB+X})D`$32B*%2C@;P%{%+28!}#55c9XG* z=&_#Iz1q{*2_$6c(R%TVGga~d|7jcvrg_rWV8|NePXG0<+WTFJz72!@@V|g^Ks=e3 zCt8aYjIR=>H+m5A4X#h$0`}x+5F2MsK>SK5=E->-6V>uWm%+L*pPmL}F&|u6F=Pd? zL+=u4Z#X7W%~Kf3@6(oZYME1AUr)rqc;a}S=w)T@_CobsWZu1TJWG zn)QAzT41cJHz0nO^wsgm?(n23bf#Gr!}^Tao)563j!Y6O@(R`SbxDHHu$-? z7zj=R`svM8WjjYRo>aZ|as1I&fdhNOXE)D&(idcbt);!#xs88WPVuL(;a?y)lE`iH z%K(LDQf#{|dO%a_=;pAyeg+hB_IdyYb38b`*0}AA?o4cNsbWXNjgqU7TDVsckaF~~ zzjtsv>zd>G+ll;BsGjV=v<8s{?tI2}!L^jispF##XpOUljo28xB7HKRJ0WFbPcWih zFIaLx3W~C@C2dM@<(%G!yOJ%JffiejmRZ2V>-PT&@Ds%g$pkoDXAp7j(I-4>(6eYP z^p&ji>`xbS(--A{9Qfle<)>c{cAQUF;+HAl5-ff{$o!xwQ)LQB3T+eU1&!+*<}ti+ zJYuJ8=hd=>n6%O@pgi{A)Ss1p2;>af#S4aE()(8cZ`Ce|_musFq3Z3_jIVFH>!3I- zIHQdqOV;!yu@RaM2BtT(h7D}!2_b5ZB*FAvBx%+i)p_DOusYd+CF z)$pL!Sx}+AC%pz5usTI?aK=3T5bkGizbKYiY7YqhLAKVTZklf zW&GiuXXLv7Ub*Uw4p|t;@70QbBf(hU*K0#L^3M&Oa(4KNxdc5WzAPhrJi?iYtz{kC z=>a5`Fve}vsu(_Ty;;^1ce|qhHjF_c>3Gd>k!fh}_=5t|^04g^0Z6Nngjw~?EQpCl zHP-hvh;JOKUaB@}P}DTKV~>@!_ooEH$K z+R;LW*{R4zj4$oXn=)iK_>O`}({Kr8n` zHngd%eOxfRw5rONHWl7cF%8}q@5^Vk;z=o%onbQ6VigTXCSK+sSel>d$SlLV@!bEu zCWGASY28^~nrqc_Eawm9w1Ttlb0(4d_&Sz`EOX8-G#RyA#_x7pnH)mkv#t~b5A2QG zyS{6H&)O&kniXLFvc;+^rC;|aZN=U+vV?S%Q=-K@I-JjAW$-21*VSA*Po&B!yO5}7 zRehM!CRiEh_BGxp&%r{^e&B1a?3CQyyDXk`Y?(tI2>smG$6D`l2i?&uQJR*1sT=Yj zvoRdh>xBsu2U<&xHT5{WOAtW$i*6zJ38KgzQ|EEDQD{YOv`5xW5X-1!4jMTMNk7O1 z;}LbvO3|i-)25d&3eD z@I6ZTG+%T}xTu;-d+vUeABy(dR(^4p8Xk(IpVEh;+t+GJ_m7Nxlesu+pHHliW?$+3 zRZJvj#>wL92}JJB{sF|OM?*j!-nho`&dLeQ3HxS2gCIlOQEZ`(G6#xhkv772m0)vi zV9TqtC2V07{&=^$%n~6WPX)6QUkK=pxb-p10dU`JK@91HEd8PhelMuxfYtHaMottj zKY}kKp)D;XzpE}fv?)e~dH&OfZESPuAzI2-jN(){Vf_)10)$Ogyhj+a+EI#TgLs$m z#FgU$@9;$%-E^}+Y+$TD@jcqZSGgm%`Fffet*IZo@%Z8RS|e{q#hKtU$|pBP$@g0z z=?{nPK5Qrcy0E-MpI0HZCSK%Ys!Ak&WOMXG!n`kSY+w={>U=C)M!7`6P0LhK27`{9 zme2NG&{A12mn>cWezf(ZdPRVDv2PZ?Fy_hAjqBz3xt4jTd4VgMi3YnqYc#P4sqtby z>GJmcGlKdIQWy*UKl##`THBE)+N@klimYr|k zN~(}_log@>)po^x;4gJyfCR(uw105J+1Xh~r@6wzO>!~?M>`PyHAdN6#6nk!{GCEW zpFdSHVA7XA)wrnCp$A9ANEVTivXo}@N)DIhRJ$K7(}F{ucSR>dn{%iwzTLuO=_8)a zEi}X>M?c5l=A$Z<9dUS~E~Cea8+*~T@zEJsFuNdLt~4PZt|(x&tv<->+H^N8HyEFB zWTg_Zcl5nu zTub4fJ2%%Tw(TJMdMCRPw;v8pQ)=aOwULi9R@f|Tusvm==0iD1zeu><_VL$!sGWhO z5si2g3n~n-Rc^HitBV;>tzs#C=zXR?M&<3?;=9cfcIE+JC8VVbT^467T*~kq2>899aq|x zkmUU9O=&;LU>D)Tqs%!qMR>jORPp=RVH_CihK*)&Ds~TPR9Cq0EqI-AlSiKuA`Pk) zhn`U}j(rvCXnsoaT|GJ?3Xeg0yuaxa;F!qkes)RLCnJe``2znzihbfhl0}Z|?uMeD zol4+5tad6RH@&ly&7jSXdf=a>UlC0fmQChKGuYOk!9J~nC^pW~9(T@>mHDGf3(Wxe z)stKvQ9IY$gIqbEz=VI6><&rRg1dV4`D7kSBi?;bgMC6!%lc%^SiVtENe>@tiq^|g znUKmQ4>d>KjUpE2-7d~fG3u*w>wkuqZ*!S#=a-a0wV3%W&L}(eSkVbmnF zdiJFlCzBp{Wo7U5?omvcS&A4kqXhn;o5z3exrfvt>}6+Wp}r@K%kpWUUbk4clDj>k z@`7`D`0CeaPk6#@leFjQPLGjm3l#kjYHv@?=UXx*{a~zlv+|fo8D@`{&_s3T;xld& zA~i#_s`NyxniGs+R6oydwC$KQpUTn*Yg3N;lR~$BW6M(pMDwMgu;#RdY2|_1g39_R z&nv;?uFzoYXzQ~2LW+O5`x2=o0~4tOh?QmS15(_ojh~-YAPqi(k6};bRj`}MSc=cD zl9xU{e~^|5lgQFXLiUE@&IHht$mB|0d&gV;%SY+AyJL}W(y)mSTQC*SZhm1U1Sw-q z1fxaFEx%c>Pez+-jYgTU{*ZQ`F8u%p;+y4E6 zPcKLIB!8>DG%M>Gk>ItnIxjiw6UpbNuVo4WbNpTZ6Hetr68|V>9R zZ{?~djyp%0qHVdT=JMuvcZ05Ia(UZr#Dju~OyS}y#Kfd)k@(GK0bFTS#Hs9OMy5K5 z2^%-^2@|P8R}JZHo7PfWP_HNVtgNbe;fV(o5Z=HzAV~U42zVySZsB69h&_M5CZx#6 z_Dl~dh^p1{m}dLEwH&hA!hK5GzR+m)U3X#m3!2R^IQ(;?pKEM-teCmih8C&Ct+(qH z!-{xfq!Miq=&7Fs4eQ<|M6)r8wR|zpuSgFg{|mvfQ+YTgs=5FSkEY zckswW%_ES>^^6*=K5YZFQfw*3POUab^<5A5oeUr2r#N1UhM_k}!UyYXGH|qovDhZLb#8V`n&^>0f zBjN76+390PX0S7miF1Ikxd?pBXsZ`B`Uri% z1tbqfK1iRQjDNA{q$#1lY5 zR6B|_UNML4_=*1kykb&OeEvsy!iD09Eg&qmJUPgmpE?k+pwfKYtE{Tws2sN3Ri||J zIYQTL&dZ|nomoX+P%?*y(Qu;YQ$xfRS|A-8>>+dyMP&H-={72PpEL>6i`7oMsr)mtp?{c^9F*qXT^Hmx|AU%{s494yn48)!Hi_Gz>21;98UeCeOM+Pav*Ph(3(MrqQNg6Ng;38H-wR8t|@>ZcdxR zw@YNYE=)XGStbS;8yoi~d!^dsnG2PGlO3WdKeo?9G4-IL=q8X%b<{mpp`tmvM{Ru< zorq9NF62j9Nap4@$;%Gf?9XD1#8*Nj7k@5hZcoA$fkd4JPCYYW_C&*KJ<$UVBwX|+ zH(oF^yM2eBA|hR}avUj<0cvK^);DNAD>2Nc;jF6%4~xFN;bHx9G!PMhZ&K!=oe`Ah z{rSjN7Zlk2d-USU=H;@J?f%}0oJ$tv_t|gAZ>c?YmFai#ga3L|aX?cIvq6V7REl#x z-(!rD?`%o7G8fGs%2#Qh%$ZON+jKQ6*Kh3c`Snbhq8`<=8P3Y! zHCZ{x)ZoIg@LE78ZR8loN20Y*z0Fs8D!l5XM5KyZVgRFbpsujt89`y|$H!0&=i7e8 z3$YbPonH*NlXuJ==b^1*_o!`e@lUrj<9NDNU{T$7=_{l(b~*Nst~jH$hpola5j(o#X9Pd|$>~jY zQ2IFCJXg5txyh5sC2Bd}l;yUt=+BchRS=}OilA(y_OFOsMFX9o_I6X%$eQ0D7lc6$ zI<6)iACJCD_E-rZfd7b&)|?roh9L&+!N1QPtYU88y1W*5GHO6Y(4pb>m5kmNBbbA= z{v4w3g$MgOy${yQGzvBRuVrROnt4;c-bxFQ2%t|$c%zBzq=#*BO$P!l+2a{gF00S( zx;35MO2aGF`<9w7d1i&1HVW?(o4m3bL!U4>l7*H1qiOj8`TmYZE(kB49Acn!fofuv zAiK((1xK@FYQ!vkV&ZHT_t_uRaxc~`!VZbKS_zByXVmqE&+JG|PrsPBhi=3n1m&jH z%h7Vh;vpl*e6+=kz@3pXfh>`8mtvPXcZS01OgLVO`$RV0TsYjy*XI}9kVHLAZbMOo;Vd?`sn^U$9W{0tGM$!m;2bb z+WtR189yd-g+2|a&ekips#UU=_U(RR}f-z8@wPh*u{9tRv4~UGyf5q30 z_uB8FFo#j6#S-5^vVV2GL^q3!A{SqON-(_~xH@l?E>dgsSUxol$ln}8C>#~zIN|zk zW;K2KA=P1ED%lb%P54`Qu$7y^KsAdzmiMKSvax0On3IHF(BIL6l{}o!|8t`mv4_d>U0x^!w)W(+hJ$rBN?M5DMfcp&LH@@>lw!-~IVlTo=S_NcClu zZyRVCYV-K5U|X`Yl>u`2HAf{WEu%w1-bJ zM{KD{>A={D4#docd-khy{f=N5wqAUs@^Mdo^S%k^(+?o%(2ea#30&+6N)mX5g}S(C zj@<51T&8OeT6{4e4L;qhs^czU{Uyu*!Oe?yLqzU{#Ev)))lNXf}EiY1gbboJM z^?!}o4Y7;1s_Hw+uA+kb3p@A!$5wyPH9lba<$&@o7UADEpuZs!6Plk3Tf>C(uT;t8 ze*iEBvzoVOB7N048gtqF5p^QgGS*o}hpBMP*tiK*RCu(Xp;1=((VjsQ_TyB zdJz;96dddf++Q&6eIFak2A~Y8L%2$qZtBf)a1Lc;VIU=^SS16ZOVqgHKuW>F@ope`>Y6d8TwK&qvS*QU$F+4_ zv&(T5hFOr6$$U0Js<^9JEmSOKDH+?V9$q)oPZwfoB_cQa@vuqLAV=D4c+haZv7vrS zs!(TmwWsM5CQ7|Kz5?SS*sDkf!?g)5*aWp!kL%soJ2rw*r`^K}zBSs1nrpdQerzN( z+$zI*2O*~Q$?vQD>lDfhm+j12=jOxoXx@fe3=h@De9PM*V<0p}|GL25LI?BfB8^M0 zZ9x=*^GotVJI9xr*;)J)CDx&~d}a(OfVFyha8ndqwr%h z$T?TM?1Z|ssNTrZ@YkZZxl!`7rK;`e<-RQzEZ}~dS7ItBC#RxP4gS4UV%n!qp8)H* z3xHfecoL1%g6opdfWu-8|A4{Hhzlkk@yPJ8C0x2jUoDPyVFc0T~#JwE^6N5jd;=A0m_0fg6YLLNMp1V^ZDQ-mH|EFWR>t`{vZxK%{0o zMv1@uS!t4A-ydj?K~{nI^!;SbK7ZhB~Q zXQtDir~an4c83Rn!y^7jzlVN*aKOTIR{k$2r9_*K%xbCf(#k z8&|p%cH$7%9}U7FVCR7a2w}%X+h?a60|(F}4EM%Y9m~itA+YKsTMCY4iA(2^jV7)9 z6$kqSvT7vM(x?X2@OX}q}yTHh$DQ@7wg9qxdDnP2?m69@0VoOU)gH0WXZK>cB zFG%gK&60pczF3J|o&?m`^TPt?B>{MVJ9O3%HrlTK@5K+F>|&?`yK#8_0e!PP-uY3t zk~D~Jsb_r5g$mUm7wCTvEO1oTF?KNiUNc!DYNoXHa@sZ5SL1L}Z>U_A_^fTRC zq_mc$oWU)vy+>s$bTf<;j0G`QtS`?eB&JOA0jkvBR~QNk&bk?$_4$4{cuB!7v=7Z<&W(PRuFMxiYt}Hqzm^ww7#i z?PMLRQASN{ey3CHLi2(bE8Riztb5SI#|5P&L0&R`H3wVx<0i}nId2^0TuU;K?C$KM z%nlUBqaW=nctzQ~M{d4-5zhlXB4t z>3;q4R}Ocv|U;)vYz!) z_ht5gLub9VQK@~GF6}`R0S4FBray70tAKg;lSSqB1{ndV;Yj(;itQF9T@ubV=k_G< z*|uorj3PS>hK#~%jmny$b^XOEd0tk|6<$=%H{YM|N(3-l&&50I9yR%E`q1l7Jv{|N zu=6%|%~n`weiat;?yBi`8T8njrx{&2=;q@8z{KuiYIelj-T{-FURg&70X) z!`Xm00q7b4B4$7x13yH``Ly6XRy=8$K-?jHt>_+f1)lbbgjn=^ehGhK3=aKpX}7IF z0{z^*FY$usuDw^Nj8Hs_W1?X}OQ-cy9LGfcpxscNyw40i2Gn?8-b(0EDuqs4@XbDs z_uc4CqZRuW5x&)nHREz}r-U;hM$(k~LiRf|9*?vZW(gTl7XLhTi&O)c@ev#o$uKHx z+WJ8O)Od>Y^VufXXCfW_MVP*P!RGp!!L)aUuhXr#nFqk8nB$ceL@JiPR*?c4|$&D{lI2NE!btZesIOh_vv< z?g;5HiPDVW15NMbSKfKJxJ@tn*__>h0wPh!_9}pw0&b20BpT z^;C)~!|9us07#vViB$}@!a(>%^vwdeCp>90Z?pn^SZDHCg#<(GIre>^^X$!eB6 zB-H`DvTV*Z@|zJXuke2ZfYLtm?qzdiyroW_Xwo_5TBG4v?B`gu3>`E>dFd#aH-)Ml zcJ-vy_~}Xi*G_htwv+vY{bQteTfN+)@C^ZIB+t_*X>-d#^fHyeS*SCUMrOalzE1mLqLeb23 zZ@JC6?{F0Ir!VR>TAsdf@C;kSFn3fygV_s_!v-SihUc|ZG)E>?E&8;!wq~=*Pmvh; zMQl5!GZ;R~fEY6gmGpJWJ#^9#-GWuXlRm9PR-ZY1w!NEb zuK(>T#?EHtje_HJe8mA!K^zxVo-4>zE@|JdMUsrXY$xe_v%bq?moI{Tx%;7pg~SHJ zPbWns+J_*B50GHl`8yGzy*wJMN5deT1xmf!P(wTb0nvvABEh*H&ZzqHc&3It5wM0a zfmffpQ38&+304=@82HQ<&8fXWoNCRq0PN;Un7@Am^bUgzQG-za-mzoH-Me>zbFhal z{ZP8xr<&pfxNjYH^~z%fvxbI-Z|5#k$NxHCG)HY4j>Lz`j-5b!Hb0eVr~3UVMhnCu z8&97MNPaSD6Xk9tGf0tJ2HJIXfT;U%Y@c_K)_!Zw=m;X$nKbo5%`$8neQU0-`dcqk zp;{61s@?(uUm~MfCJR!5aQ zgJ#aiMpR2|y6+eKKHUq0BR_zXt1owFeqA z324kSWlUB8*^EM)0+>qIFs`{bQeC%BrIA)fEc25P7F#S`Y%UEmy?R}x&dIkM#DyBaGr2~I3A&GR{tF;?Nd4VoXhN-+rwd(68T=eZs2U89_4+(+d?Zf$?< zcx!~u3vv8&W{4q*m|wSXzdydJqg-9B=HV7fX~G0Y_*}LX#~$W2Q*dU`!aJLNz5r^(StIzEYH)=TDU{`pJ9wo!XJZ z^rzYpruYsXI>ZNL7l125Gtrrp(+@Bdzt^wDt`%(n>mT1;85}n>U0w6PrA9=2Z`89o zcx5biI2o8#B%qnj_lEcU+2Vs+DuD(C1kMu36gWX!z|S2?u1$uD3a?WXZ64ZpO+ z=JTc0&tl;liw|F%AANv*x`&Q}?U;_OaqL12!<`^$Lrb$5hnNX-;W%|*GWQsXGAZ+g zjr+N9-nhL<4t>7te*X1(7N3Rl(HDvVED!lN8h0GO_)) z=#$01aA@!SWlfs?V>BJqeVQ{HN7;gR;yIgGv9vpT6%n1xlmrSo*Jd_*WS(#I&FsNw zK9`u`IHZooz)0c>E%#o=I}V-&g+@*%Drt6E7@dL`upZ1Q0Hx(sfV zz*ot-{?QXCg{}Z^0-!mtQWL(#02l^HhdJrVVkxG&*v@lRVO_p08+DtSkw6 zXq*!kPWGp}pH|_5o_ zsTA6!J9V@b3B)UN3Vd-Y)o=6d`=oO=oaLY%yHqA{edQG4^O1%ji2{wx!@v41+n=D? zA}01qw5{BY(GFKjY(2Xw7EIXUQd(LH+f}m2umBfVJm9OsfH3>@-37caOLte-!px|I z)A;vu54Yyj%V)t(Pu;vSTP^p8RE5h>S#E%r?|KXo4-Q!8vLS$nVg|M_gfd`-NQ89X zVS0!FTx~!`QrZTioKD^Ryl3K2iC~Q+6|4ny9(Y;brKbxe)ff6o-6mk2sx!$rHXQ*`GFsePXTV5GW@;oXJLxW$jXbu6ZyMPTIQJl#0~lJ<&Q+?_XOj(hv($xt($$?A8_OhG)e_sCPh z8>H7dKX4}=`0xEe2aXdPQ^XYBuZd%K!4gBy9&1q;yPDzlXHZoX?5@N_c?PMDQ+Lz! zH$?3FAudU|&v@pw8gW!~5-mwx{lS0g)5juJ4J%ppoB?($2EkjGL8>DjFRnENr$N#E z%^8E}2NDmN)tqG;=jP_9NF-ou&H{|H{)$Y&&GJ{&J%}0{L8t_P`Q;}vOP#(FqybQ^ zInjW*Rj)2hS1*)W2H<#qNGF{Q=Q~j4Z<&~ci{0&lLKjrIA`yo!qPb_279lk#eXsr5 zgPe^!WvFB9;gAIeC9+zi#JlB^_F`YEr`iP=CY?EdN;wa|H2?l49OtWfd|cD>v7tyn zTyVGxcWfJ_wQ!PRNSJE4#zgm>nmENQ5gF4OAAn<+d>h9u<#>*%V)syOXc7^g&JK$px-IGs{WS zaRzFH*#g!y-!Cg^3ndO{UO%M`8msve$lPkbg|REIp|WM$^S;-ON9W`|*5$Y?%`YRS zX{g}bdbc^(;^JC^I^$Z+t+XWVl&%1TVX&}SBLHiuP~cu)-3?snRz$<4%a<-4es5#) zgmJbcUOm=*vix{u;7J$oo#}uCR%Uqu?Y2PPD??=kLo`O|4MKM0J5S+OC}Y5;yd&y1 z0(S>u*?idb;FY*(ViFr2%_8HjFDdOv3UxvaHE=;041Kd2zvVpb1e=uUJAa}!=>aOO zD1n(2dxfwYrNz^~cT=JUp$C&py~f^AjiF0r?JnSbmlQ;s|NfByr9M(C=-z7zT%~S)yF|V z4J?Iwrogn%SdfRmZSW2?_mUvI5~14mUE;IE&Lr5}GThU{RG_gG4F7|Odc9Hd^_jNj z3a0ts&nKF4v*=PM&fX-839iuR6oLE`uW!Gq|FlvJ__cNTbdG7CBKc{{PqR2`t^MDI zHdCF`5)G_65>#Bx=|#zG-i56$C!~gZYQu2`OARO8TJ48gkDb#Ybh3qi_Sv}h%INHq zQd#Npnk0C9p8ou5({G^p|GA{+VIV!b&*y5;&R0B1u6pVHoMw;IEej-AhJQdeov`Hv0CtsE zA@o3zzf;dV@3uwiR`<1QZiH7&nS*LmV)CYbtrm z8UFE-#4LY$k--6 zM}c%df1y-9VKGFZk}YAx2uQ}JI7b;jiH*NgLjF5$e@k&kPzO{Z5^tj5hBSDIs&OvQ zlGjx3B=CK*6KC1oJnyzRBQ^K^p)y1Zz)J`GA&`p`dwt)i4AHWemOz+nR?h|{rZ`zN zoHzyAN8ip20FP~!1OeO#@T1S4FM-rk2!4RO9WDW>ZpjdAgep+}>-!Si(9mF!00dvs z)o1uaNNdewn`0-TIW*x+EY_s~xoNv@o%6>@j0C|^QK?{|WO&H`6Qp|sHW^XQjy@n$ zU30px=v$5FT2#RrF!?RxDU_YZrniV~Nny|1WhZpa=TWuz_@-|6Ezln1dmn0t=0(rl~ew4 z5w3Yny2R3g=6mB*H=U#3-u25@)kd))rHF`p>!K-SMgNAj^^E_&3qvgi&v_$>_uI8} zuuLxIuqABqWqlkfJH@Pf8j(~MR3-Vn+fC4cp3`@t#mUZjX%V5;!)XcqaGhWTo7Th2 z6Gt?{Z)m6aW0mycH(rOfS^f+Hc?VgYK$j7rihLHnaA})a`&`C0SGNPY9PR_)389v^ z+6oHs0jaAX5g($pwakYzsC~5=7G%@jP;yPi_R~-Hw0@>Z1obqEM(=d*ZV@DKU`;yh zC=1!r++z9Xr4PCy+3)%*&Eq2y8tE?`a0@Khb~T9F6W;DHFn?WWHI?alY_L30tdO(e z9uqZ!UX!_9#ei{dIgctSAkNRe`H0q_$jlE9Mm`j|2Rh$M9{|lz0GWqDt{nh4pUr_^ zrHLbH!1*9GS_ZOuE*2*a>B}-@5!$y?V;(DuP&I)x&~br$XV!uR@|Td8FH-=II?4@X z2Ue^0T!5>}+I<`v5KuCdv9)vlxY}je3>Ny2r(}|O7{@i6 zVik=#Sie=FdUw52j0JAMZ0ZffYx7SH1v$+EGi5x!*|`XwTw?0J{MsPh2`8>ln>A9< zO5>^QC{!n1m*QL0+LSr*97)el&lYB`r4i-PVzuz$T84;0-GPi}tQmVm%S8qwAQq=o zq_^+I5sCb`p<(fqd&qU6b~d~5BkJn+g2+)k55b2K>*Ib&XRPr;lF+*xi!n+&?W5rG zEYCObmD!eA+746hKZVL$qwrz%mh{-6@uIvZy_+^@{_bi23t=pjS^o2R)Vn~LzhV0E zx^ri>RPO3{%Ou#e5xcl~1H9XBYJ4pY7&Gj(>-9}=eYW^m)+QR$5D?wbo^$WXj%W9Y?2&I)Z|tpW+gFKnc}}=qe(pWf!_GN!-M%|7Y8F(`^>0KZ$g6Ku zB5Tbson=|Ai5GpH;;<&qm8UtPk?EHGdo65?7T#F}`rt5E98=u#9(lN)9p66p0}i?? zj89l7dhM9p7%6XckhKX}00|Ye0a~Hu3Pj#&?$HOB2io7FFtaXP{cP4xVyEKYvB# z-%|rKp$uWZB5y@_V(h}=%wXbUUxR(9_NAcrvN9D4FE%W#4g^zuV8DKw)HX5LJ8u&o z|7FznVXVsFgO7VKr8KcWZO*(}0@)OsfSP4O{va)hjO-&P{ zM!j70Img8ZPQ289P1%}Dg5)FY@@buaE?b77nZ=bXM?CjSgX_#iZ0zVg-fqt&FT6RM zsT8#B#er6{P7&|GI}OJ#rMQW!ZhdCH@6eIMo8&I-J-X3RA@#OE8MBmMG0Wy!36mv~ zRR3(Zk#$+H#Owj0+0&DqN;^JG{LXNMiEibDGv0Y0Hg+I#Kgp;q^j704M$$TkDV8&V^j=dU}49 z4>)7@W%ArB@&XxsnY{hQL1OhiypRbE&Skp%ixt@|&Q8m3YBTFg=S@fY%%!f~g?Fm> zBHDg<^?I{Wn^l?3s^)s=SzpX zJD^1Ixuv-}LUAg~nwYF<!0d~y(dLYG;MXTiuD)i<4Pv)r2pFtE7 z#E-PJuwY?jEp(pZ#Mv^6_r*4Usc(gEp(D}Cpb>wGX0~72f`s3C|I7aEs_&=o$-<-Y z%YLcGq>qaI&sc2@o%SCq?4K+nZ+&4!EL6Ty&o&q^;Uwu?zgXun)olQ)nHV;@D?uaS zu?J;v*byuJcD{32fXB^6{7HH9hP~7eO_;vd_1jfDN8%akf0>vh4l_=*GuL}JsrH01 zi5q(KvHtu{<}@oa-3Sl2#lbJ=Iqzh$&!Ee3lMSEXQZF_)Zr-`?=NF`rLzjDO^>Re! zdyrm3oRI2}DHvCGRCg{YoX%sVvr?vTWvMF!T^1FMo0Wb&f7j!!qP!CRvb+lZ3h`B; z*<{jLp{ZZa^F~hJJNnxfd{Em>wkcZ?cAIir|HxN|wkpEk{;2U`#~=Q38mJqs-4NZw zC#X-DE*(mVynWAQvUb*Po`X`GcF9r~S%GGA^y}k$&JUln0yoSD&sc{WuSdhmy}NB9 z@sRt@^@s!TEpAHH*AnrFloyi$X^YsIDMgHRJhXrgB`uyU_ zx%!f`TzxwpeMNoMTYE8bGt$)VZDp7|b^9ML$w6!9SN036Tb2Luda4ySGT!|BG2$OD zrbUPA?89BohlT#}N+fu;+5u MRk@ga{@R281=3=;%m4rY literal 0 HcmV?d00001 diff --git a/docs/docs/report/labels.md b/docs/docs/report/labels.md index c58f082968..5518210559 100644 --- a/docs/docs/report/labels.md +++ b/docs/docs/report/labels.md @@ -11,6 +11,17 @@ Custom labels can be generated using simple HTML templates, with support for QR- Simple (generic) label templates are supplied 'out of the box' with InvenTree - however support is provided for generation of extremely specific custom labels, to meet any particular requirement. +## Label Types + +The following types of labels are available + +| Label Type | Description | +| --- | --- | +| [Part Labels](./labels/part_labels.md) | Print labels for individual parts | +| [Stock Labels](./labels/stock_labels.md) | Print labels for individual stock items | +| [Location Labels](./labels/location_labels.md) | Print labels for individual stock locations +| [Build Labels](./labels/build_labels.md) | Print labels for individual build order line items | + ## Label Templates Label templates are written using a mixture of [HTML](https://www.w3schools.com/html/) and [CSS](https://www.w3schools.com/css). [Weasyprint](https://weasyprint.org/) templates support a *subset* of HTML and CSS features. In addition to supporting HTML and CSS formatting, the label templates support the Django templating engine, allowing conditional formatting of the label data. @@ -189,133 +200,3 @@ To extend this template in a custom uploaded label, simply extend as follows: {% endraw %} ``` - -## Stock Item Labels - -Stock Item label templates are used to generate labels for individual Stock Items. - -### Creating Stock Item Label Templates - -Stock Item label templates are added (and edited) via the admin interface. - -### Printing Stock Item Labels - -Stock Item labels can be printed using the following approaches: - -To print a single stock item from the Stock Item detail view, select the *Print Label* option as shown below: - -{% with id='item_label_single', url='report/label_stock_print_single.png', description='Print single stock item label' %} -{% include 'img.html' %} -{% endwith %} - -To print multiple stock items from the Stock table view, select the *Print Labels* option as shown below: - -{% with id='item_label_multiple', url='report/label_stock_print_multiple.png', description='Print multiple stock item labels' %} -{% include 'img.html' %} -{% endwith %} - -### Context Data - -The following variables are made available to the StockItem label template: - -| Variable | Description | -| -------- | ----------- | -| item | The [StockItem](./context_variables.md#stockitem) object itself | -| part | The [Part](./context_variables.md#part) object which is referenced by the [StockItem](./context_variables.md#stockitem) object | -| name | The `name` field of the associated Part object | -| ipn | The `IPN` field of the associated Part object | -| revision | The `revision` field of the associated Part object | -| quantity | The `quantity` field of the StockItem object | -| serial | The `serial` field of the StockItem object | -| uid | The `uid` field of the StockItem object | -| tests | Dict object of TestResult data associated with the StockItem | -| parameters | Dict object containing the parameters associated with the base Part | - -### URL-style QR code - -Stock Item labels support [QR code](./barcodes.md#qr-code) containing the stock item URL, which can be -scanned and opened directly -on a portable device using the camera or a QR code scanner. To generate a URL-style QR code for stock item in the [label HTML template](./labels.md#label-templates), add the -following HTML tag: - -``` html -{% raw %} - -{% endraw %} -``` - -Make sure to customize the `custom_qr_class` CSS class to define the position of the QR code -on the label. - -## Stock Location Labels - -Stock Location label templates are used to generate labels for individual Stock Locations. - -### Creating Stock Location Label Templates - -Stock Location label templates are added (and edited) via the admin interface. - -### Printing Stock Location Labels - -To print a single label from the Stock Location detail view, select the *Print Label* option. - -### Context Data - -The following variables are made available to the StockLocation label template: - -| Variable | Description | -| -------- | ----------- | -| location | The [StockLocation](./context_variables.md#stocklocation) object itself | - -## Part Labels - -Part label templates are used to generate labels for individual Part instances. - -### Creating Part Label Templates - -Part label templates are added (and edited) via the admin interface. - -### Printing Part Labels - -Part label can be printed using the following approaches: - -To print a single part label from the Part detail view, select the *Print Label* option. - -To print multiple part labels, select multiple parts in the part table and select the *Print Labels* option. - -### Context Data - -The following context variables are made available to the Part label template: - -| Variable | Description | -| -------- | ----------- | -| part | The [Part](./context_variables.md#part) object | -| category | The [Part Category](./context_variables.md#part-category) which contains the Part | -| name | The name of the part | -| description | The description text for the part | -| IPN | Internal part number (IPN) for the part | -| revision | Part revision code | -| qr_data | String data which can be rendered to a QR code | -| parameters | Map (Python dictionary) object containing the parameters associated with the part instance | - -#### Parameters - -The part parameters can be accessed by parameter name lookup in the template, as follows: - -```html -{% raw %} - -Part: {{ part.name }} -Length: {{ parameters.length }} - -{% endraw %} -``` - -Note that for parameters which include a `space` character in their name, lookup using the "dot" notation won't work! In this case, try using the [key lookup](./helpers.md#key-access) method: - -```html -{% raw %} - -Voltage Rating: {% getkey parameters "Voltage Rating" %} -{% endraw %} -``` diff --git a/docs/docs/report/labels/build_labels.md b/docs/docs/report/labels/build_labels.md new file mode 100644 index 0000000000..0a3924a106 --- /dev/null +++ b/docs/docs/report/labels/build_labels.md @@ -0,0 +1,118 @@ +--- +title: Build Labels +--- + +## Build Line Labels + +Build label templates are used to generate labels for individual build order line items. + +### Creating Build Line Label Templates + +Build label templates are added (and edited) via the [admin interface](../../settings/admin.md). + +### Printing Build Line Labels + +Build line labels are printed from the Build Order page, under the *Allocate Stock* tab. Multiple line items can be selected for printing: + +{% with id='print_build_labels', url='report/label_build_print.png', description='Print build line labels' %} +{% include 'img.html' %} +{% endwith %} + +### Context Data + +The following context variables are made available to the Build Line label template: + +| Variable | Description | +| --- | --- | +| build_line | The build_line instance | +| build | The build order to which the build_line is linked | +| bom_item | The bom_item to which the build_line is linked | +| part | The required part for this build_line instance. References bom_item.sub_part | +| quantity | The total quantity required for the build line | +| allocated_quantity | The total quantity which has been allocated against the build line | +| allocations | A queryset containing the allocations made against the build_line | + +## Example + +A simple example template is shown below: + +```html +{% raw %} +{% extends "label/label_base.html" %} +{% load barcode report %} +{% load inventree_extras %} + +{% block style %} + +{{ block.super }} + +.label { + margin: 1mm; +} + +.qr { + height: 28mm; + width: 28mm; + position: relative; + top: 0mm; + right: 0mm; + float: right; +} + +.label-table { + width: 100%; + border-collapse: collapse; + border: 1pt solid black; +} + +.label-table tr { + width: 100%; + border-bottom: 1pt solid black; + padding: 2.5mm; +} + +.label-table td { + padding: 3mm; +} + +{% endblock style %} + +{% block content %} + +
      + + + + + + + + + +
      + Build Order: {{ build.reference }}
      + Build Qty: {% decimal build.quantity %}
      +
      + build qr +
      + Part: {{ part.name }}
      + {% if part.IPN %} + IPN: {{ part.IPN }}
      + {% endif %} + Qty / Unit: {% decimal bom_item.quantity %} {% if part.units %}[{{ part.units }}]{% endif %}
      + Qty Total: {% decimal quantity %} {% if part.units %}[{{ part.units }}]{% endif %} +
      + part qr +
      +
      + +{% endblock content %} + +{% endraw %} +``` + +Which results in a label like: + +{% with id='build_label_example', url='report/label_build_example.png', description='Example build line labels' %} +{% include 'img.html' %} +{% endwith %} diff --git a/docs/docs/report/labels/location_labels.md b/docs/docs/report/labels/location_labels.md new file mode 100644 index 0000000000..e7af905d75 --- /dev/null +++ b/docs/docs/report/labels/location_labels.md @@ -0,0 +1,24 @@ +--- +title: Location Labels +--- + + +## Stock Location Labels + +Stock Location label templates are used to generate labels for individual Stock Locations. + +### Creating Stock Location Label Templates + +Stock Location label templates are added (and edited) via the admin interface. + +### Printing Stock Location Labels + +To print a single label from the Stock Location detail view, select the *Print Label* option. + +### Context Data + +The following variables are made available to the StockLocation label template: + +| Variable | Description | +| -------- | ----------- | +| location | The [StockLocation](../context_variables.md#stocklocation) object itself | diff --git a/docs/docs/report/labels/part_labels.md b/docs/docs/report/labels/part_labels.md new file mode 100644 index 0000000000..fe5d5cdefb --- /dev/null +++ b/docs/docs/report/labels/part_labels.md @@ -0,0 +1,57 @@ +--- +title: Part Labels +--- + + +## Part Labels + +Part label templates are used to generate labels for individual Part instances. + +### Creating Part Label Templates + +Part label templates are added (and edited) via the admin interface. + +### Printing Part Labels + +Part label can be printed using the following approaches: + +To print a single part label from the Part detail view, select the *Print Label* option. + +To print multiple part labels, select multiple parts in the part table and select the *Print Labels* option. + +### Context Data + +The following context variables are made available to the Part label template: + +| Variable | Description | +| -------- | ----------- | +| part | The [Part](../context_variables.md#part) object | +| category | The [Part Category](../context_variables.md#part-category) which contains the Part | +| name | The name of the part | +| description | The description text for the part | +| IPN | Internal part number (IPN) for the part | +| revision | Part revision code | +| qr_data | String data which can be rendered to a QR code | +| parameters | Map (Python dictionary) object containing the parameters associated with the part instance | + +#### Parameters + +The part parameters can be accessed by parameter name lookup in the template, as follows: + +```html +{% raw %} + +Part: {{ part.name }} +Length: {{ parameters.length }} + +{% endraw %} +``` + +Note that for parameters which include a `space` character in their name, lookup using the "dot" notation won't work! In this case, try using the [key lookup](../helpers.md#key-access) method: + +```html +{% raw %} + +Voltage Rating: {% getkey parameters "Voltage Rating" %} +{% endraw %} +``` diff --git a/docs/docs/report/labels/stock_labels.md b/docs/docs/report/labels/stock_labels.md new file mode 100644 index 0000000000..eb72147284 --- /dev/null +++ b/docs/docs/report/labels/stock_labels.md @@ -0,0 +1,61 @@ +--- +title: Stock Labels +--- + + +## Stock Item Labels + +Stock Item label templates are used to generate labels for individual Stock Items. + +### Creating Stock Item Label Templates + +Stock Item label templates are added (and edited) via the admin interface. + +### Printing Stock Item Labels + +Stock Item labels can be printed using the following approaches: + +To print a single stock item from the Stock Item detail view, select the *Print Label* option as shown below: + +{% with id='item_label_single', url='report/label_stock_print_single.png', description='Print single stock item label' %} +{% include 'img.html' %} +{% endwith %} + +To print multiple stock items from the Stock table view, select the *Print Labels* option as shown below: + +{% with id='item_label_multiple', url='report/label_stock_print_multiple.png', description='Print multiple stock item labels' %} +{% include 'img.html' %} +{% endwith %} + +### Context Data + +The following variables are made available to the StockItem label template: + +| Variable | Description | +| -------- | ----------- | +| item | The [StockItem](../context_variables.md#stockitem) object itself | +| part | The [Part](../context_variables.md#part) object which is referenced by the [StockItem](../context_variables.md#stockitem) object | +| name | The `name` field of the associated Part object | +| ipn | The `IPN` field of the associated Part object | +| revision | The `revision` field of the associated Part object | +| quantity | The `quantity` field of the StockItem object | +| serial | The `serial` field of the StockItem object | +| uid | The `uid` field of the StockItem object | +| tests | Dict object of TestResult data associated with the StockItem | +| parameters | Dict object containing the parameters associated with the base Part | + +### URL-style QR code + +Stock Item labels support [QR code](../barcodes.md#qr-code) containing the stock item URL, which can be +scanned and opened directly +on a portable device using the camera or a QR code scanner. To generate a URL-style QR code for stock item in the [label HTML template](../labels.md#label-templates), add the +following HTML tag: + +``` html +{% raw %} + +{% endraw %} +``` + +Make sure to customize the `custom_qr_class` CSS class to define the position of the QR code +on the label. diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 46652d3306..38aef90214 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -138,7 +138,12 @@ nav: - Sales Order: report/sales_order.md - Return Order: report/return_order.md - BOM: report/bom.md - - Labels: report/labels.md + - Labels: + - Custom Labels: report/labels.md + - Part Labels: report/labels/part_labels.md + - Stock Labels: report/labels/stock_labels.md + - Location Labels: report/labels/location_labels.md + - Build Labels: report/labels/build_labels.md - Helper Functions: report/helpers.md - Barcodes: report/barcodes.md - Context Variables: report/context_variables.md From be6ab14c9bfc1b5387d6a7bbefdae9d46e5c1720 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 14 Jun 2023 18:33:49 +1000 Subject: [PATCH 019/103] Improve StockItem API speed (#5042) - Removes child detail fields which cannot be effectively annotated - Prefetch required fields - Add unit test method for checking query count --- InvenTree/InvenTree/unit_test.py | 28 +++++++++++++++++++++++++ InvenTree/company/serializers.py | 2 +- InvenTree/stock/api.py | 9 -------- InvenTree/stock/serializers.py | 9 +++++++- InvenTree/stock/test_api.py | 36 ++++++++++++++++++++++++++++++++ 5 files changed, 73 insertions(+), 11 deletions(-) diff --git a/InvenTree/InvenTree/unit_test.py b/InvenTree/InvenTree/unit_test.py index d609dc88f8..3590a6f56b 100644 --- a/InvenTree/InvenTree/unit_test.py +++ b/InvenTree/InvenTree/unit_test.py @@ -2,13 +2,17 @@ import csv import io +import json import re +from contextlib import contextmanager from pathlib import Path from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission +from django.db import connections from django.http.response import StreamingHttpResponse from django.test import TestCase +from django.test.utils import CaptureQueriesContext from djmoney.contrib.exchange.models import ExchangeBackend, Rate from rest_framework.test import APITestCase @@ -241,6 +245,30 @@ class InvenTreeTestCase(ExchangeRateMixin, UserMixin, TestCase): class InvenTreeAPITestCase(ExchangeRateMixin, UserMixin, APITestCase): """Base class for running InvenTree API tests.""" + @contextmanager + def assertNumQueriesLessThan(self, value, using='default', verbose=False, debug=False): + """Context manager to check that the number of queries is less than a certain value. + + Example: + with self.assertNumQueriesLessThan(10): + # Do some stuff + Ref: https://stackoverflow.com/questions/1254170/django-is-there-a-way-to-count-sql-queries-from-an-unit-test/59089020#59089020 + """ + with CaptureQueriesContext(connections[using]) as context: + yield # your test will be run here + + if verbose: + msg = "\r\n%s" % json.dumps(context.captured_queries, indent=4) + else: + msg = None + + n = len(context.captured_queries) + + if debug: + print(f"Expected less than {value} queries, got {n} queries") + + self.assertLess(n, value, msg=msg) + def checkResponse(self, url, method, expected_code, response): """Debug output for an unexpected response""" diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index f0833d18b0..f4c04fde22 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -334,7 +334,7 @@ class SupplierPartSerializer(InvenTreeTagModelSerializer): MPN = serializers.CharField(read_only=True) - manufacturer_part_detail = ManufacturerPartSerializer(source='manufacturer_part', read_only=True) + manufacturer_part_detail = ManufacturerPartSerializer(source='manufacturer_part', part_detail=False, read_only=True) url = serializers.CharField(source='get_absolute_url', read_only=True) diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 22358cfabb..ba7387885e 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -795,15 +795,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): queryset = StockSerializers.StockItemSerializer.annotate_queryset(queryset) - # Also ensure that we pre-fecth all the related items - queryset = queryset.prefetch_related( - 'part', - 'part__category', - 'location', - 'test_results', - 'tags', - ) - return queryset def filter_queryset(self, queryset): diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 103622ee73..2518ca3c35 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -231,10 +231,17 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): """Add some extra annotations to the queryset, performing database queries as efficiently as possible.""" queryset = queryset.prefetch_related( + 'location', 'sales_order', 'purchase_order', 'part', + 'part__category', 'part__pricing_data', + 'supplier_part', + 'supplier_part__manufacturer_part', + 'supplier_part__tags', + 'test_results', + 'tags', ) # Annotate the queryset with the total allocated to sales orders @@ -280,7 +287,7 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): status_text = serializers.CharField(source='get_status_display', read_only=True) # Optional detail fields, which can be appended via query parameters - supplier_part_detail = SupplierPartSerializer(source='supplier_part', many=False, read_only=True) + supplier_part_detail = SupplierPartSerializer(source='supplier_part', supplier_detail=False, manufacturer_detail=False, part_detail=False, many=False, read_only=True) part_detail = PartBriefSerializer(source='part', many=False, read_only=True) location_detail = LocationBriefSerializer(source='location', many=False, read_only=True) tests = StockItemTestResultSerializer(source='test_results', many=True, read_only=True) diff --git a/InvenTree/stock/test_api.py b/InvenTree/stock/test_api.py index d8c0a9cf35..b96d5c660d 100644 --- a/InvenTree/stock/test_api.py +++ b/InvenTree/stock/test_api.py @@ -557,6 +557,42 @@ class StockItemListTest(StockAPITestCase): self.assertEqual(len(dataset), 17) + def test_query_count(self): + """Test that the number of queries required to fetch stock items is reasonable.""" + + def get_stock(data): + """Helper function to fetch stock items.""" + response = self.client.get(self.list_url, data=data) + self.assertEqual(response.status_code, 200) + return response.data + + # Create a bunch of StockItem objects + prt = Part.objects.first() + + StockItem.objects.bulk_create([ + StockItem( + part=prt, + quantity=1, + level=0, tree_id=0, lft=0, rght=0, + ) for _ in range(100) + ]) + + # List *all* stock items + with self.assertNumQueriesLessThan(25): + get_stock({}) + + # List all stock items, with part detail + with self.assertNumQueriesLessThan(20): + get_stock({'part_detail': True}) + + # List all stock items, with supplier_part detail + with self.assertNumQueriesLessThan(20): + get_stock({'supplier_part_detail': True}) + + # List all stock items, with 'location' and 'tests' detail + with self.assertNumQueriesLessThan(20): + get_stock({'location_detail': True, 'tests': True}) + class StockItemTest(StockAPITestCase): """Series of API tests for the StockItem API.""" From 2322a9806883a310826e1d43dc1c451a31dcf53d Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Wed, 14 Jun 2023 23:34:00 +0200 Subject: [PATCH 020/103] replace assertation with more targeted logging check (#5045) --- InvenTree/plugin/samples/event/event_sample.py | 6 ++++-- InvenTree/plugin/samples/event/test_event_sample.py | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/InvenTree/plugin/samples/event/event_sample.py b/InvenTree/plugin/samples/event/event_sample.py index 0b77932068..f6638cb480 100644 --- a/InvenTree/plugin/samples/event/event_sample.py +++ b/InvenTree/plugin/samples/event/event_sample.py @@ -1,12 +1,14 @@ """Sample plugin which responds to events.""" -import warnings +import logging from django.conf import settings from plugin import InvenTreePlugin from plugin.mixins import EventMixin +logger = logging.getLogger('inventree') + class EventPluginSample(EventMixin, InvenTreePlugin): """A sample plugin which provides supports for triggered events.""" @@ -23,4 +25,4 @@ class EventPluginSample(EventMixin, InvenTreePlugin): # Issue warning that we can test for if settings.PLUGIN_TESTING: - warnings.warn(f'Event `{event}` triggered', stacklevel=2) + logger.debug(f'Event `{event}` triggered in sample plugin') diff --git a/InvenTree/plugin/samples/event/test_event_sample.py b/InvenTree/plugin/samples/event/test_event_sample.py index 4f28e6595f..9085117716 100644 --- a/InvenTree/plugin/samples/event/test_event_sample.py +++ b/InvenTree/plugin/samples/event/test_event_sample.py @@ -8,6 +8,8 @@ from plugin.base.event.events import trigger_event from plugin.helpers import MixinNotImplementedError from plugin.mixins import EventMixin +from .event_sample import logger + class EventPluginSampleTests(TestCase): """Tests for EventPluginSample.""" @@ -22,9 +24,9 @@ class EventPluginSampleTests(TestCase): # Enable event testing settings.PLUGIN_TESTING_EVENTS = True # Check that an event is issued - with self.assertWarns(Warning) as cm: + with self.assertLogs(logger=logger, level="DEBUG") as cm: trigger_event('test.event') - self.assertEqual(cm.warning.args[0], 'Event `test.event` triggered') + self.assertIn('DEBUG:inventree:Event `test.event` triggered in sample plugin', cm[1]) # Disable again settings.PLUGIN_TESTING_EVENTS = False From 013d206b91c275bd8cf3eff90bd8e1af592b77e9 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Thu, 15 Jun 2023 08:17:05 +0200 Subject: [PATCH 021/103] Add metadata to plugin configs (#5019) * add metadata to plugin * Api version bump * exclude metadata from admin to fix test --- InvenTree/InvenTree/api_version.py | 5 ++++- InvenTree/plugin/admin.py | 1 + InvenTree/plugin/api.py | 4 ++++ .../migrations/0006_pluginconfig_metadata.py | 18 ++++++++++++++++++ InvenTree/plugin/models.py | 3 ++- 5 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 InvenTree/plugin/migrations/0006_pluginconfig_metadata.py diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 816f71f77e..ae5f2bb9e1 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 122 +INVENTREE_API_VERSION = 123 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v123 -> 2023-06-15 : https://github.com/inventree/InvenTree/pull/5019 + - Add Metadata to: Plugin Config + v122 -> 2023-06-14 : https://github.com/inventree/InvenTree/pull/5034 - Adds new BuildLineLabel label type diff --git a/InvenTree/plugin/admin.py b/InvenTree/plugin/admin.py index 859f78ea89..39f0dfbb58 100644 --- a/InvenTree/plugin/admin.py +++ b/InvenTree/plugin/admin.py @@ -56,6 +56,7 @@ class PluginConfigAdmin(admin.ModelAdmin): list_filter = ['active'] actions = [plugin_activate, plugin_deactivate, ] inlines = [PluginSettingInline, ] + exclude = ['metadata', ] class NotificationUserSettingAdmin(admin.ModelAdmin): diff --git a/InvenTree/plugin/api.py b/InvenTree/plugin/api.py index 5568e5595b..1752704fd9 100644 --- a/InvenTree/plugin/api.py +++ b/InvenTree/plugin/api.py @@ -9,6 +9,7 @@ from rest_framework.response import Response import plugin.serializers as PluginSerializers from common.api import GlobalSettingsPermissions +from InvenTree.api import MetadataView from InvenTree.filters import SEARCH_ORDER_FILTER from InvenTree.mixins import (CreateAPI, ListAPI, RetrieveUpdateAPI, RetrieveUpdateDestroyAPI, UpdateAPI) @@ -266,6 +267,9 @@ plugin_api_urls = [ re_path(r'^.*$', PluginDetail.as_view(), name='api-plugin-detail'), ])), + # Metadata + re_path('^metadata/', MetadataView.as_view(), {'model': PluginConfig}, name='api-plugin-metadata'), + # Plugin management re_path(r'^install/', PluginInstall.as_view(), name='api-plugin-install'), re_path(r'^activate/', PluginActivate.as_view(), name='api-plugin-activate'), diff --git a/InvenTree/plugin/migrations/0006_pluginconfig_metadata.py b/InvenTree/plugin/migrations/0006_pluginconfig_metadata.py new file mode 100644 index 0000000000..f874365070 --- /dev/null +++ b/InvenTree/plugin/migrations/0006_pluginconfig_metadata.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.19 on 2023-06-11 16:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('plugin', '0005_notificationusersetting'), + ] + + operations = [ + migrations.AddField( + model_name='pluginconfig', + 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/plugin/models.py b/InvenTree/plugin/models.py index 4f7b1eb443..8877997f9a 100644 --- a/InvenTree/plugin/models.py +++ b/InvenTree/plugin/models.py @@ -10,10 +10,11 @@ from django.db import models from django.utils.translation import gettext_lazy as _ import common.models +import InvenTree.models from plugin import InvenTreePlugin, registry -class PluginConfig(models.Model): +class PluginConfig(InvenTree.models.MetadataMixin, models.Model): """A PluginConfig object holds settings for plugins. Attributes: From 62faaf01c54f67b5e67697fe5dba03089ad11641 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 15 Jun 2023 16:42:52 +1000 Subject: [PATCH 022/103] Stock installed items (#5030) * Cleanup * Add "installed_items" count to StockItem serializer - Add queryset annotation - Add API filter for list endpoint * js code * More js updates * Load installed items on demand * Make option configurable --- InvenTree/common/models.py | 7 ++ InvenTree/stock/api.py | 9 ++ InvenTree/stock/serializers.py | 19 ++-- .../templates/InvenTree/settings/stock.html | 1 + InvenTree/templates/js/translated/stock.js | 86 ++++++++++++++++++- 5 files changed, 114 insertions(+), 8 deletions(-) diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 08326d6f25..8bcdec7eba 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1467,6 +1467,13 @@ class InvenTreeSetting(BaseInvenTreeSetting): 'default': '', }, + 'STOCK_SHOW_INSTALLED_ITEMS': { + 'name': _('Show Installed Stock Items'), + 'description': _('Display installed stock items in stock tables'), + 'default': False, + 'validator': bool, + }, + 'BUILDORDER_REFERENCE_PATTERN': { 'name': _('Build Order Reference Pattern'), 'description': _('Required pattern for generating Build Order reference field'), diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index ba7387885e..356e48feba 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -510,6 +510,15 @@ class StockFilter(rest_filters.FilterSet): else: return queryset.filter(belongs_to=None) + has_installed_items = rest_filters.BooleanFilter(label='Has installed items', method='filter_has_installed') + + def filter_has_installed(self, queryset, name, value): + """Filter stock items by "belongs_to" field being empty.""" + if str2bool(value): + return queryset.filter(installed_items__gt=0) + else: + return queryset.filter(installed_items=0) + sent_to_customer = rest_filters.BooleanFilter(label='Sent to customer', method='filter_sent_to_customer') def filter_sent_to_customer(self, queryset, name, value): diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 2518ca3c35..77293e3542 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -133,14 +133,12 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): model = StockItem fields = [ - 'allocated', 'batch', 'belongs_to', 'build', 'consumed_by', 'customer', 'delete_on_deplete', - 'expired', 'expiry_date', 'is_building', 'link', @@ -158,13 +156,11 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): 'sales_order', 'sales_order_reference', 'serial', - 'stale', 'status', 'status_text', 'stocktake_date', 'supplier_part', 'supplier_part_detail', - 'tracking_items', 'barcode_hash', 'updated', 'purchase_price', @@ -172,6 +168,13 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): 'use_pack_size', 'tests', + # Annotated fields + 'allocated', + 'expired', + 'installed_items', + 'stale', + 'tracking_items', + 'tags', ] @@ -282,6 +285,11 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): ) ) + # Annotate with the total number of "installed items" + queryset = queryset.annotate( + installed_items=SubqueryCount('installed_parts') + ) + return queryset status_text = serializers.CharField(source='get_status_display', read_only=True) @@ -295,10 +303,11 @@ class StockItemSerializer(InvenTree.serializers.InvenTreeTagModelSerializer): quantity = InvenTreeDecimalField() # Annotated fields - tracking_items = serializers.IntegerField(read_only=True, required=False) allocated = serializers.FloatField(required=False) expired = serializers.BooleanField(required=False, read_only=True) + installed_items = serializers.IntegerField(read_only=True, required=False) stale = serializers.BooleanField(required=False, read_only=True) + tracking_items = serializers.IntegerField(read_only=True, required=False) purchase_price = InvenTree.serializers.InvenTreeMoneySerializer( label=_('Purchase Price'), diff --git a/InvenTree/templates/InvenTree/settings/stock.html b/InvenTree/templates/InvenTree/settings/stock.html index 8beaac4620..b0badca6de 100644 --- a/InvenTree/templates/InvenTree/settings/stock.html +++ b/InvenTree/templates/InvenTree/settings/stock.html @@ -21,6 +21,7 @@ {% include "InvenTree/settings/setting.html" with key="STOCK_ALLOW_EXPIRED_BUILD" icon="fa-tools" %} {% include "InvenTree/settings/setting.html" with key="STOCK_OWNERSHIP_CONTROL" icon="fa-users" %} {% include "InvenTree/settings/setting.html" with key="STOCK_LOCATION_DEFAULT_ICON" icon="fa-icons" %} + {% include "InvenTree/settings/setting.html" with key="STOCK_SHOW_INSTALLED_ITEMS" icon="fa-sitemap" %} diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index ffc66816bb..77080a1205 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -1724,6 +1724,9 @@ function loadStockTable(table, options) { options.params['location_detail'] = true; options.params['part_detail'] = true; + // Determine if installed items are displayed in the table + let show_installed_items = global_settings.STOCK_SHOW_INSTALLED_ITEMS; + var params = options.params || {}; const filterTarget = options.filterTarget || '#filter-list-stock'; @@ -1769,18 +1772,35 @@ function loadStockTable(table, options) { ]; col = { - field: 'part_detail.full_name', + field: 'part', title: '{% trans "Part" %}', sortName: 'part__name', visible: params['part_detail'], switchable: params['part_detail'], formatter: function(value, row) { - return partDetail(row.part_detail, { + let html = ''; + + if (show_installed_items && row.installed_items > 0) { + if (row.installed_items_received) { + // Data received, ignore + } else if (row.installed_items_requested) { + html += ``; + } else { + html += ` +
      + + `; + } + } + + html += partDetail(row.part_detail, { thumb: true, link: true, icons: true, }); + + return html; } }; @@ -1791,7 +1811,7 @@ function loadStockTable(table, options) { columns.push(col); col = { - field: 'part_detail.IPN', + field: 'IPN', title: '{% trans "IPN" %}', sortName: 'part__IPN', visible: params['part_detail'], @@ -2164,6 +2184,37 @@ function loadStockTable(table, options) { title: '{% trans "Notes" %}', }); + // Function to request subset of items which are installed *within* a particular item + function requestInstalledItems(stock_item) { + inventreeGet( + '{% url "api-stock-list" %}', + { + belongs_to: stock_item, + part_detail: true, + supplier_detail: true, + }, + { + success: function(response) { + // Add the returned stock items into the table + let row = table.bootstrapTable('getRowByUniqueId', stock_item); + row.installed_items_received = true; + + table.bootstrapTable('updateByUniqueId', stock_item, row, true); + table.bootstrapTable('append', response); + + // Auto-expand the newly added data + $(`.treegrid-${stock_item}`).treegrid('expand'); + }, + error: function(xhr) { + console.error(`Error requesting installed items for ${stock_item}`); + showApiError(xhr); + } + } + ); + } + + let parent_id = 'top-level'; + table.inventreeTable({ method: 'get', formatNoMatches: function() { @@ -2177,6 +2228,35 @@ function loadStockTable(table, options) { showColumns: true, showFooter: true, columns: columns, + treeEnable: show_installed_items, + rootParentId: parent_id, + parentIdField: 'belongs_to', + uniqueId: 'pk', + idField: 'pk', + treeShowField: 'part', + onPostBody: function() { + + if (show_installed_items) { + table.treegrid({ + treeColumn: 1, + }); + + table.treegrid('collapseAll'); + + // Callback for 'load sub-items' button + table.find('.load-sub-items').click(function(event) { + event.preventDefault(); + + let pk = $(this).attr('pk'); + let row = table.bootstrapTable('getRowByUniqueId', pk); + + requestInstalledItems(row.pk); + + row.installed_items_requested = true; + table.bootstrapTable('updateByUniqueId', pk, row, true); + }); + } + } }); var buttons = [ From 51cece9e07da854c11a52c5c9ca56719713fce25 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 15 Jun 2023 18:59:50 +1000 Subject: [PATCH 023/103] custom panel fix (#5049) - Handle case where get_custom_panels returns None --- InvenTree/plugin/base/integration/mixins.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/InvenTree/plugin/base/integration/mixins.py b/InvenTree/plugin/base/integration/mixins.py index e4978ab6a2..c969d65f61 100644 --- a/InvenTree/plugin/base/integration/mixins.py +++ b/InvenTree/plugin/base/integration/mixins.py @@ -467,7 +467,9 @@ class PanelMixin: # Construct an updated context object for template rendering ctx = self.get_panel_context(view, request, context) - for panel in self.get_custom_panels(view, request): + custom_panels = self.get_custom_panels(view, request) or [] + + for panel in custom_panels: content_template = panel.get('content_template', None) javascript_template = panel.get('javascript_template', None) From 31ff3599eb985a83ca6e96ff13a56656abf7d989 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 16 Jun 2023 12:14:17 +1000 Subject: [PATCH 024/103] Parameter by name (#5055) * Add method get_parameter - Return a parameter for a part, on name * Add unit test for new method * Adds template tag to retrieve parameter based on name * Update docs --- InvenTree/part/models.py | 25 +++++++++++ InvenTree/part/test_param.py | 14 ++++++ InvenTree/report/templatetags/report.py | 19 ++++++++- .../images/report/label_with_parameters.png | Bin 0 -> 17515 bytes docs/docs/report/helpers.md | 28 ++++++++++++ docs/docs/report/labels/part_labels.md | 40 ++++++++++++++++-- 6 files changed, 122 insertions(+), 4 deletions(-) create mode 100644 docs/docs/assets/images/report/label_with_parameters.png diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 83c2c63de5..51f0b4d460 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -2176,6 +2176,16 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) return quantity + def get_parameter(self, name): + """Return the parameter with the given name. + + If no matching parameter is found, return None. + """ + try: + return self.parameters.get(template__name=name) + except PartParameter.DoesNotExist: + return None + def get_parameters(self): """Return all parameters for this part, ordered by name.""" return self.parameters.order_by('template__name') @@ -3598,6 +3608,21 @@ class PartParameter(MetadataMixin, models.Model): blank=True, ) + @property + def units(self): + """Return the units associated with the template""" + return self.template.units + + @property + def name(self): + """Return the name of the template""" + return self.template.name + + @property + def description(self): + """Return the description of the template""" + return self.template.description + @classmethod def create(cls, part, template, data, save=False): """Custom save method for the PartParameter class""" diff --git a/InvenTree/part/test_param.py b/InvenTree/part/test_param.py index 91537cbfa3..63a3b4f8d2 100644 --- a/InvenTree/part/test_param.py +++ b/InvenTree/part/test_param.py @@ -63,6 +63,20 @@ class TestParams(TestCase): self.assertEqual(len(p.metadata.keys()), 4) + def test_get_parameter(self): + """Test the Part.get_parameter method""" + + prt = Part.objects.get(pk=3) + + # Check that we can get a parameter by name + for name in ['Length', 'Width', 'Thickness']: + param = prt.get_parameter(name) + self.assertEqual(param.template.name, name) + + # Check that an incorrect name returns None + param = prt.get_parameter('Not a parameter') + self.assertIsNone(param) + class TestCategoryTemplates(TransactionTestCase): """Test class for PartCategoryParameterTemplate model""" diff --git a/InvenTree/report/templatetags/report.py b/InvenTree/report/templatetags/report.py index 5f90ff807f..cb8c8f2105 100644 --- a/InvenTree/report/templatetags/report.py +++ b/InvenTree/report/templatetags/report.py @@ -181,7 +181,7 @@ def encode_svg_image(filename): @register.simple_tag() -def part_image(part): +def part_image(part: Part): """Return a fully-qualified path for a part image. Arguments: @@ -200,6 +200,23 @@ def part_image(part): return uploaded_image(img) +@register.simple_tag() +def part_parameter(part: Part, parameter_name: str): + """Return a PartParameter object for the given part and parameter name + + Arguments: + part: A Part object + parameter_name: The name of the parameter to retrieve + + Returns: + A PartParameter object, or None if not found + """ + if type(part) is Part: + return part.get_parameter(parameter_name) + else: + return None + + @register.simple_tag() def company_image(company): """Return a fully-qualified path for a company image. diff --git a/docs/docs/assets/images/report/label_with_parameters.png b/docs/docs/assets/images/report/label_with_parameters.png new file mode 100644 index 0000000000000000000000000000000000000000..b127849f1f8cbd9c89ce1a12eaf71ba0cd671ff6 GIT binary patch literal 17515 zcmeFZWmKC%*S`y;lmZ1xDNww{HMm=g7IzQsF2S|5rMNo;m*Q^0-3boGDHhy4$Vs2~ zdH-vjbv~Z+@q8eQncQK>+%tQA``UZop~{NVSQx|@NJvOnGG8TBk&uul5x;l5et~!e z&^seKkdQ&D(qc#zP|`g_NcmSv6DLQ4)vcGcxna!Ie zzbHFbOE~8VRm`L2ZmixHy)IfOkKS1I* zvDRCW|Gr(N+>nT#%vK(7;O_lYzH~45Oy$OQ##={bZs4Nw6`MfYC=it(h-N%B!M>oI zrlir{X>6m$ezLioT%n0$=^dPDCf*ovg|?9j=o2#|C#yn>r!b)hfCkuXlYZZr02ur4 zyFQ;r8Sof5SabBZfW=PEOZScMkP#CVgaptA)=JnnmXnwKy>E;|bRqiofY$bn8YIH4 z`{DCH{n8sh2fRe|*I@v(tvhohnSd?c`A&Wh4u^WxlDYJ8PGk&}V@#h8{?~nboq)-J-cq1YG=|l~; zMNH824$GCV(_bF@oxM%zClPt(2G!y}b9Xo`uoB`;#2J%g{{`VF?J;|W<^MatLZy~}NcQ>C0xp|qi~wj>6* ztBZlJpRQvgFM3|N+D=YDzI!<%7fPdS5~T>v*{_IttNEJnEQ*I-mX4rhhfn%kHZPR` zq;?8|P$qZ2eDS05Xv5DDtvcK8JrtSg%d9)#*JYBtH1pw`HjlB`X@5k+CgT@zxoqSl#>xs zw#aw=FopVmr@UMGj!7`j4A5&WDV0`tc}(-ud=dy&|0x*&*J5g!rmuZ*Z8ft;xzPy z9dqNBdY6(P($k=lr?QZ%wR16rocFZ39&&BU=x=$#+DoTz^v?!RS7`=KIaPbX;pk!M z3AGI%*CML|?Y-Hah~?m8bNYu=XDaZ|E!x&N7GB?-IEU-nXQ7{UW?tK9q$a`&46b^K zR?X)q!p>J?^eA`!D3&1-Mmg4|tQ6;tTriWqj26XIDJlV%?xG23JNL-$bl6LaU5?9B){gCt za1eW-ijFkziMufTdA$66iI4RTuxI$FXVT5m_&y*wvnrE*4D#J3(AbKQz+!amCPCrH zPfWJ<>I`Z4r^%5Ua0mPo%ZUXnzdbTMgJi0cQ7NvKBV)czc^F&N~p&t4INc6uu4_IqRp(5 zD8OJo)`hF%ej@%HU#6KT++(Ht_sRsSCQw0OkW}XC*4m6S zAd32~JA}BesAatLj~~3!@6VGej6=l?TuL5CK?m2A7?_@}Byy8eXAfoI?zp&De;(UIpuJ`+YsZ>AGn&IcXsstJA}_hknrrH>pIp=!F;vv z4cQNDUz3OOyRZE4KE{Alx1d?dN_Nx_>H@qMXK580<~TfMDQYK?I674LosO^m+43ek zZV!OsMq$NHO+g7I8ZOE^+s0AqUz6K(m|@%9{k< z-L5w;G--2ZUHLMYWZGKTIu!{z{}RoAs7cS;$9Zrc1Rq2S&a0`xWJSuac(YvsbLLfp z$b~m3#-WbStai%tnhL-Y{smnfUEL+kitWk6toFa*H_Py{T-FHcyROhbWG|};GxH43 zHitqB{^lI{?Q41z8ELfJEpW{FdH4sAG&;hf$dks zD_^8m8W;p$-$db`WBb(pNyf^Medjei$RhNK&eYIJl9Cf+rKf^TL>goOun{XB9Aw#O z-;he&If){zw99$$NnF#+qk{Tw(N&a5M?1xF zpXX^exVt0g8_%bV@R5ek(6KQ-a=Sp6j7fK1bi@R&w)uhV?L55cuJid!_1*94RO>B;hy6xH_svZ6hpU=;x zJ<7GFo&{h}5s3^MySFDnZ|Vea&fwej#oGDVP|tpg>d_v*qtNAnN{-zRPaEK-W)xi1 zep#<^uQ69_LmqcP(A1U|iHq2tz8)uRqmk9$j=MxGaL-4v<#&Pxw>uyk?n_#FmJobWCa-X zEZ8E{nY8K`(w)6|FM*Z8B{;Lpu&qCxSBHdb!=u6ONNTTJU?QfSGfI>#N zo{KKtK5lfX=a}Yw{hchoy_S*=&c-K zGXJ$KsG_r7O2gV5Z8KfNmfLP8?a{JwwH*W>UU;;%jELgTaAnNZ=y`=j+$5;-iO+yR zkI*;hg}*7zV8)2!$?^ubfCA|>U1#H$jI_iIMvY>f-zv4(U3r#e{C6RFC~D+fFbrEa zbP}?uu3*`r@>oNolUUCA;@yaBk+_+k1!RXR2J4CE&#ZxWGHG7cMJV`F+*p4KwVK23wN7Vp)n!sr zFu+=M=hHZTXWI>E_g{aefmyUIul#NMLK}d}BZIJh=0?0exQm+{ospr-f;fQDxA}9kdiCdev6kOpp64 zd0=gI43t@Huc%=xY#*s>!C-m2U-%$wtQVlg_-S;4>LJeMk7QUYXnt+=&#cNE>ub)E zWxoTw-TYIuJXDxP$LeICl;+5`7P%9j;ncm0XBEmq2O%dm@R7W{;L`~(Q=w(sPUUr6 z#{h&{Xw&AA7vzSo+5@3Zk%?TlS4t7i{tEr^buKHINaK>U=A6-TR_DP%heVdTyBV)? zc&%{M6a^eoHUK(o$-4it!5gmomMou5ZS8q=nC{8mmbV0xpkv=?+XxV~gRm9tRHYIJ zXUwn2R0cm?CJ?oUrVx^wX)BLja2De?pG5AH zVm(0LPe6*JapY}nS$$p~oXO5)6lh~A2dR6RVF(>O+lw< z!5S?thfM|8T09Sg!V8T34CG)I7;n6==7748VhPm6}K?6>Aq{w~=C{ar{B-EtdTo9q;Rc z;qVl{fL|mujCfgIF7`4tFf5B@>qpDFxFkGJi@<7^MEK|?3R6zmFy|3ulSG$A8X3&w zFFLMv?Um!A^hS5Mr1K36Q13Fcd6Q=zC3FW!tX<96hLcxBhPZzfAS}Cd*CWL|J=k@5 ztIbkEoG_%|R6Y&bl=iG^vJthPFX}-3Ms%YDCOd0#z)5+{ zZaK<+v0>!Hm~T55xVlT@-O-(V$Y7-W++kTqlH%N4iSJBv$J3)U$)O8P3_H$PR$5Ev03rD)3=|0jijGf2-5gL zr1?6V0GXU{Mv> z^fj9010U~I!!W$Tz-roUTX^D_LZK@od@o(#?lSGYPjoq!@WuAtHWdoVV(Q>*DAC{4 zm$?~M6JVyxG=IbGk=eCPAh;3@O+BIh_)k#gtkBsBT#U51Wvo(Qx5?r@>7l7HSI=#~ zR=vz~whN}cP3zy1pU9klz#eMDI5H-{-Gt%X=85mqH_TfRnmKy?sf9CzNB?7K1l`H5 zOufAG!}$xu0l_z%Q8IHedQXr2x6omDAX~1 z7gzCw{gs~rMMY<&v;vGVf{DlPJ|eXi#-dwqeN%i3TU#inm66k4D0P>)W~F?;PK25* zY&`)kU8CGd9By3g7=}O=c>7f-TKD(nZL_nAwYn3_8;V}>M?YP#M3ROi zTH*ExDC)R(yJ`(NN>8&Bp9xeXdQoVhctGA%pkWNxKPSsnMl{qpw4xX=mPyggKS<@YPx}2aM=dV1$pGdWK}DaE*b`>D+2AK z-EivCqmeRlDnJl8jDyO%HYacS2J-_gS9OVcivgbDv!?wLYMt~;PYp49XzRP9iFU3n z@W|~-lu$r22*i2)3WnwIwv|bgF*f+g7<0UJr2PSH$2>oSOma4rU2V;)tlTFRhPIFs zQ!$exQJb>6nYLpltkVINr}-o^g?;@olBS67{LLAjWOQNEHYzB&+FfaS8Is#5H;C)* zy37`zxU1n_&XD(hr zEjYN$s6DuEQ7@cIb~9F2;28N1x=?~9qPxX3UcOnZv>=MpAgghVstha{)pmZyvZEp_ z38a2}%R%LUUutyy!FPWSp#D`$+4-e$)=A6vA^j_|SD9Mvnj7OI4+^g@UXv)sDjreE z0uPiV>G?`wX@WN+g@Bqshp<^vAN@0}ZQkv&czVz8R9Ge1vm7bla4MO0j)hvgOm{4@ z@4UjuM^Dc0GeI5Y_R>5a>$K%~Zi#t~emj5L-M5@OA$N2KQ`-CIyF?GQQAcCCSR9)J z>IG>IVU3Hx7*;vXO=+#1G8INALfbjq4xQyVjHfv4F#*9=0cQcBQb5G@yOq?bZ=U@| zJ7a|Y?_q_9#|nF7k)xg83!(S{21^yp1;Bn!XMeRq97ty^)?%dQh!Mhx+0p}=neMxu z0P)38V2nYCEa7=?KWGAst_bUr(9ht{LX!h>>&p-E%?0tyl*+W1NEaXU z_dniMmr`kD;Avm-0b?xEB0wlbpIlM5o2wPCf2=M0Oc$MS=VL#{T$tIkne;xt(PcJ? zT6q={?vA=mec;f)E;P>|`656p>KA{!#7E9gEWo=dl@MOm5jbHysc#oq&C1QJ*G=kv_A+Pcs_X|SaP#oUkx z>0A^@wBl59XW*_-F}p;VS)iYA35L6wQYVHc280gUi@ z$aS*bn1A))wB`6w?BnUL_EZhYvty(EG8St&X+s2t_Tl=qy`B5aW5n%0I{fI-PTzU- z!c{hhpVv=`&P+8^|CIdNj}s6)TR{B2ZWHleHn{KlXY2u;r($Um?sc-zVd z+X!jTq%c(CdG*r&4hr*Z zKTD@(W4}_`Q@vzd=@ZvRwgw_{9eEq28r<{y54!%Qa%K1j(O7O#nX63ATDPlDb37$f z?>0+Atcv~uNhgzQpPOOU$y&LK>%z-au}B@LK|9OKqj*1x`gP=umTVTygLLXa@5Wi) zlmOs1p`QhzV~^G4r8L9gLesAv3CWwzPgh`$L+{t7w`Oxz*c~K@iq|Fs--e?7D4q|< zQK)>(nzZS?nR!$2ol<6LYOc;?T4XYPTtvp0Q7SHr6?<$~Hz*}J7Kzh^+&Q*5z;C!Y zVDzZSF43 z=`H@VPN_?)!LLuAY>$N?9iOX>e6qtV7|T1G6n*zy3+6fNF(21Q^mf0;%fGXEddX2I zKw(F*tn1@BsY{XVlx+Fw!T7_TAD{yHn9IGD>2%mNbL8&I9|1?FcS4{B-N6ZAEd|6P z5Xm4{n6FTYG={G_0eROwvQNS3>5pvv@g+ak8D1-ZeOoRmNZ8F?dOO6wFF~~EWv;#d zrh7lIW^<&P*KaK^C&c%VS)nx2D;Jq2O#{-rUuX0)VeJJAHez`Vf2h7?`*RI%8yqY43ZKGk(s0-7GJ*_scA7$=}6O(j`o_LvhT={ zY!C4*8S+@tgjNmrG69j%hvpURx3cE6*((be?Zi1vMLK2w+$$`P347*BFdZkfY1i!Kfo ze0S43P_;pX@wpv1|AdT;5^81$tsh#&0%%BQlqdvy^@b>Ieiyn+N z1(~qU+}~kmpC!i&XX%=Gm5Z#3K9XFNy2-un!WU z(FjvW5sd{(lngo3w}})fyL}`-g)0{!%uSo12un7xU)|@I{k#=3zPCv}442HM+%VZ8 zFN#L?8pq)N`a>4^FwDD@L%N42ga-oY@HgY7uq=Id8J71VrAq#4N8CiQb*JLT%8F2p z?Q~j_i-s~PTaMQl0SZBe_fV>8{}p$hfX{r*`n`gus)fd*n8isz_M*C1h~dDk+9!R| zGWm4;ERAIg9bSWX{@cjX8hsr)Vy#nW;9tL9q6S}5kn{KrHC!mQe_5BISy(eL5NTgtEyo#f_3`>ynODq!S9h`E^l=py`Qy4Gd|u;b>^ zRJW^tcvMEt*Zbyvmg&rcyiHEUhhE3+>yl^PqIku- zOMho5I#86*0@lw$L`o_#;d9&XQ*!LxU!S5}=cTMXm>|puqfijx$zxsoL~VD%q@GP< zt+$jbL-P`Wn&X+c#p4?Cgws4^m2EG*>NM53$hh=9@`VJ1Je+(y^zMZOQ#uD1%iVUD zA91u{R7TVnSD`^YOOOR(SR`lknVfcW-L4>A099;lTuly@y=s*Z0$lmQJrIIG-U_ww z%Xm;C1V;bjNg^c!?$k`D;T>ea`N1N-Al~0g$ll^*8L-pl7=mX6>Si$MaG!ee$OaEv1h z>M}cfnM(SL@bo1ST5PafW#e&6P1wMYhSrIi4jwbj`ce#y^8HjPFinS;rM0 z3g-W?6U0Hs*GS)eh=3nm$L7i!>PC}4Kw_Pawu@=g!_=87h)~Wpy{mFe}RwW>uKKb*XLCZwYW!jFETH)!G8_p(6v9>DkXVa$_y=+@KiAb&1OYNq_} z(yI#pF$aB_#aVPfzm;i(VTJ#031+2=^Z321{j?_q(|)0`7%UJ?y^X{v76x>}z#Fm^ z$hH>$d;eZC1;L)+=8|%1>is_xy8*SUo-+57A2G$g`i{sd_Rj35w6C@PJ}eOQvKJhl zMCf@-46eUaBmqA_|71ukQLn0~ z8LWa2PW?Tz_JbrWZ9TKytV|RN`kj#FZ=i4SM}SPO4VV(4E$u zxxj$@1!qhWO_^_S{o2GDer!GkPGJ~8IHgqo=>=?OIiyGl^@V3c25-#**P~Pdle5+- z+~klvwQ~mLOPqHu4!+V>qD|}ir%hCZ@SYF#zWb}=v7BvVW1#teMjlh>V4DjKYp&r9 z56v30mu&@^Sd0<0w-T%TpofU1uWvF>294TUk+>v_?USfqBDCGxJ=rmw=;Tqp>o|s| z)@GIh*?zAT5GdaLGPhw}@a2*0m(s++CXSkS-fu5tdGsy}B)_F#IRSXrmvga7K{Uni zmP9Gk*fyO*c=NX@i8EXturCwcqm{B(_w@ZNT_5LsV&<4_n2r7|K+R!fwpqdvaJ&c+ zmpwf5F`Seos1XIOyydR?;gK=ipqZqJ54M@Ho%1>!E!PskWvCI*y8Pr&dHHq(-c0HB zn#`xqjs{!Sa(;W>OEhv4vd21J9`+jR)V!4qA z_vO{)(S6o-+B)#TLIqR2uDs4!)p{wb#YZDM!Iph}0;eu55IpkStn4V-Pc~1JJ9|fM zh|s5^e7JI}34buhhrTB8G5lSBVE@8GGFw622FGV=@kYgtSoMO3Pi?Xt92F?2pa|SG zX@QE2%&m`<^V$PWe{RFpT*%aKq}7qYdUeKb00U9o9Y?XfYMYm)wc7o~BAP!VZxNK{ zFND)t!imB7y(UIF zh-S}6AX&`&Z!ZFIpIA|t!@@)}LL5#$p8!6hY$m%MG(NIx@ej$s@6S+%29(wyW`kjx>rx!D9di(j2Bnkl)%EDu<0wo+JmlyIc8n!cdQADG$Ys4Hyh2SxM zX?GtDp&G5XI;^JBciI!pT7#WGw;#K){j#Bo37*bUMjBMVq8vZ0)m_INDJ=lnj-!i^ z_!_Nxj+cRxZM#zH1yXB{tDM`sLuKjlLviDr2UTjinvyraxj(sgF~69nizk^J;#-*~ zHn;TOQ^e>3UV+nH08?^vuD!22>gHSJ4iNqnW`!M2v5W=@QCFD8ew%3QQCm6z{rslj zm0*$1Nzr9(9%<2_5+c^Oj1^n6^s|R`#jDcyAer8|o?@1!YmntZ#8Oy4p^4FP(_4+a zI)jETP0-^hs6K-%^-#KtX~FEA=HWr&1P8lFC(cy7%=4<6E_JQIH9!Kj6Cz214cjTq zqS*Y3e~6I$38akv)!F>U6r;U9fV*LqB}wg^afX5c?>QEoqc@xv;VQRbnpm)~HM=8g zmIIbBbbFy@Y33!bbCZXwrfHvf`J>Iv&+jeDJPU{wzha$N2Sr@qrSsZNWCx~GZQEy7 zXE3#kAy=XYUy#496Qg%>EvHH3>F2Fn_1?YI@KMqa>mUmFyE_NzSrkZ&SpXYyUw)KR zSC@kdi%JpLvrhZ7cmynr+TxlC{(kRw!ymm>m*#H`G-oV!2_#W>Z5!iTiT1X^VD=`T z+?}`G2L_6l6ZcPrv(}X@(J)&aRAbIN^cxB^xIM+}DAIp<@F$*4_d7TiqS({o{m`Kv z*&uFFx#U56d_Try>CPIxyKAS|Mq%8SF#t3z@!Ee1!T4wLfY8MJV|W(-dB{ZJjZEK* zYtw1bts673n<^$V{-lRL(?NBq{$oWX7@zddn6|7)DWAgUsMH0t&aXb>a3lowaM}`k z?Z=x4Gtu~eL1XeJ^hbqJayf`ot*7!3)t+Ri`mybqB%o=8?xfZMpJS`v6_LR#=;S>L z{NIT;ea@WmdmPSL3!<1#3wf~}Thr#l;M#SoftICw=Cf<>(f2S{bmNu&B27RGqn~x! z?%cYMt>pG1FtEPZ{e{05nh!AHLA5^k#6KsSPiB9ts9!yEC-I;q`cqskoQe?%%ChLh z&#U!dZ4D|B+MiGH)n8R0vb>Kci|`~s!BIOY-H68Y3*}`V&FDD}O4_0u0+v=^yaNb5lRu{)w2b=~nSi9Y zJOH$=1tsXOTU%@pTrpxntVoxi{Up*{w8|6C^pm`N{DBK<&1 z%lA!ba6fcAy>Vrfm|kh+NmQ0mSeEc!=%M$*jhymrEr_`>J*cv}$&?(4XP{%Q8*qHS3`@-Z5MEmaA_D_3# zY(U^!Z$%{|(O3%GCEPaKd>yWYOi7vlwKn+w_Ro>YugvXxeE3w2-2NPNJ5-cjbC-Ip z;Z;ml`u=>Hw{#)r*-{^idDrr*cn8LLbi_BVsU@_z?tZgWuFM`{zxd?86+PVm3c8}= zUu&;*j4F*94%aE&KJ3%L{F=9vG!u`Cx7e5!pjT~a4^97JdhmA5bee6q>KFOtTjA7g z7QEo`vfvVMdP6go#yGxaWK*Gxm4q5>gYfy)K;JlK-03hjU+lK1sGRI@DqEYn!FWpE$+&=IGKB zaHLBAhQC*SYRaPD3iP;GXK5ocF#}-)h$v_%;{B0+-F0z1seF0f&v{a##K5%oUrUCV z0H$WnRGYw9flK^U)Y_BrBJnM`OqE*hFyzXz@H~}9{ZfFQ@*T95?+-am5ASpE*@dbi zYzLUW{_9$+CoV2Qq5K0p>=TzqMVMoN+ddFXk!)EAgZSWG^1KPr?9+u8YwYG`iZBa(Vl_+} zBW1@`Q~Y{%nZ;}OA}XaxcYxwf{EG3|VM@DycV&H`d2O|zp~aIn#plRviwUd0a*)!S zi`|bLPf=@YVQuck^c$&lp9tjzdRre!ZK&k1vp2GjDdaq4-aFfTMX3xjcea9(x03$zCYM6KoiLiK}biUu+%} zO#XOay4(QC^RB;eEmav>otw)kNw;hfF%FLw{?sk9!248?J372pGI6iFn|eFCnOXcL zu9-82m}IJIKctkgf|PR|=N@JbKZKP0et}2!P!PqA}#D%N;e|5zLzQWmtN)jPz#>2d%N# zeBsw}%ikDxcTnuk7oe}8qF=MtTAgR&kifC@ROv~>OqXvPu~9u6Fn=n_D$cA5>lZ+R zxu75p!=i1V%y5Nb{+9ymBhH+3tTT#sHTr|#h+8;wnt=A2o9hRS@r}dN!J}p18C=r8 zh*zZWMCgv#)?n1Xp*J{;zlKk1QCrC?1hPq-A-Vv`{XMdjXB@+x1HYAv@Ds1i>f_4k z$7U_OMYj%rrH!zydZwUPppAZvvz( zDi?6AW+Ax)n1X+F;?=GAjuU7p@RiMI{hpv#w!K;75_977=zK%c-@0D3Z+3WMFSo-< zG{e?1TI33NN+Z>XRu!eKx+V&^O$0`b-gz2Z2uj=dYQ3{SgvG91b6)vuq(g9kttb0= z9$6hUYQ9Q&8L93WrHSkguX`N{8XBArcX8!_d4<_0S(E|Kq+zra=?aZNKGfU#ZOVq2y%E zy&SfXz*s=gq+33(?;#jSBLsBP})VD9WA=q z{9N?@=WVCE+Zk!Na=qe%g?=tgou~$x4z`n~Ejy>}rg&8lhv$ zsgTa**89O^(6boAP^OE{Lprk%@iq4xlFbbU2Vq%t_HM;knycBigI&hnfvohY_dyYe z3vrzQ*|z6kCMAXw2r3r-bB-Apo#r=072(*vM~1y0P;UxIYG7#MDWU$|2K_gF*^8U4K{QZ z9eD3}cj^&Ef9ez05MY);yj33CBkY-RK8O>r>n9(bejM!IKw4pMNn<4d;#7Xy1Wtcs zb{G5l_RHxv$>gWGY6VPLk;2qlx2=4?uT8F=7gMR5!I$XRw2s~<><7p1Th%Q(7759} ztM;N3wftq*%gyDj{_8j4e)rLAKhPshf7UnB=~{YO+T1^rR5#X|k*UXqafkCI208#% zIG|7@2BpspPQ*e`8rj&65DJfLK-4Ggx+4LrniTgA}GF|$A=r)5-xqdHg!&FQ%E1-KMhasrZ)Ex|t^AadmW)4f<}tOTeG z3lr&euZ|%{>bdnLFHv&g*Lv7HEJ>Z7F;Zo{d8huUzE-hjtx#)`37Y*t_JHG7Ayizd zn@l~942G8?!E8PwQbe|vic`h=6%1R?Ci;9RR4142#_`1MCKOmxKz&&a9*r=$$o|HY z4^!ZG{K=qMnxoGl!WupVh;))7XYY03=bLXJ?(7i0WLy@+*v^g}VLzQwla3mNmR9;C zY@vz1ODhFjvRKm|8SYvj&^HkB3JP=<$*BTE!Vu@C0Z-PxpVP5pqnO?=>l%^i)3HNQ zG8K{P3H7efxgbL3Bb*Qx03DBO5jH}J@t5b8+L}#KnK0#STNvHa>d=Wf>8|h5pd2Z2 zPA>D<-}PZxaeZQOXZM%;GJZ?&Ce7;FhPt|j%Kc+JKF|Gr+t7WB+&V(bF+Yk-h9OPAp8KS1UCr+cqou*#H6?0V*sDj8_-9#=2oi+YwkPD5jYsIZX zL?!y3jPPjFe z^-K#JsnsS00tU!G3hmqC^Do(k?wy=_W{}C!n>GFmw^s5b$Ey-8KPt1SMZp&q@HSi&oVMEE6~e$SZ*(l+If8=E zuMGASV(e_^Gkqaco3^64{52{6$SQg`H+ydP!b*Di3W2!PG?*3N2vm$SS%#TwJnTuh z`k?Jlbg~}IIl@gVy0hZ1uQt)*qO;lw4_PuozYFs2^@hkwjB{o>KQ4IWqgzcv7I0wR zAF|~JSjn2GWWGOT;|Bd*&TsO1O1d{INtxg@x;?KIk!tSX5G+emob;9WLuH+<)gdOg<9oiFd9^>#F?sE!(sy}=Tb*y1 zUX{rj348~GVEPOE*^KF}=xiv#fj+CXb6jO@F|@7ycm zTzgoU!7+(O@bD*3eUr|)fpbD-Cn!DBWVtQ@^+9LBFl zK(v~pU3Ano+W?`&182)?#}wgwg-F$@u$P*xs#tXD1X~ED?CfuH@e7NX%L&Alh|esj zg-BR6z{7?ueACoKjjE^*;apGGaujyGFKO!~0`fJx9al9d(wKEb{Nr91L=VSM1!3Xg zprT(UG&WI9DZl1y#vrNAJsCx{gny!h9`VZO-s4uGLYslpADbQY8xPt)Tde zvn8L}=u@hIkI#{MO-F-4w!E9HWNRFbo}50ZhV0X?RCrIA&)MT0=-G*f|SeSv-xsz=#G#i_`Z_+M};zZQKm4SZRPs#iYUgR}OMV z%*0CR5kbNnXA)xM@w%ZDzmtTG1{uOUAu|o?_@o0-4o$ZJTUa3wtR2o((Y|?#Cu3E9 z4Tf+2S;wF!YBS;P?NHB<9{P%iKR_a;{r-LLUdtR~3cm3Y1PFHH~E|yy*gM?|0 z?ctpq83SxGmnWgsx$X!kuU&q!IzBp2dEo6ST#~6?bFfosRZoftRMA+^(>A?zc9&P? zH@hKRVF({g?LbbyG&Br}bq+C1ZZAOJn`gI5VCtL@|ZRnF>H@ zjzx$UkHoZZ36T6em2nKrlv%ggK3QjwP%4~bl5()pHowIWdPwl{&t_p{7fUw?)-hNq zFk1z$%X3d#EkS&1lMe978M$gG#)^X*63CNf6gCKL#r9`EIoonxec#DZA>eXzc=eR~ zmTeOaR|q)VNJs1nJ7-?1 z)Ql2|`RadoB-=){Z~Q8ATAPAxPpi8m7fy4TcJ__i@zcM(-0kA9u^13B6fxNN!D$yw zcSP!+12l+p~Fe4DyfaK^BWSajvUr0$9hlvR2MTc@O3ibc;GqOR)v|i{JeR z)r&{EXM`tWYG>RGm&+rtmwHWdfhY; zAiFLw)22$JPFd6QFGm-&$A%m##_C&JI03$RZhjV#jGtbKJ`CeP+5jf-<1l@*B=3vC zs4mOA(|XePoKO(wiKI`ApM}@cn@DXn3FOC$=3NdF)b9#mERgix z!v}87A1IY-en#vfQYBAF{nDvm)GXE(@(%P>hi(avJc#i3%S5V5mP)a4ZG0FK^bw1m z6c&bO+A5bV9AsYFG@tla@vqdEb~?c%saW|Q#-5E`oxmL+9>p)*Ypbp0OmzzLT@!!X zt?u?ZwxTK*ZEzTv!MmjwFA?w`;?*Sw<@9{J_g!&rCZL+wTpPZ%2H|hCypOYw7mDx4 zOsSCS%1HmmYxj|;>d*y-Cx}bY5m0+~u0Y9;b4G`N$zsiK+y1Iqc>-*^3;D?}Atx4Z znux2#U!(o6#A$21yR6w>OXF+Tzs2M1aJ^EcOZ?_1qvTq}vyOLazM$501JNOr63mk;qATKm zs4H0nH(TukiG4@N(+ypk)X1Ab1#1%7vu}!6q@9klr2g{pa{9aCQx`nsI+EyqfVMq2 z+F#QBXa-RfyErU1xEJALfk#4bFBXx`#|SvxiF^`i!V%f!ahIGq_>=g(m$vfl72Fz# z5i(`0IT<&`IXx)c6CkEp9P7aB(*wx8dj`SrN~H*z(uzWEiI(BDBh3bC&1SNeGiL&x+8o( zb2l{gX14fDL4NNr8JUh-M;h0Sb)e!oxD@@xh=H^^DH5HvAKJ{<{NO|@$S#DSQWkk} zVl|{Tv;2S-{_PcK1##U)kZf=uC{WDB!C~htFrogkRDp32OB@31Saubc^WXV0O5ZFpT+1(fWM zF>ODu2`80Q+#WTMCs_%SN+GKC)+TUg9bV%9Dou+l{VJ%%!sRGF0-@LoD=QjkBzIMx z9pJu`z(geI1PE~G@~FSEFj_I0#A;YWhoU0=*yT{7*_5Obo0ZPaJONJG-RD8ODA&3jI$Ay_F-S>TITkR1!_P6pAlw@TUu! zmM_-h{JU;LLZBlN#91j{CMEowPu4h_T<>i)0O8wk{N2-LW|)sY0w0BR-%4Wg5h^c1 z%wK5w%4-In6sOYj%BogIfWA;5Z7y<`uX-I%T8`=u)QYU}x6)D$F3pXC&Y12ZiiBYs zB9OP5N<2xdv}~Yf!`ppvE%LVel-uLIF}3vHS7)@Z()&vpuV?5kM-fqj!#zq8jhsI*c0HnJNm-3SRNDQSsKX-< zu<}A;41bXvz?$o~{Z)`B2JHU}7wSbhVMFVBv|JYMwMJYNWSscdYW^WR6+|P7eM4Dj zGtd?0^>CwoFg#lUa#pQ`+S@!NcIpl$zbJg}t-T;23|3A|eZ?huvCWF5v`FzJ(@I-uqf_|KWj}7mI9# z8Fi~-lOO#WU37-kssbhub}r=IW~1Wqbb|qn9G*CGbfqJ(*@UIC^DpQ|=m8-7`Fh%m z+^gV#1%iX}|6oOmIAEq=S|~mpz)^=-UpZ4IIZ~HMT0U0H37}}vopwC)6W3cP&*q0a zqNswBk8s_!qG9OnetkJ=yS8WG%`xG-8K$O_Z^n5&zgZSt*B^S6bgfG!iH8Jza)=4m zOeSzO7CzjX4kd%aUn0~{G#~^1`_$f+&{h>9l(%DBzlct8Tb|874{$XF3iXvsTTMMu zextq`L!hA6jZId?b1{mL@1Owub)aM%G^#W-?U4=CfeNlhS|6t!hny#z?~rp}Ds8}q za`07v(%1-ou)zv)=nt(@6xTBJ9(Xr0=;gt&_*-c9MK=>+T|7e}#(Vru$hYIW7H~K* zhz$iZSu+O@=J3Y@;aRMp;T-oF3e~us<;U#I%BnmvIdAIL1M`Kpk(Cp^MjoA*{b*;) zQG-l}iCNde@$(Hs$_#Nc2+7da7{Ij^NI`vud%)S#(dA#{axXVuAZ43B0bn~81|Rg~ zcow-hQvwU-J7+zbEFAw)sF;pXh^l{k*iwt{;_m8moz;eBTU_urM!# zDv@pLH^3E&ixk%>E>$wHfNK_)txq%Dxqi)wkZxX87vB!ov&_8Y;tmTeu)qQf%OX=H zX {% endraw %} ``` + +## Part Parameters + +If you need to load a part parameter for a particular Part, within the context of your template, you can use the `part_parameter` template tag. + +The following example assumes that you have a report or label which contains a valid [Part](../part/part.md) instance: + +``` +{% raw %} +{% load report %} + +{% part_parameter part "length" as length %} + +Part: {{ part.name }}
      +Length: {{ length.data }} [{{ length.units }}] + +{% endraw %} +``` + +A [Part Parameter](../part/parameter.md) has the following available attributes: + +| Attribute | Description | +| --- | --- | +| Name | The *name* of the parameter (e.g. "Length") | +| Description | The *description* of the parameter | +| Data | The *value* of the parameter (e.g. "123.4") | +| Units | The *units* of the parameter (e.g. "km") | +| Template | A reference to a [PartParameterTemplate](../part/parameter.md#parameter-templates) | diff --git a/docs/docs/report/labels/part_labels.md b/docs/docs/report/labels/part_labels.md index fe5d5cdefb..7e9e5606b8 100644 --- a/docs/docs/report/labels/part_labels.md +++ b/docs/docs/report/labels/part_labels.md @@ -34,9 +34,9 @@ The following context variables are made available to the Part label template: | qr_data | String data which can be rendered to a QR code | | parameters | Map (Python dictionary) object containing the parameters associated with the part instance | -#### Parameters +#### Parameter Values -The part parameters can be accessed by parameter name lookup in the template, as follows: +The part parameter *values* can be accessed by parameter name lookup in the template, as follows: ```html {% raw %} @@ -47,7 +47,8 @@ Length: {{ parameters.length }} {% endraw %} ``` -Note that for parameters which include a `space` character in their name, lookup using the "dot" notation won't work! In this case, try using the [key lookup](../helpers.md#key-access) method: +!!! warning "Spaces" + Note that for parameters which include a `space` character in their name, lookup using the "dot" notation won't work! In this case, try using the [key lookup](../helpers.md#key-access) method: ```html {% raw %} @@ -55,3 +56,36 @@ Note that for parameters which include a `space` character in their name, lookup Voltage Rating: {% getkey parameters "Voltage Rating" %} {% endraw %} ``` + +#### Parameter Data + +If you require access to the parameter data itself, and not just the "value" of a particular parameter, you can use the `part_parameter` [helper function](../helpers.md#part-parameters). + +For example, the following label template can be used to generate a label which contains parameter data in addition to parameter units: + +```html +{% raw %} +{% extends "label/label_base.html" %} + +{% load report %} + +{% block content %} + +{% part_parameter part "Width" as width %} +{% part_parameter part "Length" as length %} + +
      + Part: {{ part.full_name }}
      + Width: {{ width.data }} [{{ width.units }}]
      + Length: {{ length.data }} [{{ length.units }}] +
      + +{% endblock content %} +{% endraw %} +``` + +The following label is produced: + +{% with id="report-parameters", url="report/label_with_parameters.png", description="Label with parameters" %} +{% include 'img.html' %} +{% endwith %} From 61d2f452b25e6ab3f6d8eb141fbdcd054c4296b6 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 17 Jun 2023 08:21:25 +1000 Subject: [PATCH 025/103] Homepage Improvements (#5057) * remove STOCK_RECENT_COUNT parameter - Now "recent" is set by date - Tables are paginated by the server * Display total row count * remove PART_RECENT_COUNT - Replace with date filter - Update Part.api * Bump API version --- InvenTree/InvenTree/api_version.py | 5 ++++- InvenTree/common/models.py | 14 -------------- InvenTree/part/api.py | 4 ++++ InvenTree/templates/InvenTree/index.html | 18 +++++++++++------- .../InvenTree/settings/user_homepage.html | 2 -- 5 files changed, 19 insertions(+), 24 deletions(-) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index ae5f2bb9e1..6d11d6a74e 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 123 +INVENTREE_API_VERSION = 124 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v124 -> 2023-06-17 : https://github.com/inventree/InvenTree/pull/5057 + - Add "created_before" and "created_after" filters to the Part API + v123 -> 2023-06-15 : https://github.com/inventree/InvenTree/pull/5019 - Add Metadata to: Plugin Config diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 8bcdec7eba..2177521480 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1775,13 +1775,6 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'validator': bool, }, - 'PART_RECENT_COUNT': { - 'name': _('Recent Part Count'), - 'description': _('Number of recent parts to display on index page'), - 'default': 10, - 'validator': [int, MinValueValidator(1)] - }, - 'HOMEPAGE_BOM_REQUIRES_VALIDATION': { 'name': _('Show unvalidated BOMs'), 'description': _('Show BOMs that await validation on the homepage'), @@ -1796,13 +1789,6 @@ class InvenTreeUserSetting(BaseInvenTreeSetting): 'validator': bool, }, - 'STOCK_RECENT_COUNT': { - 'name': _('Recent Stock Count'), - 'description': _('Number of recent stock items to display on index page'), - 'default': 10, - 'validator': [int, MinValueValidator(1)] - }, - 'HOMEPAGE_STOCK_LOW': { 'name': _('Show low stock'), 'description': _('Show low stock items on the homepage'), diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index a65a8bf583..b47175c3f0 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -990,6 +990,10 @@ class PartFilter(rest_filters.FilterSet): tags_slug = rest_filters.CharFilter(field_name='tags__slug', lookup_expr='iexact') + # Created date filters + created_before = rest_filters.DateFilter(label='Updated before', field_name='creation_date', lookup_expr='lte') + created_after = rest_filters.DateFilter(label='Updated after', field_name='creation_date', lookup_expr='gte') + class PartMixin: """Mixin class for Part API endpoints""" diff --git a/InvenTree/templates/InvenTree/index.html b/InvenTree/templates/InvenTree/index.html index 94a0713957..03b64bfa41 100644 --- a/InvenTree/templates/InvenTree/index.html +++ b/InvenTree/templates/InvenTree/index.html @@ -60,11 +60,16 @@ function addHeaderAction(label, title, icon, options) {
` ); - // Connect a callback to the table - $(`#table-${label}`).on('load-success.bs.table', function() { - var count = $(`#table-${label}`).bootstrapTable('getData').length; + let table_name = `#table-${label}`; - var badge = $(`#sidebar-badge-${label}`); + // Connect a callback to the table + $(table_name).on('load-success.bs.table', function(data) { + + let options = $(table_name).bootstrapTable('getOptions'); + + let count = options.totalRows; + + let badge = $(`#sidebar-badge-${label}`); badge.html(count); @@ -113,7 +118,7 @@ addHeaderAction('latest-parts', '{% trans "Latest Parts" %}', 'fa-newspaper'); loadSimplePartTable("#table-latest-parts", "{% url 'api-part-list' %}", { params: { ordering: "-creation_date", - limit: {% settings_value "PART_RECENT_COUNT" user=request.user %}, + created_after: moment().subtract(1, 'months').format('YYYY-MM-DD'), {% if hide_inactive %} active: true, {% endif %} @@ -150,14 +155,13 @@ loadSimplePartTable("#table-bom-validation", "{% url 'api-part-list' %}", { {% endif %} {% if roles.stock.view %} - {% if setting_stock_recent %} addHeaderAction('recently-updated-stock', '{% trans "Recently Updated" %}', 'fa-clock'); loadStockTable($('#table-recently-updated-stock'), { params: { part_detail: true, ordering: "-updated", - limit: {% settings_value "STOCK_RECENT_COUNT" user=request.user %}, + updated_after: moment().subtract(1, 'months').format('YYYY-MM-DD'), }, name: 'recently-updated-stock', }); diff --git a/InvenTree/templates/InvenTree/settings/user_homepage.html b/InvenTree/templates/InvenTree/settings/user_homepage.html index 4a990e5138..7696024423 100644 --- a/InvenTree/templates/InvenTree/settings/user_homepage.html +++ b/InvenTree/templates/InvenTree/settings/user_homepage.html @@ -18,11 +18,9 @@ {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_PART_STARRED" icon='fa-bell' user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_CATEGORY_STARRED" icon='fa-bell' user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_PART_LATEST" icon='fa-history' user_setting=True %} - {% include "InvenTree/settings/setting.html" with key="PART_RECENT_COUNT" icon="fa-clock" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_BOM_REQUIRES_VALIDATION" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_STOCK_RECENT" icon='fa-history' user_setting=True %} - {% include "InvenTree/settings/setting.html" with key="STOCK_RECENT_COUNT" icon="fa-clock" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_STOCK_LOW" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_SHOW_STOCK_DEPLETED" user_setting=True %} {% include "InvenTree/settings/setting.html" with key="HOMEPAGE_BUILD_STOCK_NEEDED" user_setting=True %} From bf707766b648c8ece79dcd94ab1d5c41ac2a3661 Mon Sep 17 00:00:00 2001 From: Lavissa Date: Sat, 17 Jun 2023 13:55:25 +0200 Subject: [PATCH 026/103] [Feature] Company Addresses (#4732) * Add initial model structure * Initial Address model defined * Add migration and unit tests * Initial migration for Address model generated * Unit tests for Address model added * Move address field to new model * Added migration to move address field to Address model * Implement address feature to backend * API endpoints for list and detail implemented * Serializer class for Address implemented * Final migration to delete old address field from company added * Tests for API and migrations added * Amend migration file names * Fix migration names in test * Add address property to company model * Iinital view and JS code * Fix indents * Fix different things * Pre-emptive change before merge * Post-merge fixes * dotdotdot... * ... * iDots * . * . * . * Add form functionality and model checks * Forms require a confirmation slider to be checked to submit if address is selected as primary * Backend resets primary address before saving if new address is designated as primary * Fix pre-save logic to enforce primary uniqueness * Fix typos * Sort out migrations * Forgot one * Add admin entry and small fixes * Fix migration file name and dependency * Update InvenTree/company/models.py Co-authored-by: Matthias Mair * Update InvenTree/company/models.py Co-authored-by: Matthias Mair * Correct final issues * . --------- Co-authored-by: Matthias Mair --- .pre-commit-config.yaml | 2 +- InvenTree/company/admin.py | 35 +- InvenTree/company/api.py | 42 ++- .../migrations/0063_auto_20230502_1956.py | 37 ++ ...064_move_address_field_to_address_model.py | 37 ++ .../migrations/0065_remove_company_address.py | 17 + .../migrations/0066_auto_20230616_2059.py | 22 ++ InvenTree/company/models.py | 154 +++++++- InvenTree/company/serializers.py | 65 +++- .../company/templates/company/detail.html | 45 +++ .../company/templates/company/sidebar.html | 2 + InvenTree/company/test_api.py | 134 ++++++- InvenTree/company/test_migrations.py | 41 +++ InvenTree/company/tests.py | 78 ++++- .../migrations/0097_auto_20230529_0107.py | 30 ++ InvenTree/order/models.py | 11 +- InvenTree/order/serializers.py | 8 +- .../order/templates/order/order_base.html | 7 + .../templates/order/return_order_base.html | 7 + .../templates/order/sales_order_base.html | 7 + InvenTree/templates/js/translated/company.js | 330 +++++++++++++++++- InvenTree/templates/js/translated/forms.js | 11 +- .../js/translated/model_renderers.js | 14 + .../templates/js/translated/purchase_order.js | 12 + .../templates/js/translated/return_order.js | 12 + .../templates/js/translated/sales_order.js | 12 + InvenTree/users/models.py | 3 + docs/docs/order/company.md | 38 ++ 28 files changed, 1185 insertions(+), 28 deletions(-) create mode 100644 InvenTree/company/migrations/0063_auto_20230502_1956.py create mode 100644 InvenTree/company/migrations/0064_move_address_field_to_address_model.py create mode 100644 InvenTree/company/migrations/0065_remove_company_address.py create mode 100644 InvenTree/company/migrations/0066_auto_20230616_2059.py create mode 100644 InvenTree/order/migrations/0097_auto_20230529_0107.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 43fb414092..d52cdc69a2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -41,7 +41,7 @@ repos: args: [requirements.in, -o, requirements.txt] files: ^requirements\.(in|txt)$ - repo: https://github.com/Riverside-Healthcare/djLint - rev: v1.29.0 + rev: v1.30.2 hooks: - id: djlint-django - repo: https://github.com/codespell-project/codespell diff --git a/InvenTree/company/admin.py b/InvenTree/company/admin.py index 9bc5562aaa..415b95d11c 100644 --- a/InvenTree/company/admin.py +++ b/InvenTree/company/admin.py @@ -9,9 +9,9 @@ from import_export.fields import Field from InvenTree.admin import InvenTreeResource from part.models import Part -from .models import (Company, ManufacturerPart, ManufacturerPartAttachment, - ManufacturerPartParameter, SupplierPart, - SupplierPriceBreak) +from .models import (Address, Company, ManufacturerPart, + ManufacturerPartAttachment, ManufacturerPartParameter, + SupplierPart, SupplierPriceBreak) class CompanyResource(InvenTreeResource): @@ -187,6 +187,33 @@ class SupplierPriceBreakAdmin(ImportExportModelAdmin): autocomplete_fields = ('part',) +class AddressResource(InvenTreeResource): + """Class for managing Address data import/export""" + + class Meta: + """Metaclass defining extra options""" + model = Address + skip_unchanged = True + report_skipped = False + clean_model_instances = True + + company = Field(attribute='company', widget=widgets.ForeignKeyWidget(Company)) + + +class AddressAdmin(ImportExportModelAdmin): + """Admin class for the Address model""" + + resource_class = AddressResource + + list_display = ('company', 'line1', 'postal_code', 'country') + + search_fields = [ + 'company', + 'country', + 'postal_code', + ] + + admin.site.register(Company, CompanyAdmin) admin.site.register(SupplierPart, SupplierPartAdmin) admin.site.register(SupplierPriceBreak, SupplierPriceBreakAdmin) @@ -194,3 +221,5 @@ admin.site.register(SupplierPriceBreak, SupplierPriceBreakAdmin) admin.site.register(ManufacturerPart, ManufacturerPartAdmin) admin.site.register(ManufacturerPartAttachment, ManufacturerPartAttachmentAdmin) admin.site.register(ManufacturerPartParameter, ManufacturerPartParameterAdmin) + +admin.site.register(Address, AddressAdmin) diff --git a/InvenTree/company/api.py b/InvenTree/company/api.py index 8137f7a6a8..05638e1398 100644 --- a/InvenTree/company/api.py +++ b/InvenTree/company/api.py @@ -14,11 +14,12 @@ from InvenTree.filters import (ORDER_FILTER, SEARCH_ORDER_FILTER, from InvenTree.helpers import str2bool from InvenTree.mixins import ListCreateAPI, RetrieveUpdateDestroyAPI -from .models import (Company, CompanyAttachment, Contact, ManufacturerPart, - ManufacturerPartAttachment, ManufacturerPartParameter, - SupplierPart, SupplierPriceBreak) -from .serializers import (CompanyAttachmentSerializer, CompanySerializer, - ContactSerializer, +from .models import (Address, Company, CompanyAttachment, Contact, + ManufacturerPart, ManufacturerPartAttachment, + ManufacturerPartParameter, SupplierPart, + SupplierPriceBreak) +from .serializers import (AddressSerializer, CompanyAttachmentSerializer, + CompanySerializer, ContactSerializer, ManufacturerPartAttachmentSerializer, ManufacturerPartParameterSerializer, ManufacturerPartSerializer, SupplierPartSerializer, @@ -135,6 +136,32 @@ class ContactDetail(RetrieveUpdateDestroyAPI): serializer_class = ContactSerializer +class AddressList(ListCreateDestroyAPIView): + """API endpoint for list view of Address model""" + + queryset = Address.objects.all() + serializer_class = AddressSerializer + + filter_backends = SEARCH_ORDER_FILTER + + filterset_fields = [ + 'company', + ] + + ordering_fields = [ + 'title', + ] + + ordering = 'title' + + +class AddressDetail(RetrieveUpdateDestroyAPI): + """API endpoint for a single Address object""" + + queryset = Address.objects.all() + serializer_class = AddressSerializer + + class ManufacturerPartFilter(rest_filters.FilterSet): """Custom API filters for the ManufacturerPart list endpoint.""" @@ -568,6 +595,11 @@ company_api_urls = [ re_path(r'^.*$', ContactList.as_view(), name='api-contact-list'), ])), + re_path(r'^address/', include([ + path('/', AddressDetail.as_view(), name='api-address-detail'), + re_path(r'^.*$', AddressList.as_view(), name='api-address-list'), + ])), + re_path(r'^.*$', CompanyList.as_view(), name='api-company-list'), ] diff --git a/InvenTree/company/migrations/0063_auto_20230502_1956.py b/InvenTree/company/migrations/0063_auto_20230502_1956.py new file mode 100644 index 0000000000..5daf2418e7 --- /dev/null +++ b/InvenTree/company/migrations/0063_auto_20230502_1956.py @@ -0,0 +1,37 @@ +# Generated by Django 3.2.18 on 2023-05-02 19:56 + +import InvenTree.fields +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('company', '0062_contact_metadata'), + ] + + operations = [ + migrations.CreateModel( + name='Address', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(help_text='Title describing the address entry', max_length=100, verbose_name='Address title')), + ('primary', models.BooleanField(default=False, help_text='Set as primary address', verbose_name='Primary address')), + ('line1', models.CharField(blank=True, help_text='Address line 1', max_length=50, verbose_name='Line 1')), + ('line2', models.CharField(blank=True, help_text='Address line 2', max_length=50, verbose_name='Line 2')), + ('postal_code', models.CharField(blank=True, help_text='Postal code', max_length=10, verbose_name='Postal code')), + ('postal_city', models.CharField(blank=True, help_text='Postal code city', max_length=50, verbose_name='City')), + ('province', models.CharField(blank=True, help_text='State or province', max_length=50, verbose_name='State/Province')), + ('country', models.CharField(blank=True, help_text='Address country', max_length=50, verbose_name='Country')), + ('shipping_notes', models.CharField(blank=True, help_text='Notes for shipping courier', max_length=100, verbose_name='Courier shipping notes')), + ('internal_shipping_notes', models.CharField(blank=True, help_text='Shipping notes for internal use', max_length=100, verbose_name='Internal shipping notes')), + ('link', InvenTree.fields.InvenTreeURLField(blank=True, help_text='Link to address information (external)', verbose_name='Link')), + ('company', models.ForeignKey(help_text='Select company', on_delete=django.db.models.deletion.CASCADE, related_name='addresses', to='company.company', verbose_name='Company')), + ], + ), + migrations.AddConstraint( + model_name='address', + constraint=models.UniqueConstraint(condition=models.Q(('primary', True)), fields=('company',), name='one_primary_per_company'), + ), + ] diff --git a/InvenTree/company/migrations/0064_move_address_field_to_address_model.py b/InvenTree/company/migrations/0064_move_address_field_to_address_model.py new file mode 100644 index 0000000000..76d7d3b478 --- /dev/null +++ b/InvenTree/company/migrations/0064_move_address_field_to_address_model.py @@ -0,0 +1,37 @@ +# Generated by Django 3.2.18 on 2023-05-02 20:41 + +from django.db import migrations + +def move_address_to_new_model(apps, schema_editor): + Company = apps.get_model('company', 'Company') + Address = apps.get_model('company', 'Address') + for company in Company.objects.all(): + if company.address != '': + # Address field might exceed length of new model fields + l1 = company.address[:50] + l2 = company.address[50:100] + Address.objects.create(company=company, + title="Primary", + primary=True, + line1=l1, + line2=l2) + company.address = '' + company.save() + +def revert_address_move(apps, schema_editor): + Address = apps.get_model('company', 'Address') + for address in Address.objects.all(): + address.company.address = f'{address.line1}{address.line2}' + address.company.save() + address.delete() + + +class Migration(migrations.Migration): + + dependencies = [ + ('company', '0063_auto_20230502_1956'), + ] + + operations = [ + migrations.RunPython(move_address_to_new_model, reverse_code=revert_address_move) + ] diff --git a/InvenTree/company/migrations/0065_remove_company_address.py b/InvenTree/company/migrations/0065_remove_company_address.py new file mode 100644 index 0000000000..4beaeca792 --- /dev/null +++ b/InvenTree/company/migrations/0065_remove_company_address.py @@ -0,0 +1,17 @@ +# Generated by Django 3.2.18 on 2023-05-13 14:53 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('company', '0064_move_address_field_to_address_model'), + ] + + operations = [ + migrations.RemoveField( + model_name='company', + name='address', + ), + ] diff --git a/InvenTree/company/migrations/0066_auto_20230616_2059.py b/InvenTree/company/migrations/0066_auto_20230616_2059.py new file mode 100644 index 0000000000..19ce798301 --- /dev/null +++ b/InvenTree/company/migrations/0066_auto_20230616_2059.py @@ -0,0 +1,22 @@ +# Generated by Django 3.2.19 on 2023-06-16 20:59 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('company', '0065_remove_company_address'), + ] + + operations = [ + migrations.AlterModelOptions( + name='address', + options={'verbose_name_plural': 'Addresses'}, + ), + migrations.AlterField( + model_name='address', + name='postal_city', + field=models.CharField(blank=True, help_text='Postal code city/region', max_length=50, verbose_name='City/Region'), + ), + ] diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index c41fa39a6f..9a44ecf3dd 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -9,7 +9,7 @@ from django.core.exceptions import ValidationError from django.core.validators import MinValueValidator from django.db import models from django.db.models import Q, Sum, UniqueConstraint -from django.db.models.signals import post_delete, post_save +from django.db.models.signals import post_delete, post_save, pre_save from django.dispatch import receiver from django.urls import reverse from django.utils.translation import gettext_lazy as _ @@ -72,7 +72,7 @@ class Company(InvenTreeNotesMixin, MetadataMixin, models.Model): name: Brief name of the company description: Longer form description website: URL for the company website - address: Postal address + address: One-line string representation of primary address phone: contact phone number email: contact email address link: Secondary URL e.g. for link to internal Wiki page @@ -114,10 +114,6 @@ class Company(InvenTreeNotesMixin, MetadataMixin, models.Model): help_text=_('Company website URL') ) - address = models.CharField(max_length=200, - verbose_name=_('Address'), - blank=True, help_text=_('Company address')) - phone = models.CharField(max_length=50, verbose_name=_('Phone number'), blank=True, help_text=_('Contact phone number')) @@ -158,6 +154,22 @@ class Company(InvenTreeNotesMixin, MetadataMixin, models.Model): validators=[InvenTree.validators.validate_currency_code], ) + @property + def address(self): + """Return the string representation for the primary address + + This property exists for backwards compatibility + """ + + addr = self.primary_address + + return str(addr) if addr is not None else None + + @property + def primary_address(self): + """Returns address object of primary address. Parsed by serializer""" + return Address.objects.filter(company=self.id).filter(primary=True).first() + @property def currency_code(self): """Return the currency code associated with this company. @@ -253,6 +265,136 @@ class Contact(MetadataMixin, models.Model): role = models.CharField(max_length=100, blank=True) +class Address(models.Model): + """An address represents a physical location where the company is located. It is possible for a company to have multiple locations + + Attributes: + company: Company link for this address + title: Human-readable name for the address + primary: True if this is the company's primary address + line1: First line of address + line2: Optional line two for address + postal_code: Postal code, city and state + country: Location country + shipping_notes: Notes for couriers transporting shipments to this address + internal_shipping_notes: Internal notes regarding shipping to this address + link: External link to additional address information + """ + + def __init__(self, *args, **kwargs): + """Custom init function""" + if 'confirm_primary' in kwargs: + self.confirm_primary = kwargs.pop('confirm_primary', None) + super().__init__(*args, **kwargs) + + def __str__(self): + """Defines string representation of address to supple a one-line to API calls""" + available_lines = [self.line1, + self.line2, + self.postal_code, + self.postal_city, + self.province, + self.country + ] + + populated_lines = [] + for line in available_lines: + if len(line) > 0: + populated_lines.append(line) + + return ", ".join(populated_lines) + + class Meta: + """Metaclass defines extra model options""" + constraints = [ + UniqueConstraint(fields=['company'], condition=Q(primary=True), name='one_primary_per_company') + ] + verbose_name_plural = "Addresses" + + @staticmethod + def get_api_url(): + """Return the API URL associated with the Contcat model""" + return reverse('api-address-list') + + company = models.ForeignKey(Company, related_name='addresses', + on_delete=models.CASCADE, + verbose_name=_('Company'), + help_text=_('Select company')) + + title = models.CharField(max_length=100, + verbose_name=_('Address title'), + help_text=_('Title describing the address entry'), + blank=False) + + primary = models.BooleanField(default=False, + verbose_name=_('Primary address'), + help_text=_('Set as primary address')) + + line1 = models.CharField(max_length=50, + verbose_name=_('Line 1'), + help_text=_('Address line 1'), + blank=True) + + line2 = models.CharField(max_length=50, + verbose_name=_('Line 2'), + help_text=_('Address line 2'), + blank=True) + + postal_code = models.CharField(max_length=10, + verbose_name=_('Postal code'), + help_text=_('Postal code'), + blank=True) + + postal_city = models.CharField(max_length=50, + verbose_name=_('City/Region'), + help_text=_('Postal code city/region'), + blank=True) + + province = models.CharField(max_length=50, + verbose_name=_('State/Province'), + help_text=_('State or province'), + blank=True) + + country = models.CharField(max_length=50, + verbose_name=_('Country'), + help_text=_('Address country'), + blank=True) + + shipping_notes = models.CharField(max_length=100, + verbose_name=_('Courier shipping notes'), + help_text=_('Notes for shipping courier'), + blank=True) + + internal_shipping_notes = models.CharField(max_length=100, + verbose_name=_('Internal shipping notes'), + help_text=_('Shipping notes for internal use'), + blank=True) + + link = InvenTreeURLField(blank=True, + verbose_name=_('Link'), + help_text=_('Link to address information (external)')) + + +@receiver(pre_save, sender=Address) +def check_primary(sender, instance, **kwargs): + """Removes primary flag from current primary address if the to-be-saved address is marked as primary""" + + if instance.company.primary_address is None: + instance.primary = True + + # If confirm_primary is not present, this function does not need to do anything + if not hasattr(instance, 'confirm_primary') or \ + instance.primary is False or \ + instance.company.primary_address is None or \ + instance.id == instance.company.primary_address.id: + return + + if instance.confirm_primary is True: + adr = Address.objects.get(id=instance.company.primary_address.id) + adr.primary = False + adr.save() + + class ManufacturerPart(MetadataMixin, models.Model): """Represents a unique part as provided by a Manufacturer Each ManufacturerPart is identified by a MPN (Manufacturer Part Number) Each ManufacturerPart is also linked to a Part object. A Part may be available from multiple manufacturers. diff --git a/InvenTree/company/serializers.py b/InvenTree/company/serializers.py index f4c04fde22..b4019ea0f7 100644 --- a/InvenTree/company/serializers.py +++ b/InvenTree/company/serializers.py @@ -20,9 +20,10 @@ from InvenTree.serializers import (InvenTreeAttachmentSerializer, RemoteImageMixin) from part.serializers import PartBriefSerializer -from .models import (Company, CompanyAttachment, Contact, ManufacturerPart, - ManufacturerPartAttachment, ManufacturerPartParameter, - SupplierPart, SupplierPriceBreak) +from .models import (Address, Company, CompanyAttachment, Contact, + ManufacturerPart, ManufacturerPartAttachment, + ManufacturerPartParameter, SupplierPart, + SupplierPriceBreak) class CompanyBriefSerializer(InvenTreeModelSerializer): @@ -45,6 +46,53 @@ class CompanyBriefSerializer(InvenTreeModelSerializer): image = serializers.CharField(source='get_thumbnail_url', read_only=True) +class AddressSerializer(InvenTreeModelSerializer): + """Serializer for the Address Model""" + + class Meta: + """Metaclass options""" + + model = Address + fields = [ + 'pk', + 'company', + 'title', + 'primary', + 'line1', + 'line2', + 'postal_code', + 'postal_city', + 'province', + 'country', + 'shipping_notes', + 'internal_shipping_notes', + 'link', + 'confirm_primary' + ] + + confirm_primary = serializers.BooleanField(default=False) + + +class AddressBriefSerializer(InvenTreeModelSerializer): + """Serializer for Address Model (limited)""" + + class Meta: + """Metaclass options""" + + model = Address + fields = [ + 'pk', + 'line1', + 'line2', + 'postal_code', + 'postal_city', + 'province', + 'country', + 'shipping_notes', + 'internal_shipping_notes' + ] + + class CompanySerializer(RemoteImageMixin, InvenTreeModelSerializer): """Serializer for Company object (full detail)""" @@ -73,11 +121,13 @@ class CompanySerializer(RemoteImageMixin, InvenTreeModelSerializer): 'parts_supplied', 'parts_manufactured', 'remote_image', + 'address_count', + 'primary_address' ] @staticmethod def annotate_queryset(queryset): - """Annoate the supplied queryset with aggregated information""" + """Annotate the supplied queryset with aggregated information""" # Add count of parts manufactured queryset = queryset.annotate( parts_manufactured=SubqueryCount('manufactured_parts') @@ -87,14 +137,21 @@ class CompanySerializer(RemoteImageMixin, InvenTreeModelSerializer): parts_supplied=SubqueryCount('supplied_parts') ) + queryset = queryset.annotate( + address_count=SubqueryCount('addresses') + ) + return queryset + primary_address = AddressSerializer(required=False, allow_null=True, read_only=True) + url = serializers.CharField(source='get_absolute_url', read_only=True) image = InvenTreeImageSerializerField(required=False, allow_null=True) parts_supplied = serializers.IntegerField(read_only=True) parts_manufactured = serializers.IntegerField(read_only=True) + address_count = serializers.IntegerField(read_only=True) currency = InvenTreeCurrencySerializer(help_text=_('Default currency used for this supplier'), required=True) diff --git a/InvenTree/company/templates/company/detail.html b/InvenTree/company/templates/company/detail.html index 6018005548..9adfa255a0 100644 --- a/InvenTree/company/templates/company/detail.html +++ b/InvenTree/company/templates/company/detail.html @@ -255,6 +255,31 @@
+
+
+
+

{% trans "Company addresses" %}

+ {% include "spacer.html" %} +
+ {% if roles.purchase_order.add or roles.sales_order.add %} + + {% endif %} +
+
+
+
+
+
+ {% include "filter_list.html" with id="addresses" %} +
+
+ +
+
+
+
@@ -309,6 +334,26 @@ }); }); + // Callback function for when the 'addresses' panel is loaded + onPanelLoad('company-addresses', function(){ + loadAddressTable('#addresses-table', { + params: { + company: {{ company.pk }}, + }, + allow_edit: {% js_bool roles.purchase_order.change %} || {% js_bool roles.sales_order.change %}, + allow_delete: {% js_bool roles.purchase_order.delete %} || {% js_bool roles.sales_order.delete %}, + }); + + $('#new-address').click(function() { + createAddress({ + company: {{ company.pk }}, + onSuccess: function() { + $('#addresses-table').bootstrapTable('refresh'); + } + }) + }) + }) + // Callback function when the 'notes' panel is loaded onPanelLoad('company-notes', function() { diff --git a/InvenTree/company/templates/company/sidebar.html b/InvenTree/company/templates/company/sidebar.html index 7fe616b7d1..8e3078f342 100644 --- a/InvenTree/company/templates/company/sidebar.html +++ b/InvenTree/company/templates/company/sidebar.html @@ -32,6 +32,8 @@ {% endif %} {% trans "Contacts" as text %} {% include "sidebar_item.html" with label='company-contacts' text=text icon="fa-users" %} +{% trans "Addresses" as text %} +{% include "sidebar_item.html" with label='company-addresses' text=text icon="fa-map-marked" %} {% trans "Notes" as text %} {% include "sidebar_item.html" with label='company-notes' text=text icon="fa-clipboard" %} {% trans "Attachments" as text %} diff --git a/InvenTree/company/test_api.py b/InvenTree/company/test_api.py index 4fa3ba595a..05fbfe8eb2 100644 --- a/InvenTree/company/test_api.py +++ b/InvenTree/company/test_api.py @@ -6,7 +6,7 @@ from rest_framework import status from InvenTree.unit_test import InvenTreeAPITestCase -from .models import Company, Contact, ManufacturerPart, SupplierPart +from .models import Address, Company, Contact, ManufacturerPart, SupplierPart class CompanyTest(InvenTreeAPITestCase): @@ -284,6 +284,138 @@ class ContactTest(InvenTreeAPITestCase): self.get(url, expected_code=404) +class AddressTest(InvenTreeAPITestCase): + """Test cases for Address API endpoints""" + + roles = [] + + @classmethod + def setUpTestData(cls): + """Perform initialization for this test class""" + + super().setUpTestData() + cls.num_companies = 3 + cls.num_addr = 3 + # Create some companies + companies = [ + Company( + name=f"Company {idx}", + description="Some company" + ) for idx in range(cls.num_companies) + ] + + Company.objects.bulk_create(companies) + + addresses = [] + + # Create some contacts + for cmp in Company.objects.all(): + addresses += [ + Address( + company=cmp, + title=f"Address no. {idx}", + ) for idx in range(cls.num_addr) + ] + + cls.url = reverse('api-address-list') + + Address.objects.bulk_create(addresses) + + def test_list(self): + """Test listing all addresses without filtering""" + + response = self.get(self.url, expected_code=200) + + self.assertEqual(len(response.data), self.num_companies * self.num_addr) + + def test_filter_list(self): + """Test listing addresses filtered on company""" + + company = Company.objects.first() + + response = self.get(self.url, {'company': company.pk}, expected_code=200) + + self.assertEqual(len(response.data), self.num_addr) + + def test_create(self): + """Test creating a new address""" + + company = Company.objects.first() + + self.post(self.url, + { + 'company': company.pk, + 'title': 'HQ' + }, + expected_code=403) + + self.assignRole('purchase_order.add') + + self.post(self.url, + { + 'company': company.pk, + 'title': 'HQ' + }, + expected_code=201) + + def test_get(self): + """Test that objects are properly returned from a get""" + + addr = Address.objects.first() + + url = reverse('api-address-detail', kwargs={'pk': addr.pk}) + response = self.get(url, expected_code=200) + + self.assertEqual(response.data['pk'], addr.pk) + + for key in ['title', 'line1', 'line2', 'postal_code', 'postal_city', 'province', 'country']: + self.assertIn(key, response.data) + + def test_edit(self): + """Test editing an object""" + + addr = Address.objects.first() + + url = reverse('api-address-detail', kwargs={'pk': addr.pk}) + + self.patch( + url, + { + 'title': 'Hello' + }, + expected_code=403 + ) + + self.assignRole('purchase_order.change') + + self.patch( + url, + { + 'title': 'World' + }, + expected_code=200 + ) + + data = self.get(url, expected_code=200).data + + self.assertEqual(data['title'], 'World') + + def test_delete(self): + """Test deleting an object""" + + addr = Address.objects.first() + + url = reverse('api-address-detail', kwargs={'pk': addr.pk}) + + self.delete(url, expected_code=403) + + self.assignRole('purchase_order.delete') + + self.delete(url, expected_code=204) + + self.get(url, expected_code=404) + + class ManufacturerTest(InvenTreeAPITestCase): """Series of tests for the Manufacturer DRF API.""" diff --git a/InvenTree/company/test_migrations.py b/InvenTree/company/test_migrations.py index 1d9a9f88cf..5a84fc4b7d 100644 --- a/InvenTree/company/test_migrations.py +++ b/InvenTree/company/test_migrations.py @@ -280,6 +280,47 @@ class TestCurrencyMigration(MigratorTestCase): self.assertIsNotNone(pb.price) +class TestAddressMigration(MigratorTestCase): + """Test moving address data into Address model""" + + migrate_from = ('company', '0063_auto_20230502_1956') + migrate_to = ('company', '0064_move_address_field_to_address_model') + + # Setting up string values for re-use + short_l1 = 'Less than 50 characters long address' + long_l1 = 'More than 50 characters long address testing line ' + l2 = 'splitting functionality' + + def prepare(self): + """Set up some companies with addresses""" + + Company = self.old_state.apps.get_model('company', 'company') + + Company.objects.create(name='Company 1', address=self.short_l1) + Company.objects.create(name='Company 2', address=self.long_l1 + self.l2) + + def test_address_migration(self): + """Test database state after applying the migration""" + + Address = self.new_state.apps.get_model('company', 'address') + Company = self.new_state.apps.get_model('company', 'company') + + c1 = Company.objects.filter(name='Company 1').first() + c2 = Company.objects.filter(name='Company 2').first() + + self.assertEqual(len(Address.objects.all()), 2) + + a1 = Address.objects.filter(company=c1.pk).first() + a2 = Address.objects.filter(company=c2.pk).first() + + self.assertEqual(a1.line1, self.short_l1) + self.assertEqual(a1.line2, "") + self.assertEqual(a2.line1, self.long_l1) + self.assertEqual(a2.line2, self.l2) + self.assertEqual(c1.address, '') + self.assertEqual(c2.address, '') + + class TestSupplierPartQuantity(MigratorTestCase): """Test that the supplier part quantity is correctly migrated.""" diff --git a/InvenTree/company/tests.py b/InvenTree/company/tests.py index bc9c51fa81..807b78e866 100644 --- a/InvenTree/company/tests.py +++ b/InvenTree/company/tests.py @@ -4,11 +4,13 @@ import os from decimal import Decimal from django.core.exceptions import ValidationError +from django.db import transaction +from django.db.utils import IntegrityError from django.test import TestCase from part.models import Part -from .models import (Company, Contact, ManufacturerPart, SupplierPart, +from .models import (Address, Company, Contact, ManufacturerPart, SupplierPart, rename_company_image) @@ -35,7 +37,6 @@ class CompanySimpleTest(TestCase): Company.objects.create(name='ABC Co.', description='Seller of ABC products', website='www.abc-sales.com', - address='123 Sales St.', is_customer=False, is_supplier=True) @@ -174,6 +175,79 @@ class ContactSimpleTest(TestCase): self.assertEqual(Contact.objects.count(), 0) +class AddressTest(TestCase): + """Unit tests for the Address model""" + + def setUp(self): + """Initialization for the tests in this class""" + # Create a simple company + self.c = Company.objects.create(name='Test Corp.', description='We make stuff good') + + def test_create(self): + """Test that object creation with only company supplied is successful""" + Address.objects.create(company=self.c) + self.assertEqual(Address.objects.count(), 1) + + def test_delete(self): + """Test Address deletion""" + addr = Address.objects.create(company=self.c) + addr.delete() + self.assertEqual(Address.objects.count(), 0) + + def test_primary_constraint(self): + """Test that there can only be one company-'primary=true' pair""" + c2 = Company.objects.create(name='Test Corp2.', description='We make stuff good') + Address.objects.create(company=self.c, primary=True) + Address.objects.create(company=self.c, primary=False) + self.assertEqual(Address.objects.count(), 2) + + # Testing the constraint itself + # Intentionally throwing exceptions breaks unit tests unless performed in an atomic block + with transaction.atomic(): + self.assertRaises(IntegrityError, Address.objects.create, company=self.c, primary=True, confirm_primary=False) + + Address.objects.create(company=c2, primary=True, line1="Hellothere", line2="generalkenobi") + + with transaction.atomic(): + self.assertRaises(IntegrityError, Address.objects.create, company=c2, primary=True) + self.assertEqual(Address.objects.count(), 3) + + def test_first_address_is_primary(self): + """Test that first address related to company is always set to primary""" + + addr = Address.objects.create(company=self.c) + + self.assertTrue(addr.primary) + + self.assertRaises(IntegrityError, Address.objects.create, company=self.c, primary=True) + + def test_model_str(self): + """Test value of __str__""" + t = "Test address" + l1 = "Busy street 56" + l2 = "Red building" + pcd = "12345" + pct = "City" + pv = "Province" + cn = "COUNTRY" + addr = Address.objects.create(company=self.c, + title=t, + line1=l1, + line2=l2, + postal_code=pcd, + postal_city=pct, + province=pv, + country=cn) + self.assertEqual(str(addr), f'{l1}, {l2}, {pcd}, {pct}, {pv}, {cn}') + + addr2 = Address.objects.create(company=self.c, + title=t, + line1=l1, + postal_code=pcd) + + self.assertEqual(str(addr2), f'{l1}, {pcd}') + + class ManufacturerPartSimpleTest(TestCase): """Unit tests for the ManufacturerPart model""" diff --git a/InvenTree/order/migrations/0097_auto_20230529_0107.py b/InvenTree/order/migrations/0097_auto_20230529_0107.py new file mode 100644 index 0000000000..cacf50ba4c --- /dev/null +++ b/InvenTree/order/migrations/0097_auto_20230529_0107.py @@ -0,0 +1,30 @@ +# Generated by Django 3.2.19 on 2023-05-29 01:07 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('company', '0065_remove_company_address'), + ('order', '0096_alter_returnorderlineitem_outcome'), + ] + + operations = [ + migrations.AddField( + model_name='purchaseorder', + name='address', + field=models.ForeignKey(blank=True, help_text='Company address for this order', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='company.address', verbose_name='Address'), + ), + migrations.AddField( + model_name='returnorder', + name='address', + field=models.ForeignKey(blank=True, help_text='Company address for this order', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='company.address', verbose_name='Address'), + ), + migrations.AddField( + model_name='salesorder', + name='address', + field=models.ForeignKey(blank=True, help_text='Company address for this order', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='company.address', verbose_name='Address'), + ), + ] diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index 93f431d43f..6aa3fa98e0 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -32,7 +32,7 @@ import stock.models import users.models as UserModels from common.notifications import InvenTreeNotificationBodies from common.settings import currency_code_default -from company.models import Company, Contact, SupplierPart +from company.models import Address, Company, Contact, SupplierPart from InvenTree.exceptions import log_error from InvenTree.fields import (InvenTreeModelMoneyField, InvenTreeURLField, RoundingDecimalField) @@ -272,6 +272,15 @@ class Order(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, Reference related_name='+', ) + address = models.ForeignKey( + Address, + on_delete=models.SET_NULL, + blank=True, null=True, + verbose_name=_('Address'), + help_text=_('Company address for this order'), + related_name='+', + ) + @classmethod def get_status_class(cls): """Return the enumeration class which represents the 'status' field for this model""" diff --git a/InvenTree/order/serializers.py b/InvenTree/order/serializers.py index 116f0fb7b0..fe27cd447e 100644 --- a/InvenTree/order/serializers.py +++ b/InvenTree/order/serializers.py @@ -18,7 +18,8 @@ import part.filters import stock.models import stock.serializers from common.serializers import ProjectCodeSerializer -from company.serializers import (CompanyBriefSerializer, ContactSerializer, +from company.serializers import (AddressBriefSerializer, + CompanyBriefSerializer, ContactSerializer, SupplierPartSerializer) from InvenTree.helpers import (extract_serial_numbers, hash_barcode, normalize, str2bool) @@ -75,6 +76,9 @@ class AbstractOrderSerializer(serializers.Serializer): # Detail for project code field project_code_detail = ProjectCodeSerializer(source='project_code', read_only=True, many=False) + # Detail for address field + address_detail = AddressBriefSerializer(source='address', many=False, read_only=True) + # Boolean field indicating if this order is overdue (Note: must be annotated) overdue = serializers.BooleanField(required=False, read_only=True) @@ -114,6 +118,8 @@ class AbstractOrderSerializer(serializers.Serializer): 'responsible_detail', 'contact', 'contact_detail', + 'address', + 'address_detail', 'status', 'status_text', 'notes', diff --git a/InvenTree/order/templates/order/order_base.html b/InvenTree/order/templates/order/order_base.html index 436636b8f8..dfa2d4f871 100644 --- a/InvenTree/order/templates/order/order_base.html +++ b/InvenTree/order/templates/order/order_base.html @@ -208,6 +208,13 @@ src="{% static 'img/blank_image.png' %}" {{ order.contact.name }} {% endif %} + {% if order.address %} + + + {% trans "Address" %} + {{ order.address.title }}: {{ order.address }} + + {% endif %} {% if order.responsible %} diff --git a/InvenTree/order/templates/order/return_order_base.html b/InvenTree/order/templates/order/return_order_base.html index d701112b0b..7c3a609c99 100644 --- a/InvenTree/order/templates/order/return_order_base.html +++ b/InvenTree/order/templates/order/return_order_base.html @@ -176,6 +176,13 @@ src="{% static 'img/blank_image.png' %}" {{ order.contact.name }} {% endif %} + {% if order.address %} + + + {% trans "Address" %} + {{ order.address.title }}: {{ order.address }} + + {% endif %} {% if order.responsible %} diff --git a/InvenTree/order/templates/order/sales_order_base.html b/InvenTree/order/templates/order/sales_order_base.html index b149a440eb..2c5c28e05e 100644 --- a/InvenTree/order/templates/order/sales_order_base.html +++ b/InvenTree/order/templates/order/sales_order_base.html @@ -216,6 +216,13 @@ src="{% static 'img/blank_image.png' %}" {{ order.contact.name }} {% endif %} + {% if order.address %} + + + {% trans "Address" %} + {{ order.address.title }}: {{ order.address }} + + {% endif %} {% if order.responsible %} diff --git a/InvenTree/templates/js/translated/company.js b/InvenTree/templates/js/translated/company.js index 44fad80b8d..833a822c50 100644 --- a/InvenTree/templates/js/translated/company.js +++ b/InvenTree/templates/js/translated/company.js @@ -1,15 +1,19 @@ {% load i18n %} /* globals + clearFormErrors, constructLabel, constructForm, + enableSubmitButton, formatCurrency, formatDecimal, formatDate, + handleFormErrors, handleFormSuccess, imageHoverIcon, inventreeGet, inventreePut, + hideFormInput, loadTableFilters, makeDeleteButton, makeEditButton, @@ -19,24 +23,29 @@ renderLink, renderPart, setupFilterList, + showFormInput, thumbnailImage, wrapButtons, */ /* exported + createAddress, createCompany, createContact, createManufacturerPart, createSupplierPart, createSupplierPartPriceBreak, + deleteAddress, deleteContacts, deleteManufacturerParts, deleteManufacturerPartParameters, deleteSupplierParts, duplicateSupplierPart, + editAddress, editCompany, editContact, editSupplierPartPriceBreak, + loadAddressTable, loadCompanyTable, loadContactTable, loadManufacturerPartTable, @@ -401,9 +410,6 @@ function companyFormFields() { website: { icon: 'fa-globe', }, - address: { - icon: 'fa-envelope', - }, currency: { icon: 'fa-dollar-sign', }, @@ -782,6 +788,324 @@ function loadContactTable(table, options={}) { }); } +/* + * Construct a set of form fields for the Address model + */ +function addressFields(options={}) { + + let fields = { + company: { + icon: 'fa-building', + }, + primary: { + onEdit: function(val, name, field, opts) { + + if (val === false) { + + hideFormInput("confirm_primary", opts); + $('#id_confirm_primary').prop("checked", false); + clearFormErrors(opts); + enableSubmitButton(opts, true); + + } else if (val === true) { + + showFormInput("confirm_primary", opts); + if($('#id_confirm_primary').prop("checked") === false) { + handleFormErrors({'confirm_primary': 'WARNING: Setting this address as primary will remove primary flag from other addresses'}, field, {}); + enableSubmitButton(opts, false); + } + } + } + }, + confirm_primary: { + help_text: "Confirm", + onEdit: function(val, name, field, opts) { + + if (val === true) { + + clearFormErrors(opts); + enableSubmitButton(opts, true); + + } else if (val === false) { + + handleFormErrors({'confirm_primary': 'WARNING: Setting this address as primary will remove primary flag from other addresses'}, field, {}); + enableSubmitButton(opts, false); + } + }, + css: { + display: 'none' + } + }, + title: {}, + line1: { + icon: 'fa-map' + }, + line2: { + icon: 'fa-map', + }, + postal_code: { + icon: 'fa-map-pin', + }, + postal_city: { + icon: 'fa-city' + }, + province: { + icon: 'fa-map' + }, + country: { + icon: 'fa-map' + }, + shipping_notes: { + icon: 'fa-shuttle-van' + }, + internal_shipping_notes: { + icon: 'fa-clipboard' + }, + link: { + icon: 'fa-link' + } + }; + + if (options.company) { + fields.company.value = options.company; + } + + return fields; +} + +/* + * Launches a form to create a new Address + */ +function createAddress(options={}) { + let fields = options.fields || addressFields(options); + + constructForm('{% url "api-address-list" %}', { + method: 'POST', + fields: fields, + title: '{% trans "Create New Address" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + +/* + * Launches a form to edit an existing Address + */ +function editAddress(pk, options={}) { + let fields = options.fields || addressFields(options); + + constructForm(`{% url "api-address-list" %}${pk}/`, { + fields: fields, + title: '{% trans "Edit Address" %}', + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + +/* + * Launches a form to delete one (or more) addresses + */ +function deleteAddress(addresses, options={}) { + + if (addresses.length == 0) { + return; + } + + function renderAddress(address) { + return ` + + ${address.title} + ${address.line1} + ${address.line2} + `; + } + + let rows = ''; + let ids = []; + + addresses.forEach(function(address) { + rows += renderAddress(address); + ids.push(address.pk); + }); + + let html = ` +
+ {% trans "All selected addresses will be deleted" %} +
+ + + + + + + ${rows} +
{% trans "Name" %}{% trans "Line 1" %}{% trans "Line 2" %}
`; + + constructForm('{% url "api-address-list" %}', { + method: 'DELETE', + multi_delete: true, + title: '{% trans "Delete Addresses" %}', + preFormContent: html, + form_data: { + items: ids, + }, + onSuccess: function(response) { + handleFormSuccess(response, options); + } + }); +} + +function loadAddressTable(table, options={}) { + var params = options.params || {}; + + var filters = loadTableFilters('address', params); + + setupFilterList('address', $(table), '#filter-list-addresses'); + + $(table).inventreeTable({ + url: '{% url "api-address-list" %}', + queryParams: filters, + original: params, + idField: 'pk', + uniqueId: 'pk', + sidePagination: 'server', + sortable: true, + formatNoMatches: function() { + return '{% trans "No addresses found" %}'; + }, + showColumns: true, + name: 'addresses', + columns: [ + { + field: 'primary', + title: '{% trans "Primary" %}', + switchable: false, + formatter: function(value) { + let checked = ''; + if (value == true) { + checked = 'checked="checked"'; + } + return ``; + } + }, + { + field: 'title', + title: '{% trans "Title" %}', + sortable: true, + switchable: false, + }, + { + field: 'line1', + title: '{% trans "Line 1" %}', + sortable: false, + switchable: false, + }, + { + field: 'line2', + title: '{% trans "Line 2" %}', + sortable: false, + switchable: false, + }, + { + field: 'postal_code', + title: '{% trans "Postal code" %}', + sortable: false, + switchable: false, + }, + { + field: 'postal_city', + title: '{% trans "Postal city" %}', + sortable: false, + switchable: false, + }, + { + field: 'province', + title: '{% trans "State/province" %}', + sortable: false, + switchable: false, + }, + { + field: 'country', + title: '{% trans "Country" %}', + sortable: false, + switchable: false, + }, + { + field: 'shipping_notes', + title: '{% trans "Courier notes" %}', + sortable: false, + switchable: true, + }, + { + field: 'internal_shipping_notes', + title: '{% trans "Internal notes" %}', + sortable: false, + switchable: true, + }, + { + field: 'link', + title: '{% trans "External Link" %}', + sortable: false, + switchable: true, + }, + { + field: 'actions', + title: '', + sortable: false, + switchable: false, + visible: options.allow_edit || options.allow_delete, + formatter: function(value, row) { + var pk = row.pk; + + let html = ''; + + if (options.allow_edit) { + html += makeEditButton('btn-address-edit', pk, '{% trans "Edit Address" %}'); + } + + if (options.allow_delete) { + html += makeDeleteButton('btn-address-delete', pk, '{% trans "Delete Address" %}'); + } + + return wrapButtons(html); + } + } + ], + onPostBody: function() { + // Edit button callback + if (options.allow_edit) { + $(table).find('.btn-address-edit').click(function() { + var pk = $(this).attr('pk'); + editAddress(pk, { + onSuccess: function() { + $(table).bootstrapTable('refresh'); + } + }); + }); + } + + // Delete button callback + if (options.allow_delete) { + $(table).find('.btn-address-delete').click(function() { + var pk = $(this).attr('pk'); + + var row = $(table).bootstrapTable('getRowByUniqueId', pk); + + if (row && row.pk) { + + deleteAddress([row], { + onSuccess: function() { + $(table).bootstrapTable('refresh'); + } + }); + } + }); + } + } + }); +} /* Delete one or more ManufacturerPart objects from the database. * - User will be provided with a modal form, showing all the parts to be deleted. diff --git a/InvenTree/templates/js/translated/forms.js b/InvenTree/templates/js/translated/forms.js index 4efde8f1bd..950fec6a5d 100644 --- a/InvenTree/templates/js/translated/forms.js +++ b/InvenTree/templates/js/translated/forms.js @@ -2225,7 +2225,16 @@ function constructField(name, parameters, options={}) { hover_title = ` title='${parameters.help_text}'`; } - html += `
`; + var css = ''; + + if (parameters.css) { + let str = Object.keys(parameters.css).map(function(key) { + return `${key}: ${parameters.css[key]};`; + }) + css = ` style="${str}"`; + } + + html += `
`; // Add a label if (!options.hideLabels) { diff --git a/InvenTree/templates/js/translated/model_renderers.js b/InvenTree/templates/js/translated/model_renderers.js index e610b5531c..87c08de53e 100644 --- a/InvenTree/templates/js/translated/model_renderers.js +++ b/InvenTree/templates/js/translated/model_renderers.js @@ -14,6 +14,7 @@ renderBuild, renderCompany, renderContact, + renderAddress, renderGroup, renderManufacturerPart, renderOwner, @@ -52,6 +53,8 @@ function getModelRenderer(model) { return renderCompany; case 'contact': return renderContact; + case 'address': + return renderAddress; case 'stockitem': return renderStockItem; case 'stocklocation': @@ -173,6 +176,17 @@ function renderContact(data, parameters={}) { } +// Renderer for "Address" model +function renderAddress(data, parameters={}) { + return renderModel( + { + text: [data.title, data.country, data.postal_code, data.postal_city, data.province, data.line1, data.line2].filter(Boolean).join(', '), + }, + parameters + ); +} + + // Renderer for "StockItem" model function renderStockItem(data, parameters={}) { diff --git a/InvenTree/templates/js/translated/purchase_order.js b/InvenTree/templates/js/translated/purchase_order.js index 78e0419289..25b46dbd9a 100644 --- a/InvenTree/templates/js/translated/purchase_order.js +++ b/InvenTree/templates/js/translated/purchase_order.js @@ -126,6 +126,18 @@ function purchaseOrderFields(options={}) { return filters; } }, + address: { + icon: 'fa-map', + adjustFilters: function(filters) { + let supplier = getFormFieldValue('supplier', {}, {modal: options.modal}); + + if (supplier) { + filters.company = supplier; + } + + return filters; + } + }, responsible: { icon: 'fa-user', }, diff --git a/InvenTree/templates/js/translated/return_order.js b/InvenTree/templates/js/translated/return_order.js index 49e3b9d7ad..b326a97da0 100644 --- a/InvenTree/templates/js/translated/return_order.js +++ b/InvenTree/templates/js/translated/return_order.js @@ -90,6 +90,18 @@ function returnOrderFields(options={}) { return filters; } }, + address: { + icon: 'fa-map', + adjustFilters: function(filters) { + let customer = getFormFieldValue('customer', {}, {modal: options.modal}); + + if (customer) { + filters.company = customer; + } + + return filters; + } + }, responsible: { icon: 'fa-user', } diff --git a/InvenTree/templates/js/translated/sales_order.js b/InvenTree/templates/js/translated/sales_order.js index 678169a82f..4052769baa 100644 --- a/InvenTree/templates/js/translated/sales_order.js +++ b/InvenTree/templates/js/translated/sales_order.js @@ -116,6 +116,18 @@ function salesOrderFields(options={}) { return filters; } }, + address: { + icon: 'fa-map', + adjustFilters: function(filters) { + let customer = getFormFieldValue('customer', {}, {modal: options.modal}); + + if (customer) { + filters.company = customer; + } + + return filters; + } + }, responsible: { icon: 'fa-user', } diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index 1cfca8a596..d6f5c05214 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -142,6 +142,7 @@ class RuleSet(models.Model): 'company_company', 'company_companyattachment', 'company_contact', + 'company_address', 'company_manufacturerpart', 'company_manufacturerpartparameter', 'company_supplierpart', @@ -156,6 +157,7 @@ class RuleSet(models.Model): 'company_company', 'company_companyattachment', 'company_contact', + 'company_address', 'order_salesorder', 'order_salesorderallocation', 'order_salesorderattachment', @@ -168,6 +170,7 @@ class RuleSet(models.Model): 'company_company', 'company_companyattachment', 'company_contact', + 'company_address', 'order_returnorder', 'order_returnorderlineitem', 'order_returnorderextraline', diff --git a/docs/docs/order/company.md b/docs/docs/order/company.md index 4670c23119..c99994b867 100644 --- a/docs/docs/order/company.md +++ b/docs/docs/order/company.md @@ -43,6 +43,44 @@ The list of contacts associated with a particular company is available in the Addresses navigation tab. + +#### Primary Address + +Each company can have exactly one (1) primary address. +This address is the default shown on the company profile, and the one that is automatically suggested when creating an order. +Marking a new address as primary will remove the mark from the old primary address. + ## Customers A *customer* is an external client to whom parts or services are sold. From f6420f98c2562a1c8d2ba477ceb68ee3d3844bac Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 17 Jun 2023 21:56:26 +1000 Subject: [PATCH 027/103] Simplify release notes docs (#5063) --- docs/_includes/release_table.html | 23 +++++++++++++++++------ docs/_includes/release_table_head.html | 13 ------------- docs/_includes/release_table_tail.html | 4 ---- docs/docs/releases/release_notes.md | 18 +----------------- 4 files changed, 18 insertions(+), 40 deletions(-) delete mode 100644 docs/_includes/release_table_head.html delete mode 100644 docs/_includes/release_table_tail.html diff --git a/docs/_includes/release_table.html b/docs/_includes/release_table.html index e96c9cbb42..33dea37fa5 100644 --- a/docs/_includes/release_table.html +++ b/docs/_includes/release_table.html @@ -1,10 +1,18 @@ - - Release {{ prefix }}.x - - +
+
+ + + + + + + + + + + {% for release in config.releases %} -{% if release.prefix == prefix %} -{% endif %} {% endfor %} + +
Release Date GitHub Docker
{% if release.local_path %} @@ -25,5 +33,8 @@ {% endif %}
+
+
diff --git a/docs/_includes/release_table_head.html b/docs/_includes/release_table_head.html deleted file mode 100644 index 984d3527e8..0000000000 --- a/docs/_includes/release_table_head.html +++ /dev/null @@ -1,13 +0,0 @@ - -
-
- - - - - - - - - - diff --git a/docs/_includes/release_table_tail.html b/docs/_includes/release_table_tail.html deleted file mode 100644 index 71a6230544..0000000000 --- a/docs/_includes/release_table_tail.html +++ /dev/null @@ -1,4 +0,0 @@ - -
Release Date GitHub Docker
-
-
diff --git a/docs/docs/releases/release_notes.md b/docs/docs/releases/release_notes.md index 9d1156c672..ae205a7b95 100644 --- a/docs/docs/releases/release_notes.md +++ b/docs/docs/releases/release_notes.md @@ -22,24 +22,8 @@ The head of the *master* code branch represents the "latest and greatest" workin ## Stable Releases -!!! warning "Release Notes" - Starting from version 0.12.0, release notes are now available only on the [InvenTree GitHub Releases Page](https://github.com/inventree/InvenTree/releases). Release notes for versions prior to 0.12.0 are also tagged below. -{% include "release_table_head.html" %} - -{% with prefix="0.11" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.10" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.9" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.8" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.7" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.6" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.5" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.4" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.3" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.2" %}{% include "release_table.html" %}{% endwith %} -{% with prefix="0.1" %}{% include "release_table.html" %}{% endwith %} - -{% include "release_table_tail.html" %} +{% include "release_table.html" %} ## Upcoming Features From 2e8fb2a14ab84c73052d8a67c6c4d48a1cfd7a18 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sun, 18 Jun 2023 07:40:47 +1000 Subject: [PATCH 028/103] Stock status change API (#5064) * Add API endpoint for changing stock item status - Change status for multiple items simultaneously - Reduce number of database queries required * Perform bulk update in serializer * Update 'updated' field * Add front-end code * Bump API version * Bug fix and unit test --- InvenTree/InvenTree/api_version.py | 5 +- InvenTree/stock/api.py | 7 ++ InvenTree/stock/serializers.py | 96 ++++++++++++++++++++++ InvenTree/stock/test_api.py | 47 ++++++++++- InvenTree/templates/js/translated/stock.js | 50 ++++++++++- InvenTree/templates/stock_table.html | 1 + 6 files changed, 203 insertions(+), 3 deletions(-) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 6d11d6a74e..f4b8c7740f 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 124 +INVENTREE_API_VERSION = 125 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v125 -> 2023-06-17 : https://github.com/inventree/InvenTree/pull/5064 + - Adds API endpoint for setting the "status" field for multiple stock items simultaneously + v124 -> 2023-06-17 : https://github.com/inventree/InvenTree/pull/5057 - Add "created_before" and "created_after" filters to the Part API diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 356e48feba..3dd9480ac1 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -158,6 +158,12 @@ class StockAdjustView(CreateAPI): return context +class StockChangeStatus(StockAdjustView): + """API endpoint to change the status code of multiple StockItem objects.""" + + serializer_class = StockSerializers.StockChangeStatusSerializer + + class StockCount(StockAdjustView): """Endpoint for counting stock (performing a stocktake).""" @@ -1371,6 +1377,7 @@ stock_api_urls = [ re_path(r'^transfer/', StockTransfer.as_view(), name='api-stock-transfer'), re_path(r'^assign/', StockAssign.as_view(), name='api-stock-assign'), re_path(r'^merge/', StockMerge.as_view(), name='api-stock-merge'), + re_path(r'^change_status/', StockChangeStatus.as_view(), name='api-stock-change-status'), # StockItemAttachment API endpoints re_path(r'^attachment/', include([ diff --git a/InvenTree/stock/serializers.py b/InvenTree/stock/serializers.py index 77293e3542..756b510b2c 100644 --- a/InvenTree/stock/serializers.py +++ b/InvenTree/stock/serializers.py @@ -18,6 +18,7 @@ import common.models import company.models import InvenTree.helpers import InvenTree.serializers +import InvenTree.status_codes import part.models as part_models import stock.filters from company.serializers import SupplierPartSerializer @@ -481,6 +482,7 @@ class InstallStockItemSerializer(serializers.Serializer): note = serializers.CharField( label=_('Note'), + help_text=_('Add transaction note (optional)'), required=False, allow_blank=True, ) @@ -641,6 +643,100 @@ class ReturnStockItemSerializer(serializers.Serializer): ) +class StockChangeStatusSerializer(serializers.Serializer): + """Serializer for changing status of multiple StockItem objects""" + + class Meta: + """Metaclass options""" + fields = [ + 'items', + 'status', + 'note', + ] + + items = serializers.PrimaryKeyRelatedField( + queryset=StockItem.objects.all(), + many=True, + required=True, + allow_null=False, + label=_('Stock Items'), + help_text=_('Select stock items to change status'), + ) + + def validate_items(self, items): + """Validate the selected stock items""" + + if len(items) == 0: + raise ValidationError(_("No stock items selected")) + + return items + + status = serializers.ChoiceField( + choices=InvenTree.status_codes.StockStatus.items(), + default=InvenTree.status_codes.StockStatus.OK.value, + label=_('Status'), + ) + + note = serializers.CharField( + label=_('Notes'), + help_text=_('Add transaction note (optional)'), + required=False, allow_blank=True, + ) + + @transaction.atomic + def save(self): + """Save the serializer to change the status of the selected stock items""" + + data = self.validated_data + + items = data['items'] + status = data['status'] + + request = self.context['request'] + user = getattr(request, 'user', None) + + note = data.get('note', '') + + items_to_update = [] + transaction_notes = [] + + deltas = { + 'status': status, + } + + now = datetime.now() + + # Instead of performing database updates for each item, + # perform bulk database updates (much more efficient) + + for item in items: + # Ignore items which are already in the desired status + if item.status == status: + continue + + item.updated = now + item.status = status + items_to_update.append(item) + + # Create a new transaction note for each item + transaction_notes.append( + StockItemTracking( + item=item, + tracking_type=InvenTree.status_codes.StockHistoryCode.EDITED.value, + date=now, + deltas=deltas, + user=user, + notes=note, + ) + ) + + # Update status + StockItem.objects.bulk_update(items_to_update, ['status', 'updated']) + + # Create entries + StockItemTracking.objects.bulk_create(transaction_notes) + + class LocationTreeSerializer(InvenTree.serializers.InvenTreeModelSerializer): """Serializer for a simple tree view.""" diff --git a/InvenTree/stock/test_api.py b/InvenTree/stock/test_api.py index b96d5c660d..e520f02bb0 100644 --- a/InvenTree/stock/test_api.py +++ b/InvenTree/stock/test_api.py @@ -16,7 +16,7 @@ from rest_framework import status import company.models import part.models from common.models import InvenTreeSetting -from InvenTree.status_codes import StockStatus +from InvenTree.status_codes import StockHistoryCode, StockStatus from InvenTree.unit_test import InvenTreeAPITestCase from part.models import Part from stock.models import StockItem, StockItemTestResult, StockLocation @@ -1153,6 +1153,51 @@ class StockItemTest(StockAPITestCase): stock_item.refresh_from_db() self.assertEqual(stock_item.part, variant) + def test_set_status(self): + """Test API endpoint for setting StockItem status""" + + url = reverse('api-stock-change-status') + + prt = Part.objects.first() + + # Create a bunch of items + items = [ + StockItem.objects.create(part=prt, quantity=10) for _ in range(10) + ] + + for item in items: + item.refresh_from_db() + self.assertEqual(item.status, StockStatus.OK.value) + + data = { + 'items': [item.pk for item in items], + 'status': StockStatus.DAMAGED.value, + } + + self.post(url, data, expected_code=201) + + # Check that the item has been updated correctly + for item in items: + item.refresh_from_db() + self.assertEqual(item.status, StockStatus.DAMAGED.value) + self.assertEqual(item.tracking_info.count(), 1) + + # Same test, but with one item unchanged + items[0].status = StockStatus.ATTENTION.value + items[0].save() + + data['status'] = StockStatus.ATTENTION.value + + self.post(url, data, expected_code=201) + + for item in items: + item.refresh_from_db() + self.assertEqual(item.status, StockStatus.ATTENTION.value) + self.assertEqual(item.tracking_info.count(), 2) + + tracking = item.tracking_info.last() + self.assertEqual(tracking.tracking_type, StockHistoryCode.EDITED.value) + class StocktakeTest(StockAPITestCase): """Series of tests for the Stocktake API.""" diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index 77080a1205..d7df093097 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -1138,7 +1138,7 @@ function adjustStock(action, items, options={}) { if (itemCount == 0) { showAlertDialog( '{% trans "Select Stock Items" %}', - '{% trans "You must select at least one available stock item" %}', + '{% trans "Select at least one available stock item" %}', ); return; @@ -2297,22 +2297,27 @@ function loadStockTable(table, options) { }); } + // Callback for 'stocktake' button $('#multi-item-stocktake').click(function() { stockAdjustment('count'); }); + // Callback for 'remove stock' button $('#multi-item-remove').click(function() { stockAdjustment('take'); }); + // Callback for 'add stock' button $('#multi-item-add').click(function() { stockAdjustment('add'); }); + // Callback for 'move stock' button $('#multi-item-move').click(function() { stockAdjustment('move'); }); + // Callback for 'merge stock' button $('#multi-item-merge').click(function() { var items = getTableData(table); @@ -2327,6 +2332,7 @@ function loadStockTable(table, options) { }); }); + // Callback for 'assign stock' button $('#multi-item-assign').click(function() { var items = getTableData(table); @@ -2338,6 +2344,7 @@ function loadStockTable(table, options) { }); }); + // Callback for 'un-assign stock' button $('#multi-item-order').click(function() { var selections = getTableData(table); @@ -2355,6 +2362,7 @@ function loadStockTable(table, options) { orderParts(parts, {}); }); + // Callback for 'delete stock' button $('#multi-item-delete').click(function() { var selections = getTableData(table); @@ -2366,6 +2374,46 @@ function loadStockTable(table, options) { stockAdjustment('delete'); }); + + // Callback for 'change status' button + $('#multi-item-status').click(function() { + let selections = getTableData(table); + let items = []; + + selections.forEach(function(item) { + items.push(item.pk); + }); + + if (items.length == 0) { + showAlertDialog( + '{% trans "Select Stock Items" %}', + '{% trans "Select one or more stock items" %}' + ); + return; + } + + let html = ` +
{% trans "Remove stock" %}
  • {% trans "Count stock" %}
  • {% trans "Transfer stock" %}
  • +
  • {% trans "Change stock status" %}
  • {% trans "Merge stock" %}
  • {% trans "Order stock" %}
  • {% trans "Assign to customer" %}
  • From 617ad6c233f7ddaa1432fddd57fdc663bb0444a2 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 19 Jun 2023 08:56:26 +0200 Subject: [PATCH 029/103] decouble ruleset migration (#5067) --- InvenTree/users/migrations/0007_alter_ruleset_name.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/InvenTree/users/migrations/0007_alter_ruleset_name.py b/InvenTree/users/migrations/0007_alter_ruleset_name.py index b38511dc30..21604e147d 100644 --- a/InvenTree/users/migrations/0007_alter_ruleset_name.py +++ b/InvenTree/users/migrations/0007_alter_ruleset_name.py @@ -1,6 +1,7 @@ # Generated by Django 3.2.18 on 2023-03-14 10:07 from django.db import migrations, models +import users.models class Migration(migrations.Migration): @@ -13,6 +14,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='ruleset', name='name', - field=models.CharField(choices=[('admin', 'Admin'), ('part_category', 'Part Categories'), ('part', 'Parts'), ('stocktake', 'Stocktake'), ('stock_location', 'Stock Locations'), ('stock', 'Stock Items'), ('build', 'Build Orders'), ('purchase_order', 'Purchase Orders'), ('sales_order', 'Sales Orders'), ('return_order', 'Return Orders')], help_text='Permission set', max_length=50), + field=models.CharField(choices=users.models.RuleSet.RULESET_CHOICES, help_text='Permission set', max_length=50), ), ] From 021a5a40812dd47261e85e411a1814330c8106c1 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 19 Jun 2023 20:01:00 +1000 Subject: [PATCH 030/103] Fixes for purchase order receive buttons (#5072) --- .../order/templates/order/order_base.html | 20 ------------------- .../order/purchase_order_detail.html | 3 ++- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/InvenTree/order/templates/order/order_base.html b/InvenTree/order/templates/order/order_base.html index dfa2d4f871..4f42be86d4 100644 --- a/InvenTree/order/templates/order/order_base.html +++ b/InvenTree/order/templates/order/order_base.html @@ -80,10 +80,6 @@ {% trans "Issue Order" %} {% elif order.is_open %} - @@ -277,22 +273,6 @@ $("#edit-order").click(function() { }); }); -$("#receive-order").click(function() { - - // Auto select items which have not been fully allocated - var items = getTableData('#po-line-table'); - - receivePurchaseOrderItems( - {{ order.id }}, - items, - { - success: function() { - $("#po-line-table").bootstrapTable('refresh'); - } - } - ); -}); - $("#complete-order").click(function() { completePurchaseOrder( diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index 1994be41da..2918bd616f 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -187,8 +187,9 @@ $('#new-po-line').click(function() { } }); }); +{% endif %} -{% elif order.status == PurchaseOrderStatus.PLACED %} +{% if order.status == PurchaseOrderStatus.PLACED %} $('#receive-selected-items').click(function() { let items = getTableData('#po-line-table'); From 13389845b1dd2656f00f71bc0b5516745bbe9abd Mon Sep 17 00:00:00 2001 From: Lavissa Date: Mon, 19 Jun 2023 14:42:02 +0200 Subject: [PATCH 031/103] Add Contacts to admin panel (#5065) * Contact model added to admin panel --- InvenTree/company/admin.py | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/InvenTree/company/admin.py b/InvenTree/company/admin.py index 415b95d11c..5cf7bbda87 100644 --- a/InvenTree/company/admin.py +++ b/InvenTree/company/admin.py @@ -9,7 +9,7 @@ from import_export.fields import Field from InvenTree.admin import InvenTreeResource from part.models import Part -from .models import (Address, Company, ManufacturerPart, +from .models import (Address, Company, Contact, ManufacturerPart, ManufacturerPartAttachment, ManufacturerPartParameter, SupplierPart, SupplierPriceBreak) @@ -214,6 +214,33 @@ class AddressAdmin(ImportExportModelAdmin): ] +class ContactResource(InvenTreeResource): + """Class for managing Contact data import/export""" + + class Meta: + """Metaclass defining extra options""" + model = Contact + skip_unchanged = True + report_skipped = False + clean_model_instances = True + + company = Field(attribute='company', widget=widgets.ForeignKeyWidget(Company)) + + +class ContactAdmin(ImportExportModelAdmin): + """Admin class for the Contact model""" + + resource_class = ContactResource + + list_display = ('company', 'name', 'role', 'email', 'phone') + + search_fields = [ + 'company', + 'name', + 'email', + ] + + admin.site.register(Company, CompanyAdmin) admin.site.register(SupplierPart, SupplierPartAdmin) admin.site.register(SupplierPriceBreak, SupplierPriceBreakAdmin) @@ -223,3 +250,4 @@ admin.site.register(ManufacturerPartAttachment, ManufacturerPartAttachmentAdmin) admin.site.register(ManufacturerPartParameter, ManufacturerPartParameterAdmin) admin.site.register(Address, AddressAdmin) +admin.site.register(Contact, ContactAdmin) From 4c9d4add2ca77084f16e4b48b2554dd81ae37007 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 20 Jun 2023 07:45:35 +1000 Subject: [PATCH 032/103] Table custom buttons (#5075) * Add generic implementation for barcode actions - Commonize code against tables - Cleaner UI - Better code - Will make future react refactor easier * Add permissions.js - Separate .js file for dynamically checking permissions * Update stock table to use client-side actions * API endpoint for bulk category adjustment * Bug fix for purchase_order.js - Prevent some really strange API calls * Refactor actions for part table - Now done dynamically * Refactor actions for the attachment tables * Refactor actions for build output table * Increment API version * Cleanup janky button * Refactor supplier part table * Refactor manufacturer part table * Remove linkButtonsToSelection - no longer needed - Cleanup, yay! * Cleanup purchase order line table * Refactor BOM table buttons * JS linting * Further cleanup * Template cleanup - remove extra div elements * js linting * js fix --- InvenTree/InvenTree/api_version.py | 5 +- InvenTree/InvenTree/static/css/inventree.css | 4 - InvenTree/InvenTree/urls.py | 1 + InvenTree/build/templates/build/detail.html | 60 +--- InvenTree/build/templates/build/index.html | 6 +- .../company/templates/company/detail.html | 130 +------ .../company/templates/company/index.html | 4 +- .../templates/company/manufacturer_part.html | 44 +-- .../templates/company/supplier_part.html | 10 +- .../order/purchase_order_detail.html | 24 +- .../templates/order/purchase_orders.html | 6 +- .../templates/order/return_order_detail.html | 12 +- .../order/templates/order/return_orders.html | 10 +- .../templates/order/sales_order_detail.html | 30 +- .../order/templates/order/sales_orders.html | 6 +- InvenTree/part/api.py | 9 + InvenTree/part/serializers.py | 50 +++ InvenTree/part/templates/part/bom.html | 15 +- InvenTree/part/templates/part/category.html | 27 +- InvenTree/part/templates/part/detail.html | 77 +--- InvenTree/stock/templates/stock/item.html | 20 +- InvenTree/stock/templates/stock/location.html | 11 +- .../InvenTree/notifications/history.html | 4 +- .../InvenTree/notifications/inbox.html | 4 +- .../InvenTree/settings/part_stocktake.html | 4 +- .../templates/InvenTree/settings/plugin.html | 6 +- InvenTree/templates/attachment_table.html | 16 +- InvenTree/templates/base.html | 1 + InvenTree/templates/filter_list.html | 4 +- InvenTree/templates/js/dynamic/permissions.js | 59 ++++ .../templates/js/translated/attachment.js | 58 +-- InvenTree/templates/js/translated/barcode.js | 2 +- InvenTree/templates/js/translated/bom.js | 20 +- InvenTree/templates/js/translated/build.js | 119 ++++--- InvenTree/templates/js/translated/company.js | 101 +++++- InvenTree/templates/js/translated/filters.js | 123 +++++++ InvenTree/templates/js/translated/part.js | 163 ++++----- .../templates/js/translated/purchase_order.js | 28 +- InvenTree/templates/js/translated/search.js | 44 +-- InvenTree/templates/js/translated/stock.js | 329 ++++++++++-------- .../templates/js/translated/table_filters.js | 27 +- InvenTree/templates/js/translated/tables.js | 28 +- InvenTree/templates/stock_table.html | 41 +-- 43 files changed, 837 insertions(+), 905 deletions(-) create mode 100644 InvenTree/templates/js/dynamic/permissions.js diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index f4b8c7740f..92ee99fdde 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 125 +INVENTREE_API_VERSION = 126 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v126 -> 2023-06-19 : https://github.com/inventree/InvenTree/pull/5075 + - Adds API endpoint for setting the "category" for multiple parts simultaneously + v125 -> 2023-06-17 : https://github.com/inventree/InvenTree/pull/5064 - Adds API endpoint for setting the "status" field for multiple stock items simultaneously diff --git a/InvenTree/InvenTree/static/css/inventree.css b/InvenTree/InvenTree/static/css/inventree.css index a118a58e22..6a080cba01 100644 --- a/InvenTree/InvenTree/static/css/inventree.css +++ b/InvenTree/InvenTree/static/css/inventree.css @@ -269,10 +269,6 @@ main { } /* Styles for table buttons and filtering */ -.button-toolbar .btn { - margin-left: 1px; - margin-right: 1px; -} .filter-list { display: inline-block; diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index d1932527c0..b7b49a51ae 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -95,6 +95,7 @@ notifications_urls = [ dynamic_javascript_urls = [ re_path(r'^calendar.js', DynamicJsView.as_view(template_name='js/dynamic/calendar.js'), name='calendar.js'), re_path(r'^nav.js', DynamicJsView.as_view(template_name='js/dynamic/nav.js'), name='nav.js'), + re_path(r'^permissions.js', DynamicJsView.as_view(template_name='js/dynamic/permissions.js'), name='permissions.js'), re_path(r'^settings.js', DynamicJsView.as_view(template_name='js/dynamic/settings.js'), name='settings.js'), ] diff --git a/InvenTree/build/templates/build/detail.html b/InvenTree/build/templates/build/detail.html index 14c75be201..2da2410fc8 100644 --- a/InvenTree/build/templates/build/detail.html +++ b/InvenTree/build/templates/build/detail.html @@ -165,9 +165,7 @@
    -
    - {% include "filter_list.html" with id='sub-build' %} -
    + {% include "filter_list.html" with id='sub-build' %}
    @@ -199,26 +197,8 @@
    - {% if build.active %} - {% if build.is_fully_allocated %} -
    - {% trans "Untracked stock has been fully allocated for this Build Order" %} -
    - {% else %} -
    - {% trans "Untracked stock has not been fully allocated for this Build Order" %} -
    - {% endif %} - {% endif %}
    -
    -
    - - {% include "filter_list.html" with id='buildlines' %} -
    -
    + {% include "filter_list.html" with id='buildlines' %}
    @@ -240,37 +220,7 @@
    -
    - {% if build.active %} -
    - - -
    - - -
    - {% include "filter_list.html" with id='incompletebuilditems' %} -
    - {% endif %} -
    + {% include "filter_list.html" with id='incompletebuilditems' %}
    @@ -501,10 +451,6 @@ $('#btn-unallocate').on('click', function() { }); }); -$('#allocate-selected-items').click(function() { - allocateSelectedLines(); -}); - $("#btn-allocate").on('click', function() { allocateSelectedLines(); }); diff --git a/InvenTree/build/templates/build/index.html b/InvenTree/build/templates/build/index.html index 5094c6a45a..f4a266ecca 100644 --- a/InvenTree/build/templates/build/index.html +++ b/InvenTree/build/templates/build/index.html @@ -24,11 +24,7 @@
    -
    -
    - {% include "filter_list.html" with id="build" %} -
    -
    + {% include "filter_list.html" with id="build" %}
    diff --git a/InvenTree/company/templates/company/detail.html b/InvenTree/company/templates/company/detail.html index 9adfa255a0..6a653d2d0d 100644 --- a/InvenTree/company/templates/company/detail.html +++ b/InvenTree/company/templates/company/detail.html @@ -26,28 +26,7 @@
    {% if roles.purchase_order.change %}
    -
    -
    -
    - - -
    - {% include "filter_list.html" with id="supplier-part" %} -
    -
    + {% include "filter_list.html" with id="supplier-part" %}
    {% endif %} @@ -73,29 +52,7 @@
    {% if roles.purchase_order.change %}
    -
    -
    -
    - - -
    - {% include "filter_list.html" with id="manufacturer-part" %} -
    -
    + {% include "filter_list.html" with id="manufacturer-part" %}
    {% endif %}
    @@ -128,9 +85,7 @@
    -
    - {% include "filter_list.html" with id="purchaseorder" %} -
    + {% include "filter_list.html" with id="purchaseorder" %}
    @@ -156,9 +111,7 @@
    -
    - {% include "filter_list.html" with id="salesorder" %} -
    + {% include "filter_list.html" with id="salesorder" %}
    @@ -174,9 +127,7 @@
    -
    - {% include "filter_list.html" with id="customerstock" %} -
    + {% include "filter_list.html" with id="customerstock" %}
    @@ -201,11 +152,7 @@
    -
    -
    - {% include "filter_list.html" with id="returnorder" %} -
    -
    + {% include "filter_list.html" with id="returnorder" %}
    @@ -246,9 +193,7 @@
    -
    - {% include "filter_list.html" with id="contacts" %} -
    + {% include "filter_list.html" with id="contacts" %}
    @@ -271,9 +216,7 @@
    -
    - {% include "filter_list.html" with id="addresses" %} -
    + {% include "filter_list.html" with id="addresses" %}
    @@ -498,32 +441,6 @@ } ); - $("#multi-manufacturer-part-delete").click(function() { - var selections = getTableData('#manufacturer-part-table'); - - deleteManufacturerParts(selections, { - success: function() { - $("#manufacturer-part-table").bootstrapTable('refresh'); - } - }); - }); - - $("#multi-manufacturer-part-order").click(function() { - var selections = getTableData('#manufacturer-part-table'); - - var parts = []; - - selections.forEach(function(item) { - var part = item.part_detail; - part.manufacturer_part = item.pk; - parts.push(part); - }); - - orderParts( - parts, - ); - }); - {% endif %} {% if company.is_supplier %} @@ -552,37 +469,6 @@ }, } ); - - $("#multi-supplier-part-delete").click(function() { - - var selections = getTableData("#supplier-part-table"); - - deleteSupplierParts(selections, { - success: function() { - $('#supplier-part-table').bootstrapTable('refresh'); - } - }); - }); - - $("#multi-supplier-part-order").click(function() { - - var selections = getTableData('#supplier-part-table'); - - var parts = []; - - selections.forEach(function(item) { - var part = item.part_detail; - parts.push(part); - }); - - orderParts( - parts, - { - supplier: {{ company.pk }}, - } - ); - }); - {% endif %} enableSidebar('company'); diff --git a/InvenTree/company/templates/company/index.html b/InvenTree/company/templates/company/index.html index b255137114..cb93522a6b 100644 --- a/InvenTree/company/templates/company/index.html +++ b/InvenTree/company/templates/company/index.html @@ -24,11 +24,11 @@
    -
    +
    {% include "filter_list.html" with id='company' %}
    - +
    diff --git a/InvenTree/company/templates/company/manufacturer_part.html b/InvenTree/company/templates/company/manufacturer_part.html index c26e828558..0c158edd76 100644 --- a/InvenTree/company/templates/company/manufacturer_part.html +++ b/InvenTree/company/templates/company/manufacturer_part.html @@ -127,17 +127,7 @@ src="{% static 'img/blank_image.png' %}"
    -
    -
    - - -
    - {% include "filter_list.html" with id='supplier-part' %} -
    + {% include "filter_list.html" with id='supplier-part' %}
    @@ -174,17 +164,7 @@ src="{% static 'img/blank_image.png' %}"
    -
    -
    - - -
    - {% include "filter_list.html" with id="manufacturer-part-parameters" %} -
    + {% include "filter_list.html" with id="manufacturer-part-parameters" %}
    @@ -240,26 +220,6 @@ $('#supplier-create').click(function () { }); }); -$("#supplier-part-delete").click(function() { - - var selections = getTableData('#supplier-table'); - - deleteSupplierParts(selections, { - success: reloadSupplierPartTable, - }); -}); - -$("#multi-parameter-delete").click(function() { - - var selections = getTableData('#parameter-table'); - - deleteManufacturerPartParameters(selections, { - success: function() { - $('#parameter-table').bootstrapTable('refresh'); - } - }); -}); - loadSupplierPartTable( "#supplier-table", "{% url 'api-supplier-part-list' %}", diff --git a/InvenTree/company/templates/company/supplier_part.html b/InvenTree/company/templates/company/supplier_part.html index 4fc29abe38..9fc84ce123 100644 --- a/InvenTree/company/templates/company/supplier_part.html +++ b/InvenTree/company/templates/company/supplier_part.html @@ -234,9 +234,7 @@ src="{% static 'img/blank_image.png' %}"
    -
    - {% include "filter_list.html" with id='purchaseorder' %} -
    + {% include "filter_list.html" with id='purchaseorder' %}
    @@ -258,10 +256,8 @@ src="{% static 'img/blank_image.png' %}"
    -
    -
    - {% include "filter_list.html" with id='supplierpricebreak' %} -
    +
    + {% include "filter_list.html" with id='supplierpricebreak' %}
    diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index 2918bd616f..d7491f753e 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -37,23 +37,7 @@
    -
    - {% if roles.purchase_order.change %} - {% if order.is_open or allow_extra_editing %} - - {% endif %} - {% endif %} - +
    {% include "filter_list.html" with id="purchase-order-lines" %}
    @@ -77,10 +61,8 @@
    -
    -
    - {% include "filter_list.html" with id="purchase-order-extra-lines" %} -
    +
    + {% include "filter_list.html" with id="purchase-order-extra-lines" %}
    diff --git a/InvenTree/order/templates/order/purchase_orders.html b/InvenTree/order/templates/order/purchase_orders.html index 23b56baee1..d601b3fd17 100644 --- a/InvenTree/order/templates/order/purchase_orders.html +++ b/InvenTree/order/templates/order/purchase_orders.html @@ -24,11 +24,7 @@
    -
    -
    - {% include "filter_list.html" with id="purchaseorder" %} -
    -
    + {% include "filter_list.html" with id="purchaseorder" %}
    diff --git a/InvenTree/order/templates/order/return_order_detail.html b/InvenTree/order/templates/order/return_order_detail.html index b0542ba188..9c11ff6270 100644 --- a/InvenTree/order/templates/order/return_order_detail.html +++ b/InvenTree/order/templates/order/return_order_detail.html @@ -34,10 +34,8 @@
    -
    -
    - {% include "filter_list.html" with id="returnorderlines" %} -
    +
    + {% include "filter_list.html" with id="returnorderlines" %}
    @@ -58,10 +56,8 @@
    -
    -
    - {% include "filter_list.html" with id="return-order-extra-lines" %} -
    +
    + {% include "filter_list.html" with id="return-order-extra-lines" %}
    diff --git a/InvenTree/order/templates/order/return_orders.html b/InvenTree/order/templates/order/return_orders.html index 698b682be0..834047eb46 100644 --- a/InvenTree/order/templates/order/return_orders.html +++ b/InvenTree/order/templates/order/return_orders.html @@ -26,15 +26,11 @@ {% block page_info %}
    -
    -
    -
    - {% include "filter_list.html" with id="returnorder" %} -
    -
    +
    + {% include "filter_list.html" with id="returnorder" %}
    - +
    diff --git a/InvenTree/order/templates/order/sales_order_detail.html b/InvenTree/order/templates/order/sales_order_detail.html index 8a43c3ee1b..24cb4e4b78 100644 --- a/InvenTree/order/templates/order/sales_order_detail.html +++ b/InvenTree/order/templates/order/sales_order_detail.html @@ -29,10 +29,8 @@
    -
    -
    - {% include "filter_list.html" with id="sales-order-lines" %} -
    +
    + {% include "filter_list.html" with id="sales-order-lines" %}
    @@ -54,10 +52,8 @@
    -
    -
    - {% include "filter_list.html" with id="sales-order-extra-lines" %} -
    +
    + {% include "filter_list.html" with id="sales-order-extra-lines" %}
    @@ -89,10 +85,8 @@
    {% if roles.sales_order.change %} -
    -
    - {% include "filter_list.html" with id="pending-shipments" %} -
    +
    + {% include "filter_list.html" with id="pending-shipments" %}
    {% endif %}
    @@ -105,10 +99,8 @@

    {% trans "Completed Shipments" %}

    -
    -
    - {% include "filter_list.html" with id="completed-shipments" %} -
    +
    + {% include "filter_list.html" with id="completed-shipments" %}
    @@ -119,10 +111,8 @@

    {% trans "Build Orders" %}

    -
    -
    - {% include "filter_list.html" with id='build' %} -
    +
    + {% include "filter_list.html" with id='build' %}
    diff --git a/InvenTree/order/templates/order/sales_orders.html b/InvenTree/order/templates/order/sales_orders.html index 86c64fbe54..c4cc86cad1 100644 --- a/InvenTree/order/templates/order/sales_orders.html +++ b/InvenTree/order/templates/order/sales_orders.html @@ -27,10 +27,8 @@
    -
    -
    - {% include "filter_list.html" with id="salesorder" %} -
    +
    + {% include "filter_list.html" with id="salesorder" %}
    diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index b47175c3f0..801b0b5f8d 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -1271,6 +1271,13 @@ class PartList(PartMixin, APIDownloadMixin, ListCreateAPI): ] +class PartChangeCategory(CreateAPI): + """API endpoint to change the location of multiple parts in bulk""" + + serializer_class = part_serializers.PartSetCategorySerializer + queryset = Part.objects.none() + + class PartDetail(PartMixin, RetrieveUpdateDestroyAPI): """API endpoint for detail view of a single Part object.""" @@ -2020,6 +2027,8 @@ part_api_urls = [ re_path(r'^.*$', PartDetail.as_view(), name='api-part-detail'), ])), + re_path(r'^change_category/', PartChangeCategory.as_view(), name='api-part-change-category'), + re_path(r'^.*$', PartList.as_view(), name='api-part-list'), ] diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 512c5cd08b..e43cf46247 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -291,6 +291,56 @@ class PartBriefSerializer(InvenTree.serializers.InvenTreeModelSerializer): pricing_max = InvenTree.serializers.InvenTreeMoneySerializer(source='pricing_data.overall_max', allow_null=True, read_only=True) +class PartSetCategorySerializer(serializers.Serializer): + """Serializer for changing PartCategory for multiple Part objects""" + + class Meta: + """Metaclass options""" + fields = [ + 'parts', + 'category', + ] + + parts = serializers.PrimaryKeyRelatedField( + queryset=Part.objects.all(), + many=True, required=True, allow_null=False, + label=_('Parts'), + ) + + def validate_parts(self, parts): + """Validate the selected parts""" + if len(parts) == 0: + raise serializers.ValidationError(_("No parts selected")) + + return parts + + category = serializers.PrimaryKeyRelatedField( + queryset=PartCategory.objects.filter(structural=False), + many=False, required=True, allow_null=False, + label=_('Category'), + help_text=_('Select category',) + ) + + @transaction.atomic + def save(self): + """Save the serializer to change the location of the selected parts""" + + data = self.validated_data + parts = data['parts'] + category = data['category'] + + parts_to_save = [] + + for p in parts: + if p.category == category: + continue + + p.category = category + parts_to_save.append(p) + + Part.objects.bulk_update(parts_to_save, ['category']) + + class DuplicatePartSerializer(serializers.Serializer): """Serializer for specifying options when duplicating a Part. diff --git a/InvenTree/part/templates/part/bom.html b/InvenTree/part/templates/part/bom.html index f9bcfc483a..e917cbd288 100644 --- a/InvenTree/part/templates/part/bom.html +++ b/InvenTree/part/templates/part/bom.html @@ -23,20 +23,7 @@ {% endif %}
    -
    - {% if roles.part.change %} - - - {% endif %} - {% include "filter_list.html" with id="bom" %} -
    + {% include "filter_list.html" with id="bom" %}
    diff --git a/InvenTree/part/templates/part/category.html b/InvenTree/part/templates/part/category.html index c560eed392..1faac776f1 100644 --- a/InvenTree/part/templates/part/category.html +++ b/InvenTree/part/templates/part/category.html @@ -169,24 +169,7 @@
    -
    -
    - - -
    - {% include "filter_list.html" with id="parts" %} -
    + {% include "filter_list.html" with id="parts" %}
    @@ -209,9 +192,7 @@
    -
    - {% include "filter_list.html" with id="parameters" %} -
    + {% include "filter_list.html" with id="parameters" %}
    @@ -235,9 +216,7 @@
    -
    - {% include "filter_list.html" with id="category" %} -
    + {% include "filter_list.html" with id="category" %}
    diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index 447c83ee01..8ecac03b6c 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -93,9 +93,7 @@
    -
    - {% include "filter_list.html" with id="parttests" %} -
    + {% include "filter_list.html" with id="parttests" %}
    @@ -116,9 +114,7 @@
    -
    - {% include "filter_list.html" with id="partpurchaseorders" %} -
    + {% include "filter_list.html" with id="partpurchaseorders" %}
    @@ -132,9 +128,7 @@
    -
    - {% include "filter_list.html" with id="salesorder" %} -
    + {% include "filter_list.html" with id="salesorder" %}
    @@ -145,11 +139,8 @@

    {% trans "Sales Order Allocations" %}

    -
    -
    - {% include "filter_list.html" with id="salesorderallocation" %} -
    + {% include "filter_list.html" with id="salesorderallocation" %}
    @@ -190,11 +181,7 @@
    -
    -
    - {% include "filter_list.html" with id="variants" %} -
    -
    + {% include "filter_list.html" with id="variants" %}
    @@ -218,11 +205,7 @@
    -
    -
    - {% include "filter_list.html" with id="parameters" %} -
    -
    + {% include "filter_list.html" with id="parameters" %}
    @@ -259,9 +242,7 @@
    @@ -317,9 +298,7 @@
    -
    - {% include "filter_list.html" with id="usedin" %} -
    + {% include "filter_list.html" with id="usedin" %}
    @@ -346,9 +325,7 @@
    -
    - {% include "filter_list.html" with id="build" %} -
    + {% include "filter_list.html" with id="build" %}
    @@ -362,9 +339,7 @@
    -
    - {% include "filter_list.html" with id="buildorderallocation" %} -
    + {% include "filter_list.html" with id="buildorderallocation" %}
    @@ -385,17 +360,7 @@
    -
    -
    - - -
    - {% include "filter_list.html" with id="supplier-part" %} -
    + {% include "filter_list.html" with id="supplier-part" %}
    @@ -416,15 +381,7 @@
    -
    -
    - - - {% include "filter_list.html" with id="manufacturer-part" %} -
    -
    + {% include "filter_list.html" with id="manufacturer-part" %}
    @@ -526,8 +483,6 @@ } ); - linkButtonsToSelection($("#supplier-part-table"), ['#supplier-part-options']); - loadManufacturerPartTable( '#manufacturer-part-table', "{% url 'api-manufacturer-part-list' %}", @@ -540,8 +495,6 @@ } ); - linkButtonsToSelection($("#manufacturer-part-table"), ['#manufacturer-part-options']); - $("#manufacturer-part-delete").click(function() { var selectionss = getTableData('#manufacturer-part-table'); @@ -625,12 +578,6 @@ sub_part_detail: true, }); - linkButtonsToSelection($("#bom-table"), - [ - "#bom-item-delete", - ] - ); - $('#bom-item-delete').click(function() { // Get a list of the selected BOM items diff --git a/InvenTree/stock/templates/stock/item.html b/InvenTree/stock/templates/stock/item.html index f922e158ec..81ec9ef059 100644 --- a/InvenTree/stock/templates/stock/item.html +++ b/InvenTree/stock/templates/stock/item.html @@ -22,9 +22,7 @@
    -
    - {% include "filter_list.html" with id="stocktracking" %} -
    + {% include "filter_list.html" with id="stocktracking" %}
    @@ -40,9 +38,7 @@
    -
    - {% include "filter_list.html" with id="buildorderallocation" %} -
    + {% include "filter_list.html" with id="buildorderallocation" %}
    @@ -55,9 +51,7 @@
    -
    - {% include "filter_list.html" with id="salesorderallocation" %} -
    + {% include "filter_list.html" with id="salesorderallocation" %}
    @@ -102,9 +96,7 @@
    -
    - {% include "filter_list.html" with id="stocktests" %} -
    + {% include "filter_list.html" with id="stocktests" %}
    @@ -157,9 +149,7 @@
    -
    - {% include "filter_list.html" with id='installed-items' %} -
    + {% include "filter_list.html" with id='installed-items' %}
    diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index c65505a757..98a8283002 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -221,9 +221,7 @@
    -
    - {% include "filter_list.html" with id="location" %} -
    + {% include "filter_list.html" with id="location" %}
    @@ -270,13 +268,6 @@ }); }); - linkButtonsToSelection( - $('#sublocation-table'), - [ - '#location-print-options', - ] - ); - {% if labels_enabled %} $('#print-label').click(function() { diff --git a/InvenTree/templates/InvenTree/notifications/history.html b/InvenTree/templates/InvenTree/notifications/history.html index adccdd88a1..ca8f24bee5 100644 --- a/InvenTree/templates/InvenTree/notifications/history.html +++ b/InvenTree/templates/InvenTree/notifications/history.html @@ -18,9 +18,7 @@ {% block content %}
    -
    - {% include "filter_list.html" with id="notifications-history" %} -
    + {% include "filter_list.html" with id="notifications-history" %}
    diff --git a/InvenTree/templates/InvenTree/notifications/inbox.html b/InvenTree/templates/InvenTree/notifications/inbox.html index 832807ae1e..9ab28051f4 100644 --- a/InvenTree/templates/InvenTree/notifications/inbox.html +++ b/InvenTree/templates/InvenTree/notifications/inbox.html @@ -18,9 +18,7 @@ {% block content %}
    -
    - {% include "filter_list.html" with id="notifications-inbox" %} -
    + {% include "filter_list.html" with id="notifications-inbox" %}
    diff --git a/InvenTree/templates/InvenTree/settings/part_stocktake.html b/InvenTree/templates/InvenTree/settings/part_stocktake.html index ad9e563a93..01bec1cd5f 100644 --- a/InvenTree/templates/InvenTree/settings/part_stocktake.html +++ b/InvenTree/templates/InvenTree/settings/part_stocktake.html @@ -35,9 +35,7 @@
    -
    - {% include "filter_list.html" with id="stocktakereport" %} -
    + {% include "filter_list.html" with id="stocktakereport" %}
    diff --git a/InvenTree/templates/InvenTree/settings/plugin.html b/InvenTree/templates/InvenTree/settings/plugin.html index 3813264176..45ed034c0a 100644 --- a/InvenTree/templates/InvenTree/settings/plugin.html +++ b/InvenTree/templates/InvenTree/settings/plugin.html @@ -51,11 +51,7 @@ {% endif %}
    -
    -
    - {% include "filter_list.html" with id="plugins" %} -
    -
    + {% include "filter_list.html" with id="plugins" %}
    diff --git a/InvenTree/templates/attachment_table.html b/InvenTree/templates/attachment_table.html index fbabb7e510..c023e0ff2f 100644 --- a/InvenTree/templates/attachment_table.html +++ b/InvenTree/templates/attachment_table.html @@ -1,21 +1,7 @@ {% load i18n %}
    -
    - - {% include "filter_list.html" with id="attachments" %} -
    + {% include "filter_list.html" with id="attachments" %}
    diff --git a/InvenTree/templates/base.html b/InvenTree/templates/base.html index 0e395c3168..b33721693a 100644 --- a/InvenTree/templates/base.html +++ b/InvenTree/templates/base.html @@ -147,6 +147,7 @@ + diff --git a/InvenTree/templates/filter_list.html b/InvenTree/templates/filter_list.html index eebea0ed0d..55d2a4c39b 100644 --- a/InvenTree/templates/filter_list.html +++ b/InvenTree/templates/filter_list.html @@ -1 +1,3 @@ -
    +
    + +
    diff --git a/InvenTree/templates/js/dynamic/permissions.js b/InvenTree/templates/js/dynamic/permissions.js new file mode 100644 index 0000000000..34881a8dcf --- /dev/null +++ b/InvenTree/templates/js/dynamic/permissions.js @@ -0,0 +1,59 @@ +/* + * globals + inventreeGet, + +/* exported + checkPermission, +*/ + +// Keep track of the current user permissions +var user_roles = null; + + +/* + * Check if the user has the specified role and permission + */ +function checkPermission(role, permission='view') { + + // Allow permission to be specified in dotted notation, e.g. 'part.add' + if (role.indexOf('.') > 0) { + let parts = role.split('.'); + role = parts[0]; + permission = parts[1]; + } + + // Request user roles if we do not have them + if (user_roles == null) { + inventreeGet('{% url "api-user-roles" %}', {}, { + async: false, + success: function(response) { + user_roles = response.roles || {}; + } + }); + } + + if (user_roles == null) { + console.error("Failed to fetch user roles"); + return false; + } + + if (!(role in user_roles)) { + return false; + } + + let roles = user_roles[role]; + + if (!roles) { + return false; + } + + let found = false; + + user_roles[role].forEach(function(p) { + if (String(p).valueOf() == String(permission).valueOf()) { + found = true; + } + }); + + return found; +} diff --git a/InvenTree/templates/js/translated/attachment.js b/InvenTree/templates/js/translated/attachment.js index da7fb29037..6c925edf1f 100644 --- a/InvenTree/templates/js/translated/attachment.js +++ b/InvenTree/templates/js/translated/attachment.js @@ -187,7 +187,27 @@ function attachmentLink(filename) { let html = makeIcon(icon) + ` ${fn}`; return renderLink(html, filename, {download: true}); +} + +/* + * Construct a set of actions for an attachment table, + * with the provided permission set + */ +function makeAttachmentActions(permissions, options) { + + let actions = []; + + if (permissions.delete) { + actions.push({ + label: 'delete', + icon: 'fa-trash-alt icon-red', + title: '{% trans "Delete attachments" %}', + callback: options.callback, + }); + } + + return actions; } @@ -225,7 +245,20 @@ function loadAttachmentTable(url, options) { } }); - setupFilterList('attachments', $(table), '#filter-list-attachments'); + setupFilterList('attachments', $(table), '#filter-list-attachments', { + custom_actions: [ + { + label: 'attachments', + icon: 'fa-tools', + title: '{% trans "Attachment actions" %}', + actions: makeAttachmentActions(permissions, { + callback: function(attachments) { + deleteAttachments(attachments, url, options); + } + }), + } + ] + }); if (permissions.add) { addAttachmentButtonCallbacks(url, options.fields || {}); @@ -235,19 +268,6 @@ function loadAttachmentTable(url, options) { $('#new-attachment-link').hide(); } - if (permissions.delete) { - // Add callback for the 'multi delete' button - $('#multi-attachment-delete').click(function() { - var attachments = getTableData(table); - - if (attachments.length > 0) { - deleteAttachments(attachments, url, options); - } - }); - } else { - $('#multi-attachment-actions').hide(); - } - $(table).inventreeTable({ url: url, name: options.name || 'attachments', @@ -286,16 +306,6 @@ function loadAttachmentTable(url, options) { }); }); } - - if (permissions.delete) { - // Add callback for 'delete' button - $(table).find('.button-attachment-delete').click(function() { - var pk = $(this).attr('pk'); - - var attachment = $(table).bootstrapTable('getRowByUniqueId', pk); - deleteAttachments([attachment], url, options); - }); - } }, columns: [ { diff --git a/InvenTree/templates/js/translated/barcode.js b/InvenTree/templates/js/translated/barcode.js index dbe12c198d..6be685cdf2 100644 --- a/InvenTree/templates/js/translated/barcode.js +++ b/InvenTree/templates/js/translated/barcode.js @@ -763,7 +763,7 @@ function scanItemsIntoLocation(item_list, options={}) { // Extra form fields var extra = makeNotesField(); - // Header contentfor + // Header content var header = `
    diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index e6841b9217..e1650e14fe 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -33,6 +33,7 @@ modalSetContent, partFields, partGroups, + reloadBootstrapTable, renderLink, setupFilterList, shortenString, @@ -817,7 +818,24 @@ function loadBomTable(table, options={}) { Object.assign(filters, params); - setupFilterList('bom', $(table)); + setupFilterList('bom', $(table), '#filter-list-bom', { + custom_actions: [{ + label: 'actions', + actions: [{ + label: 'delete', + title: '{% trans "Delete items" %}', + icon: 'fa-trash-alt icon-red', + permission: 'part.change', + callback: function(data) { + deleteBomItems(data, { + success: function() { + reloadBootstrapTable('#bom-table'); + } + }); + } + }] + }] + }); function availableQuantity(row) { diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index f99603aeba..422250e7f1 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -23,7 +23,6 @@ inventreeLoad, inventreePut, launchModalForm, - linkButtonsToSelection, loadTableFilters, locationDetail, makeDeleteButton, @@ -34,6 +33,7 @@ makePartIcons, makeProgressBar, orderParts, + reloadBootstrapTable, renderDate, renderLink, setupFilterList, @@ -387,7 +387,7 @@ function createBuildOutput(build_id, options) { fields: fields, preFormContent: html, onSuccess: function(response) { - location.reload(); + reloadBootstrapTable(options.table || '#build-output-table'); }, }); @@ -995,6 +995,70 @@ function loadBuildOrderAllocationTable(table, options={}) { } +/* + * Construct a set of actions for the build output table + */ +function makeBuildOutputActions(build_info) { + + return [ + { + label: 'complete', + title: '{% trans "Complete outputs" %}', + icon: 'fa-check-circle icon-green', + permission: 'build.add', + callback: function(data) { + completeBuildOutputs( + build_info.pk, + data, + { + success: function() { + $('#build-output-table').bootstrapTable('refresh'); // Reload the "in progress" table + $('#build-stock-table').bootstrapTable('refresh'); // Reload the "completed" table + } + } + ); + }, + }, + { + label: 'scrap', + title: '{% trans "Scrap outputs" %}', + icon: 'fa-times-circle icon-red', + permission: 'build.change', + callback: function(data) { + scrapBuildOutputs( + build_info.pk, + data, + { + success: function() { + $('#build-output-table').bootstrapTable('refresh'); // Reload the "in progress" table + $('#build-stock-table').bootstrapTable('refresh'); // Reload the "completed" table + } + } + ); + }, + }, + { + label: 'delete', + title: '{% trans "Delete outputs" %}', + icon: 'fa-trash-alt icon-red', + permission: 'build.delete', + callback: function(data) { + deleteBuildOutputs( + build_info.pk, + data, + { + success: function() { + $('#build-output-table').bootstrapTable('refresh'); // Reload the "in progress" table + $('#build-stock-table').bootstrapTable('refresh'); // Reload the "completed" table + } + } + ) + }, + } + ]; +} + + /* * Display a "build output" table for a particular build. * @@ -1035,6 +1099,12 @@ function loadBuildOutputTable(build_info, options={}) { }, singular_name: '{% trans "build output" %}', plural_name: '{% trans "build outputs" %}', + custom_actions: [{ + label: 'buildoutput', + icon: 'fa-tools', + title: '{% trans "Build output actions" %}', + actions: makeBuildOutputActions(build_info), + }] }); // Request list of required tests for the part being assembled @@ -1383,25 +1453,6 @@ function loadBuildOutputTable(build_info, options={}) { ); }); - // Complete multiple outputs - $('#multi-output-complete').click(function() { - var outputs = getTableData(table); - - completeBuildOutputs( - build_info.pk, - outputs, - { - success: function() { - // Reload the "in progress" table - $('#build-output-table').bootstrapTable('refresh'); - - // Reload the "completed" table - $('#build-stock-table').bootstrapTable('refresh'); - } - } - ); - }); - // Delete multiple build outputs $('#multi-output-delete').click(function() { var outputs = getTableData(table); @@ -1421,25 +1472,6 @@ function loadBuildOutputTable(build_info, options={}) { ); }); - // Scrap multiple outputs - $('#multi-output-scrap').click(function() { - var outputs = getTableData(table); - - scrapBuildOutputs( - build_info.pk, - outputs, - { - success: function() { - // Reload the "in progress" table - $('#build-output-table').bootstrapTable('refresh'); - - // Reload the "completed" table - $('#build-stock-table').bootstrapTable('refresh'); - } - } - ); - }); - $('#outputs-expand').click(function() { $(table).bootstrapTable('expandAllRows'); }); @@ -2180,13 +2212,6 @@ function loadBuildTable(table, options) { } } }); - - linkButtonsToSelection( - table, - [ - '#build-print-options', - ] - ); } diff --git a/InvenTree/templates/js/translated/company.js b/InvenTree/templates/js/translated/company.js index 833a822c50..d49ad7465e 100644 --- a/InvenTree/templates/js/translated/company.js +++ b/InvenTree/templates/js/translated/company.js @@ -18,6 +18,7 @@ makeDeleteButton, makeEditButton, makeIconBadge, + orderParts, renderClipboard, renderDate, renderLink, @@ -1213,6 +1214,43 @@ function deleteManufacturerPartParameters(selections, options={}) { } +// Construct a set of actions for the manufacturer part table +function makeManufacturerPartActions(options={}) { + return [ + { + label: 'order', + title: '{% trans "Order parts" %}', + icon: 'fa-shopping-cart', + permission: 'purchase_order.add', + callback: function(data) { + let parts = []; + + data.forEach(function(item) { + let part = item.part_detail; + part.manufacturer_part = item.pk; + parts.push(part); + }); + + orderParts(parts); + }, + }, + { + label: 'delete', + title: '{% trans "Delete manufacturer parts" %}', + icon: 'fa-trash-alt icon-red', + permission: 'purchase_order.delete', + callback: function(data) { + deleteManufacturerParts(data, { + success: function() { + $('#manufacturer-part-table').bootstrapTable('refresh'); + } + }); + }, + } + ]; +} + + /* * Load manufacturer part table */ @@ -1226,7 +1264,18 @@ function loadManufacturerPartTable(table, url, options) { var filterTarget = options.filterTarget || '#filter-list-manufacturer-part'; - setupFilterList('manufacturer-part', $(table), filterTarget); + setupFilterList('manufacturer-part', $(table), filterTarget, { + custom_actions: [ + { + label: 'manufacturer-part', + title: '{% trans "Manufacturer part actions" %}', + icon: 'fa-tools', + actions: makeManufacturerPartActions({ + manufacturer_id: options.params.manufacturer, + }) + } + ] + }); $(table).inventreeTable({ url: url, @@ -1453,6 +1502,43 @@ function loadManufacturerPartParameterTable(table, url, options) { } +// Construct a set of actions for the supplier part table +function makeSupplierPartActions(options={}) { + return [ + { + label: 'order', + title: '{% trans "Order parts" %}', + icon: 'fa-shopping-cart', + permission: 'purchase_order.add', + callback: function(data) { + let parts = [] + + data.forEach(function(entry) { + parts.push(entry.part_detail); + }); + + orderParts(parts, { + supplier: options.supplier_id, + }); + }, + }, + { + label: 'delete', + title: '{% trans "Delete supplier parts" %}', + icon: 'fa-trash-alt icon-red', + permission: 'purchase_order.delete', + callback: function(data) { + deleteSupplierParts(data, { + success: function() { + $('#supplier-part-table').bootstrapTable('refresh'); + } + }); + }, + } + ]; +} + + /* * Load supplier part table */ @@ -1464,7 +1550,18 @@ function loadSupplierPartTable(table, url, options) { // Load filters var filters = loadTableFilters('supplierpart', params); - setupFilterList('supplierpart', $(table)); + setupFilterList('supplierpart', $(table), '#filter-list-supplier-part', { + custom_actions: [ + { + label: 'supplier-part', + title: '{% trans "Supplier part actions" %}', + icon: 'fa-tools', + actions: makeSupplierPartActions({ + supplier_id: options.params.supplier, + }), + } + ] + }); $(table).inventreeTable({ url: url, diff --git a/InvenTree/templates/js/translated/filters.js b/InvenTree/templates/js/translated/filters.js index 767796a056..201591ac5e 100644 --- a/InvenTree/templates/js/translated/filters.js +++ b/InvenTree/templates/js/translated/filters.js @@ -1,6 +1,7 @@ {% load i18n %} /* globals + checkPermission, downloadTableData, getAvailableTableFilters, getTableData, @@ -266,6 +267,102 @@ function generateFilterInput(tableKey, filterKey) { } +/* + * Construct a single action button based on the provided definition + */ +function makeFilterActionButton(button, options={}) { + let prefix = options.prefix || 'action'; + + // Check for required permission (if specified) + if (button.permission) { + if (!checkPermission(button.permission)) { + return ''; + } + } + + return ` +
  • + ${button.title} +
  • `; +} + + +/* + * Construct a set of custom actions for a given table + */ +function makeCustomActionGroup(action_group, table) { + + let buttons = []; + let label = action_group.label || 'actions'; + let title = action_group.title || '{% trans "Actions" %}'; + let icon = action_group.icon || 'fa-tools'; + + // Construct the HTML for each button + action_group.actions.forEach(function(action) { + buttons.push(makeFilterActionButton(action, {prefix: label})); + }); + + if (buttons.length == 0) { + // Don't display anything if there are no buttons to show + return ''; + } + + let html = ` +
    + +
    `; + return html; +} + + +/* + * Construct a set of custom barcode actions for a given table + * + * To define barcode actions for a data table, use options.barcode_actions + */ +function makeBarcodeActions(barcode_actions, table) { + + let html = ` +
    + +
    `; + + return html; +} + + +/* + * Add callbacks for custom actions + */ +function addFilterActionCallbacks(element, label, table, actions) { + actions.forEach(function(action) { + let id = `action-${label}-${action.label}`; + element.find(`#${id}`).click(function() { + let data = getTableData(table); + action.callback(data); + }); + }); +} + + /* * Helper function to make a 'filter' style button */ @@ -315,6 +412,19 @@ function setupFilterList(tableKey, table, target, options={}) { let report_button = options.report && global_settings.REPORT_ENABLE; let labels_button = options.labels && global_settings.LABEL_ENABLE; + let barcode_actions = options.barcode_actions && global_settings.BARCODE_ENABLE; + + // Add in "custom" actions first (to the left of the table buttons) + if (options.custom_actions) { + options.custom_actions.forEach(function(action_group) { + buttons += makeCustomActionGroup(action_group, table); + }); + } + + // Add in button for custom barcode actions + if (barcode_actions) { + buttons += makeBarcodeActions(options.barcode_actions, table); + } if (report_button || labels_button) { let print_buttons = ` @@ -394,6 +504,19 @@ function setupFilterList(tableKey, table, target, options={}) { element.append(filter_tag); } + // Callback for custom actions + if (options.custom_actions) { + options.custom_actions.forEach(function(action_group) { + let label = action_group.label || 'actions'; + addFilterActionCallbacks(element, label, table, action_group.actions); + }); + } + + // Callback for barcode actions + if (barcode_actions) { + addFilterActionCallbacks(element, 'barcode', table, options.barcode_actions); + } + // Callback for printing reports if (options.report && global_settings.REPORT_ENABLE) { element.find(`#print-report-${tableKey}`).click(function() { diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 20834d272d..8545f4e5f6 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -23,7 +23,6 @@ inventreeLoad, inventreePut, inventreeSave, - linkButtonsToSelection, loadTableFilters, makeDeleteButton, makeEditButton, @@ -2159,6 +2158,69 @@ function partGridTile(part) { } +/* + * Update the category for a set of parts + */ +function setPartCategory(data, options={}) { + + let parts = []; + + data.forEach(function(item) { + parts.push(item.pk); + }); + + var html = ` +
    + {% trans "Set the part category for the selected parts" %} +
    + `; + + constructForm('{% url "api-part-change-category" %}',{ + title: '{% trans "Set Part Category" %}', + method: 'POST', + preFormContent: html, + fields: { + category: {}, + }, + processBeforeUpload: function(data) { + data.parts = parts; + return data; + }, + onSuccess: function() { + $(options.table).bootstrapTable('refresh'); + } + }); +} + + +/* + * Construct a set of custom actions for the part table + */ +function makePartActions(table) { + + return [ + { + label: 'set-category', + title: '{% trans "Set category" %}', + icon: 'fa-sitemap', + permission: 'part.change', + callback: function(data) { + setPartCategory(data, {table: table}); + } + }, + { + label: 'order', + title: '{% trans "Order parts" %}', + icon: 'fa-shopping-cart', + permission: 'purchase_order.add', + callback: function(data) { + orderParts(data); + }, + } + ] +} + + /* Load part listing data into specified table. * * Args: @@ -2190,6 +2252,14 @@ function loadPartTable(table, url, options={}) { }, singular_name: '{% trans "part" %}', plural_name: '{% trans "parts" %}', + custom_actions: [ + { + label: 'parts', + icon: 'fa-tools', + title: '{% trans "Part actions" %}', + actions: makePartActions(table), + } + ] }); var columns = [ @@ -2438,97 +2508,6 @@ function loadPartTable(table, url, options={}) { return html; } }); - - if (options.buttons) { - linkButtonsToSelection($(table), options.buttons); - } - - /* Button callbacks for part table buttons */ - - // Callback function for the "order parts" button - $('#multi-part-order').click(function() { - var selections = getTableData(table); - - var parts = []; - - selections.forEach(function(part) { - parts.push(part); - }); - - orderParts(parts, {}); - }); - - // Callback function for the "set category" button - $('#multi-part-category').click(function() { - var selections = getTableData(table); - var parts = []; - - selections.forEach(function(item) { - parts.push(item.pk); - }); - - var html = ` -
    - {% trans "Set the part category for the selected parts" %} -
    - `; - - constructFormBody({}, { - title: '{% trans "Set Part Category" %}', - preFormContent: html, - fields: { - category: { - label: '{% trans "Category" %}', - help_text: '{% trans "Select Part Category" %}', - required: true, - type: 'related field', - model: 'partcategory', - api_url: '{% url "api-part-category-list" %}', - } - }, - onSubmit: function(fields, opts) { - var category = getFormFieldValue('category', fields['category'], opts); - - if (category == null) { - handleFormErrors( - { - 'category': ['{% trans "Category is required" %}'] - }, - opts.fields, - opts - ); - return; - } - - // Set the category for each part in sequence - function setCategory() { - if (parts.length > 0) { - var part = parts.shift(); - - inventreePut( - `{% url "api-part-list" %}${part}/`, - { - category: category, - }, - { - method: 'PATCH', - complete: setCategory, - } - ); - } else { - // We are done! - $(opts.modal).modal('hide'); - - $(table).bootstrapTable('refresh'); - } - } - - // Start the ball rolling - showModalSpinner(opts.modal); - setCategory(); - }, - }); - }); } diff --git a/InvenTree/templates/js/translated/purchase_order.js b/InvenTree/templates/js/translated/purchase_order.js index 25b46dbd9a..a27c8e12d1 100644 --- a/InvenTree/templates/js/translated/purchase_order.js +++ b/InvenTree/templates/js/translated/purchase_order.js @@ -31,7 +31,6 @@ inventreeLoad, inventreePut, launchModalForm, - linkButtonsToSelection, loadTableFilters, makeCopyButton, makeDeleteButton, @@ -606,7 +605,7 @@ function newSupplierPartFromOrderWizard(e) { /* * Create a new form to order parts based on the list of provided parts. */ -function orderParts(parts_list, options) { +function orderParts(parts_list, options={}) { var parts = []; @@ -786,7 +785,7 @@ function orderParts(parts_list, options) { supplier_part_filters.manufacturer_part = options.manufacturer_part; } - // Construct API filtres for the PurchaseOrder field + // Construct API filters for the PurchaseOrder field var order_filters = { status: {{ PurchaseOrderStatus.PENDING }}, supplier_detail: true, @@ -822,6 +821,10 @@ function orderParts(parts_list, options) { $(opts.modal).find(`#info-pack-size-${pk}`).remove(); + if (typeof value === 'object') { + value = value.pk; + } + if (value != null) { inventreeGet( `/api/company/part/${value}/`, @@ -1866,14 +1869,9 @@ function loadPurchaseOrderLineItemTable(table, options={}) { var filters = loadTableFilters('purchaseorderlineitem', options.params); - setupFilterList( - 'purchaseorderlineitem', - $(table), - options.filter_target || '#filter-list-purchase-order-lines', - { - download: true - } - ); + setupFilterList('purchaseorderlineitem', $(table), options.filter_target || '#filter-list-purchase-order-lines', { + download: true, + }); function setupCallbacks() { if (options.allow_edit) { @@ -2211,12 +2209,4 @@ function loadPurchaseOrderLineItemTable(table, options={}) { } ] }); - - linkButtonsToSelection( - table, - [ - '#multi-select-options', - ] - ); - } diff --git a/InvenTree/templates/js/translated/search.js b/InvenTree/templates/js/translated/search.js index 26d8caadc4..23882295cc 100644 --- a/InvenTree/templates/js/translated/search.js +++ b/InvenTree/templates/js/translated/search.js @@ -1,6 +1,7 @@ {% load i18n %} /* globals + checkPermission, getModelRenderer, inventreeGet, inventreePut, @@ -22,40 +23,6 @@ function closeSearchPanel() { } -// Keep track of the roles / permissions available to the current user -var search_user_roles = null; - - -/* - * Check if the user has the specified role and permission - */ -function checkPermission(role, permission='view') { - - if (!search_user_roles) { - return false; - } - - if (!(role in search_user_roles)) { - return false; - } - - var roles = search_user_roles[role]; - - if (!roles) { - return false; - } - - var found = false; - - search_user_roles[role].forEach(function(p) { - if (String(p).valueOf() == String(permission).valueOf()) { - found = true; - } - }); - - return found; -} - /* * Callback when the search panel is opened. @@ -71,15 +38,6 @@ function openSearchPanel() { clearSearchResults(); - // Request user roles if we do not have them - if (search_user_roles == null) { - inventreeGet('{% url "api-user-roles" %}', {}, { - success: function(response) { - search_user_roles = response.roles || {}; - } - }); - } - // Callback for text input changed search_input.on('keyup change', searchTextChanged); diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index d7df093097..a29bd7bcb3 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -30,7 +30,6 @@ inventreePut, inventreeSave, launchModalForm, - linkButtonsToSelection, loadTableFilters, makeDeleteButton, makeEditButton, @@ -1707,6 +1706,121 @@ function locationDetail(row, showLink=true) { } +/* + * Construct a set of custom actions for the stock table + */ +function makeStockActions(table) { + let actions = [ + { + label: 'add', + icon: 'fa-plus-circle icon-green', + title: '{% trans "Add stock" %}', + permission: 'stock.change', + callback: function(data) { + stockAdjustment('add', data, table); + } + }, + { + label: 'remove', + icon: 'fa-minus-circle icon-red', + title: '{% trans "Remove stock" %}', + permission: 'stock.change', + callback: function(data) { + stockAdjustment('take', data, table); + }, + }, + { + label: 'stocktake', + icon: 'fa-check-circle icon-blue', + title: '{% trans "Count stock" %}', + permission: 'stock.change', + callback: function(data) { + stockAdjustment('count', data, table); + }, + }, + { + label: 'move', + icon: 'fa-exchange-alt icon-blue', + title: '{% trans "Transfer stock" %}', + permission: 'stock.change', + callback: function(data) { + stockAdjustment('move', data, table); + } + }, + { + label: 'status', + icon: 'fa-info-circle icon-blue', + title: '{% trans "Change stock status" %}', + permission: 'stock.change', + callback: function(data) { + setStockStatus(data, {table: table}); + }, + }, + { + label: 'merge', + icon: 'fa-object-group', + title: '{% trans "Merge stock" %}', + permission: 'stock.change', + callback: function(data) { + mergeStockItems(data, { + success: function(response) { + $(table).bootstrapTable('refresh'); + + showMessage('{% trans "Merged stock items" %}', { + style: 'success', + }); + } + }); + }, + }, + { + label: 'order', + icon: 'fa-shopping-cart', + title: '{% trans "Order stock" %}', + permission: 'stock.change', + callback: function(data) { + let parts = []; + + data.forEach(function(item) { + var part = item.part_detail; + + if (part) { + parts.push(part); + } + }); + + orderParts(parts, {}); + }, + }, + { + label: 'assign', + icon: 'fa-user-tie', + title: '{% trans "Assign to customer" %}', + permission: 'stock.change', + callback: function(data) { + assignStockToCustomer(data, { + success: function() { + $(table).bootstrapTable('refresh'); + } + }); + }, + }, + { + label: 'delete', + icon: 'fa-trash-alt icon-red', + title: '{% trans "Delete stock" %}', + permission: 'stock.delete', + callback: function(data) { + stockAdjustment('delete', data, table); + }, + } + ]; + + return actions; + +} + + /* Load data into a stock table with adjustable options. * Fetches data (via AJAX) and loads into a bootstrap table. * Also links in default button callbacks. @@ -1746,7 +1860,26 @@ function loadStockTable(table, options) { key: 'item', }, singular_name: '{% trans "stock item" %}', - plural_name: '{% trans "stock items" %}' + plural_name: '{% trans "stock items" %}', + barcode_actions: [ + { + icon: 'fa-sitemap', + label: 'scantolocation', + title: '{% trans "Scan to location" %}', + permission: 'stock.change', + callback: function(items) { + scanItemsIntoLocation(items); + } + } + ], + custom_actions: [ + { + actions: makeStockActions(table), + icon: 'fa-boxes', + title: '{% trans "Stock Actions" %}', + label: 'stock', + } + ] }); // Override the default values, or add new ones @@ -2267,114 +2400,6 @@ function loadStockTable(table, options) { buttons.push('#stock-barcode-options'); } - linkButtonsToSelection( - table, - buttons, - ); - - function stockAdjustment(action) { - var items = getTableData(table); - - adjustStock(action, items, { - success: function() { - $(table).bootstrapTable('refresh'); - } - }); - } - - // Automatically link button callbacks - if (global_settings.BARCODE_ENABLE) { - $('#multi-item-barcode-scan-into-location').click(function() { - var selections = getTableData(table); - - var items = []; - - selections.forEach(function(item) { - items.push(item); - }); - - scanItemsIntoLocation(items); - }); - } - - // Callback for 'stocktake' button - $('#multi-item-stocktake').click(function() { - stockAdjustment('count'); - }); - - // Callback for 'remove stock' button - $('#multi-item-remove').click(function() { - stockAdjustment('take'); - }); - - // Callback for 'add stock' button - $('#multi-item-add').click(function() { - stockAdjustment('add'); - }); - - // Callback for 'move stock' button - $('#multi-item-move').click(function() { - stockAdjustment('move'); - }); - - // Callback for 'merge stock' button - $('#multi-item-merge').click(function() { - var items = getTableData(table); - - mergeStockItems(items, { - success: function(response) { - $(table).bootstrapTable('refresh'); - - showMessage('{% trans "Merged stock items" %}', { - style: 'success', - }); - } - }); - }); - - // Callback for 'assign stock' button - $('#multi-item-assign').click(function() { - - var items = getTableData(table); - - assignStockToCustomer(items, { - success: function() { - $(table).bootstrapTable('refresh'); - } - }); - }); - - // Callback for 'un-assign stock' button - $('#multi-item-order').click(function() { - - var selections = getTableData(table); - - var parts = []; - - selections.forEach(function(item) { - var part = item.part_detail; - - if (part) { - parts.push(part); - } - }); - - orderParts(parts, {}); - }); - - // Callback for 'delete stock' button - $('#multi-item-delete').click(function() { - var selections = getTableData(table); - - var stock = []; - - selections.forEach(function(item) { - stock.push(item.pk); - }); - - stockAdjustment('delete'); - }); - // Callback for 'change status' button $('#multi-item-status').click(function() { let selections = getTableData(table); @@ -2384,35 +2409,9 @@ function loadStockTable(table, options) { items.push(item.pk); }); - if (items.length == 0) { - showAlertDialog( - '{% trans "Select Stock Items" %}', - '{% trans "Select one or more stock items" %}' - ); - return; - } - let html = ` -
    0); - - // Add a callback - table.on('check.bs.table uncheck.bs.table check-some.bs.table uncheck-some.bs.table check-all.bs.table uncheck-all.bs.table', function() { - enableButtons(buttons, table.bootstrapTable('getSelections').length > 0); - }); -} - - /** * Returns true if the input looks like a valid number * @param {String} n @@ -474,11 +455,6 @@ $.fn.inventreeTable = function(options) { console.error(`Could not get list of visible columns for table '${tableName}'`); } } - - // Optionally, link buttons to the table selection - if (options.buttons) { - linkButtonsToSelection(table, options.buttons); - } }; diff --git a/InvenTree/templates/stock_table.html b/InvenTree/templates/stock_table.html index bb8e074efc..d8fa1aeac6 100644 --- a/InvenTree/templates/stock_table.html +++ b/InvenTree/templates/stock_table.html @@ -9,46 +9,7 @@ {% endif %}
    -
    -
    - {% if barcodes %} - - - {% endif %} - {% if not read_only %} - {% if roles.stock.change or roles.stock.delete %} - - {% endif %} - {% endif %} - {% include "filter_list.html" with prefix=prefix id="stock" %} -
    -
    + {% include "filter_list.html" with prefix=prefix id="stock" %}
    From 09cc65453012e713e946ce070dcf3ca9dd93ae43 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 20 Jun 2023 12:39:18 +1000 Subject: [PATCH 033/103] Required for order fix (#5077) * Fix part tables on index page - Stop table filters overriding each other * Refactor "needed for build" table - Now shows amount actually needed * Fix typo * js fix * linting * Fix warning messages on index page * js linting --- InvenTree/InvenTree/urls.py | 1 + InvenTree/part/api.py | 2 +- InvenTree/templates/InvenTree/index.html | 76 ++---------- InvenTree/templates/base.html | 1 + InvenTree/templates/js/translated/index.js | 135 +++++++++++++++++++++ InvenTree/templates/js/translated/part.js | 44 ++++--- InvenTree/templates/js/translated/stock.js | 72 +++++------ 7 files changed, 213 insertions(+), 118 deletions(-) create mode 100644 InvenTree/templates/js/translated/index.js diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index b7b49a51ae..e98268db9c 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -111,6 +111,7 @@ translated_javascript_urls = [ re_path(r'^filters.js', DynamicJsView.as_view(template_name='js/translated/filters.js'), name='filters.js'), re_path(r'^forms.js', DynamicJsView.as_view(template_name='js/translated/forms.js'), name='forms.js'), re_path(r'^helpers.js', DynamicJsView.as_view(template_name='js/translated/helpers.js'), name='helpers.js'), + re_path(r'^index.js', DynamicJsView.as_view(template_name='js/translated/index.js'), name='index.js'), re_path(r'^label.js', DynamicJsView.as_view(template_name='js/translated/label.js'), name='label.js'), re_path(r'^model_renderers.js', DynamicJsView.as_view(template_name='js/translated/model_renderers.js'), name='model_renderers.js'), re_path(r'^modals.js', DynamicJsView.as_view(template_name='js/translated/modals.js'), name='modals.js'), diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 801b0b5f8d..a66308f161 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -962,7 +962,7 @@ class PartFilter(rest_filters.FilterSet): depleted_stock = rest_filters.BooleanFilter(label='Depleted Stock', method='filter_depleted_stock') - def filter_deployed_stock(self, queryset, name, value): + def filter_depleted_stock(self, queryset, name, value): """Filter the queryset based on whether the part is fully depleted of stock""" if str2bool(value): diff --git a/InvenTree/templates/InvenTree/index.html b/InvenTree/templates/InvenTree/index.html index 03b64bfa41..7e8526ca5e 100644 --- a/InvenTree/templates/InvenTree/index.html +++ b/InvenTree/templates/InvenTree/index.html @@ -25,61 +25,6 @@ {{ block.super }} -function addHeaderTitle(title) { - - addSidebarHeader({ - text: title, - }); -} - -function addHeaderAction(label, title, icon, options) { - - // Construct a "badge" to add to the sidebar item - var badge = ` - - - - `; - - addSidebarItem({ - label: label, - text: title, - icon: icon, - content_after: badge - }); - - // Add a detail item to the detail item-panel - $("#detail-panels").append( - `
    -
    -

    ${title}

    -
    -
    -
    -
    -
    ` - ); - - let table_name = `#table-${label}`; - - // Connect a callback to the table - $(table_name).on('load-success.bs.table', function(data) { - - let options = $(table_name).bootstrapTable('getOptions'); - - let count = options.totalRows; - - let badge = $(`#sidebar-badge-${label}`); - - badge.html(count); - - if (count > 0) { - badge.removeClass('bg-dark'); - badge.addClass('bg-primary'); - } - }); -} - {% settings_value 'HOMEPAGE_HIDE_INACTIVE' user=request.user as hide_inactive %} {% settings_value 'HOMEPAGE_PART_STARRED' user=request.user as setting_part_starred %} {% settings_value 'HOMEPAGE_CATEGORY_STARRED' user=request.user as setting_category_starred %} @@ -93,6 +38,7 @@ addHeaderTitle('{% trans "Parts" %}'); {% if setting_part_starred %} addHeaderAction('starred-parts', '{% trans "Subscribed Parts" %}', 'fa-bell'); loadSimplePartTable("#table-starred-parts", "{% url 'api-part-list' %}", { + name: 'starred-parts', params: { starred: true, {% if hide_inactive %} @@ -116,6 +62,7 @@ loadPartCategoryTable($('#table-starred-categories'), { {% if setting_part_latest %} addHeaderAction('latest-parts', '{% trans "Latest Parts" %}', 'fa-newspaper'); loadSimplePartTable("#table-latest-parts", "{% url 'api-part-list' %}", { + name: 'latest-parts', params: { ordering: "-creation_date", created_after: moment().subtract(1, 'months').format('YYYY-MM-DD'), @@ -130,6 +77,7 @@ loadSimplePartTable("#table-latest-parts", "{% url 'api-part-list' %}", { {% if setting_bom_validation %} addHeaderAction('bom-validation', '{% trans "BOM Waiting Validation" %}', 'fa-times-circle'); loadSimplePartTable("#table-bom-validation", "{% url 'api-part-list' %}", { + name: 'parts-invalid-bom', params: { "bom_valid": false, {% if hide_inactive %} @@ -158,6 +106,7 @@ loadSimplePartTable("#table-bom-validation", "{% url 'api-part-list' %}", { {% if setting_stock_recent %} addHeaderAction('recently-updated-stock', '{% trans "Recently Updated" %}', 'fa-clock'); loadStockTable($('#table-recently-updated-stock'), { + disableFilters: true, params: { part_detail: true, ordering: "-updated", @@ -170,6 +119,7 @@ loadStockTable($('#table-recently-updated-stock'), { {% if setting_stock_low %} addHeaderAction('low-stock', '{% trans "Low Stock" %}', 'fa-flag'); loadSimplePartTable("#table-low-stock", "{% url 'api-part-list' %}", { + name: 'parts-low-stock', params: { low_stock: true, {% if hide_inactive %} @@ -183,6 +133,7 @@ loadSimplePartTable("#table-low-stock", "{% url 'api-part-list' %}", { {% if setting_stock_depleted %} addHeaderAction('depleted-stock', '{% trans "Depleted Stock" %}', 'fa-times'); loadSimplePartTable("#table-depleted-stock", "{% url 'api-part-list' %}", { + name: 'parts-depleted-stock', params: { depleted_stock: true, {% if hide_inactive %} @@ -195,15 +146,8 @@ loadSimplePartTable("#table-depleted-stock", "{% url 'api-part-list' %}", { {% if setting_stock_needed %} addHeaderAction('stock-to-build', '{% trans "Required for Build Orders" %}', 'fa-bullhorn'); -loadSimplePartTable("#table-stock-to-build", "{% url 'api-part-list' %}", { - params: { - stock_to_build: true, - {% if hide_inactive %} - active: true, - {% endif %} - }, - name: "to_build_parts", -}); + +loadRequiredForBuildsPartsTable("#table-stock-to-build", {}); {% endif %} {% if expiry %} @@ -211,6 +155,7 @@ loadSimplePartTable("#table-stock-to-build", "{% url 'api-part-list' %}", { {% if setting_stock_expired %} addHeaderAction('expired-stock', '{% trans "Expired Stock" %}', 'fa-calendar-times'); loadStockTable($("#table-expired-stock"), { + disableFilters: true, params: { expired: true, location_detail: true, @@ -219,12 +164,14 @@ loadStockTable($("#table-expired-stock"), { active: true, {% endif %} }, + name: 'expired-stock', }); {% endif %} {% if setting_stock_stale %} addHeaderAction('stale-stock', '{% trans "Stale Stock" %}', 'fa-stopwatch'); loadStockTable($("#table-stale-stock"), { + disableFilters: true, params: { stale: true, expired: false, @@ -234,6 +181,7 @@ loadStockTable($("#table-stale-stock"), { active: true, {% endif %} }, + name: 'stale-stock', }); {% endif %} diff --git a/InvenTree/templates/base.html b/InvenTree/templates/base.html index b33721693a..7d46b47416 100644 --- a/InvenTree/templates/base.html +++ b/InvenTree/templates/base.html @@ -161,6 +161,7 @@ + diff --git a/InvenTree/templates/js/translated/index.js b/InvenTree/templates/js/translated/index.js new file mode 100644 index 0000000000..7b7a24d2a1 --- /dev/null +++ b/InvenTree/templates/js/translated/index.js @@ -0,0 +1,135 @@ +{% load i18n %} + +/* globals + addSidebarHeader, + addSidebarItem, + checkPermission, + global_settings, + imageHoverIcon, + makeProgressBar, + renderLink, + shortenString, + user_settings, + withTitle, +*/ + +/* exported + addHeaderAction, + addHeaderTitle, +*/ + + +/* + * Add a 'header title' to the index sidebar + */ +function addHeaderTitle(title) { + addSidebarHeader({ + text: title, + }); +} + + +function addHeaderAction(label, title, icon, options) { + + // Construct a "badge" to add to the sidebar item + var badge = ` + + + + `; + + addSidebarItem({ + label: label, + text: title, + icon: icon, + content_after: badge + }); + + // Add a detail item to the detail item-panel + $("#detail-panels").append( + `
    +
    +

    ${title}

    +
    +
    +
    +
    +
    ` + ); + + let table_name = `#table-${label}`; + + // Connect a callback to the table + $(table_name).on('load-success.bs.table', function(data) { + + let options = $(table_name).bootstrapTable('getOptions'); + + let count = options.totalRows; + + let badge = $(`#sidebar-badge-${label}`); + + badge.html(count); + + if (count > 0) { + badge.removeClass('bg-dark'); + badge.addClass('bg-primary'); + } + }); +} + + +/* + * Load a table displaying parts which are outstanding for builds + */ +function loadRequiredForBuildsPartsTable(table, options={}) { + let name = 'parts-required-for-builds'; + + let params = { + stock_to_build: true, + }; + + $(table).inventreeTable({ + url: '{% url "api-part-list" %}', + queryParams: params, + name: name, + showColumns: false, + search: false, + sortable: false, + formatNoMatches: function() { + return '{% trans "No parts required for builds" %}'; + }, + columns: [ + { + field: 'name', + title: '{% trans "Part" %}', + formatter: function(value, row) { + let name = shortenString(row.full_name); + let display= imageHoverIcon(row.thumbnail) + renderLink(name, `/part/${row.pk}/`); + + return withTitle(display, row.full_name); + } + }, + { + field: 'description', + title: '{% trans "Description" %}', + }, + { + field: 'total_in_stock', + title: '{% trans "Available" %}', + formatter: function(value, row) { + return value; + } + }, + { + field: 'allocated_to_build_orders', + title: '{% trans "Allocated Stock" %}', + formatter: function(_value, row) { + return makeProgressBar( + row.allocated_to_build_orders, + row.required_for_build_orders, + ); + } + }, + ] + }); +} diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 8545f4e5f6..8c7df7a045 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -2237,30 +2237,36 @@ function loadPartTable(table, url, options={}) { options.params = options.params || {}; + let table_name = options.name || 'parts'; + // Ensure category detail is included options.params['category_detail'] = true; var params = options.params || {}; - var filters = loadTableFilters('parts', options.params); + let filters = {}; - setupFilterList('parts', $(table), options.filterTarget, { - download: true, - labels: { - url: '{% url "api-part-label-list" %}', - key: 'part', - }, - singular_name: '{% trans "part" %}', - plural_name: '{% trans "parts" %}', - custom_actions: [ - { - label: 'parts', - icon: 'fa-tools', - title: '{% trans "Part actions" %}', - actions: makePartActions(table), - } - ] - }); + if (!options.disableFilters) { + filters = loadTableFilters(table_name, options.params); + + setupFilterList('parts', $(table), options.filterTarget, { + download: true, + labels: { + url: '{% url "api-part-label-list" %}', + key: 'part', + }, + singular_name: '{% trans "part" %}', + plural_name: '{% trans "parts" %}', + custom_actions: [ + { + label: 'parts', + icon: 'fa-tools', + title: '{% trans "Part actions" %}', + actions: makePartActions(table), + } + ] + }); + } var columns = [ { @@ -2426,9 +2432,9 @@ function loadPartTable(table, url, options={}) { $(table).inventreeTable({ url: url, method: 'get', + name: table_name, queryParams: filters, groupBy: false, - name: options.name || 'part', original: params, sidePagination: 'server', pagination: 'true', diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index a29bd7bcb3..95cef81533 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -1843,44 +1843,48 @@ function loadStockTable(table, options) { var params = options.params || {}; - const filterTarget = options.filterTarget || '#filter-list-stock'; + let filters = {}; - const filterKey = options.filterKey || options.name || 'stock'; + if (!options.disableFilters) { - let filters = loadTableFilters(filterKey, params); + const filterTarget = options.filterTarget || '#filter-list-stock'; + const filterKey = options.filterKey || options.name || 'stock'; - setupFilterList(filterKey, table, filterTarget, { - download: true, - report: { - url: '{% url "api-stockitem-testreport-list" %}', - key: 'item', - }, - labels: { - url: '{% url "api-stockitem-label-list" %}', - key: 'item', - }, - singular_name: '{% trans "stock item" %}', - plural_name: '{% trans "stock items" %}', - barcode_actions: [ - { - icon: 'fa-sitemap', - label: 'scantolocation', - title: '{% trans "Scan to location" %}', - permission: 'stock.change', - callback: function(items) { - scanItemsIntoLocation(items); + filters = loadTableFilters(filterKey, params); + + setupFilterList(filterKey, table, filterTarget, { + download: true, + report: { + url: '{% url "api-stockitem-testreport-list" %}', + key: 'item', + }, + labels: { + url: '{% url "api-stockitem-label-list" %}', + key: 'item', + }, + singular_name: '{% trans "stock item" %}', + plural_name: '{% trans "stock items" %}', + barcode_actions: [ + { + icon: 'fa-sitemap', + label: 'scantolocation', + title: '{% trans "Scan to location" %}', + permission: 'stock.change', + callback: function(items) { + scanItemsIntoLocation(items); + } } - } - ], - custom_actions: [ - { - actions: makeStockActions(table), - icon: 'fa-boxes', - title: '{% trans "Stock Actions" %}', - label: 'stock', - } - ] - }); + ], + custom_actions: [ + { + actions: makeStockActions(table), + icon: 'fa-boxes', + title: '{% trans "Stock Actions" %}', + label: 'stock', + } + ] + }); + } // Override the default values, or add new ones for (var key in params) { From b700b44c53e59060363a0bd24667c99f8918311f Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Tue, 20 Jun 2023 08:26:02 +0200 Subject: [PATCH 034/103] Add dj-rest-auth (#4187) * Add dj-rest-auth [FR] User registration via API Fixes #3978 * add jwt support for API * check for old password * Add check if registration is allowed * make email mandatory if selected * lower postgres version? * update req * revert psql change * move form options out * Update reqs * Add handlers for most OAuth2 * refactor and add logging * make error message more actionable * add handler for twitter * add keycloak endpoint * warning for legacy apps * remove legacy twitter support * rename file * move url to sub * make JWT optional (default off) * Add var to config template * Add API endpoint to list available providers * fix url pattern --- InvenTree/InvenTree/forms.py | 26 ++++- InvenTree/InvenTree/settings.py | 19 ++++ InvenTree/InvenTree/social_auth_urls.py | 127 ++++++++++++++++++++++++ InvenTree/InvenTree/urls.py | 11 ++ InvenTree/config_template.yaml | 5 + requirements.in | 2 + requirements.txt | 13 ++- 7 files changed, 201 insertions(+), 2 deletions(-) create mode 100644 InvenTree/InvenTree/social_auth_urls.py diff --git a/InvenTree/InvenTree/forms.py b/InvenTree/InvenTree/forms.py index 9efa535c93..fb5c37ebdc 100644 --- a/InvenTree/InvenTree/forms.py +++ b/InvenTree/InvenTree/forms.py @@ -21,6 +21,8 @@ from crispy_forms.bootstrap import (AppendedText, PrependedAppendedText, PrependedText) from crispy_forms.helper import FormHelper from crispy_forms.layout import Field, Layout +from dj_rest_auth.registration.serializers import RegisterSerializer +from rest_framework import serializers from common.models import InvenTreeSetting from InvenTree.exceptions import log_error @@ -206,6 +208,11 @@ class CustomSignupForm(SignupForm): return cleaned_data +def registration_enabled(): + """Determine whether user registration is enabled.""" + return settings.EMAIL_HOST and (InvenTreeSetting.get_setting('LOGIN_ENABLE_REG') or InvenTreeSetting.get_setting('LOGIN_ENABLE_SSO_REG')) + + class RegistratonMixin: """Mixin to check if registration should be enabled.""" @@ -214,7 +221,7 @@ class RegistratonMixin: Configure the class variable `REGISTRATION_SETTING` to set which setting should be used, default: `LOGIN_ENABLE_REG`. """ - if settings.EMAIL_HOST and (InvenTreeSetting.get_setting('LOGIN_ENABLE_REG') or InvenTreeSetting.get_setting('LOGIN_ENABLE_SSO_REG')): + if registration_enabled(): return super().is_open_for_signup(request, *args, **kwargs) return False @@ -319,3 +326,20 @@ class CustomSocialAccountAdapter(CustomUrlMixin, RegistratonMixin, DefaultSocial # Otherwise defer to the original allauth adapter. return super().login(request, user) + + +# override dj-rest-auth +class CustomRegisterSerializer(RegisterSerializer): + """Override of serializer to use dynamic settings.""" + email = serializers.EmailField() + + def __init__(self, instance=None, data=..., **kwargs): + """Check settings to influence which fields are needed.""" + kwargs['email_required'] = InvenTreeSetting.get_setting('LOGIN_MAIL_REQUIRED') + super().__init__(instance, data, **kwargs) + + def save(self, request): + """Override to check if registration is open.""" + if registration_enabled(): + return super().save(request) + raise forms.ValidationError(_('Registration is disabled.')) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index fc30387d6a..68d8d45659 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -245,6 +245,8 @@ INSTALLED_APPS = [ 'django_otp.plugins.otp_static', # Backup codes 'allauth_2fa', # MFA flow for allauth + 'dj_rest_auth', # Authentication APIs - dj-rest-auth + 'dj_rest_auth.registration', # Registration APIs - dj-rest-auth' 'drf_spectacular', # API documentation 'django_ical', # For exporting calendars @@ -380,6 +382,23 @@ if DEBUG: # Enable browsable API if in DEBUG mode REST_FRAMEWORK['DEFAULT_RENDERER_CLASSES'].append('rest_framework.renderers.BrowsableAPIRenderer') +# dj-rest-auth +# JWT switch +USE_JWT = get_boolean_setting('INVENTREE_USE_JWT', 'use_jwt', False) +REST_USE_JWT = USE_JWT +OLD_PASSWORD_FIELD_ENABLED = True +REST_AUTH_REGISTER_SERIALIZERS = {'REGISTER_SERIALIZER': 'InvenTree.forms.CustomRegisterSerializer'} + +# JWT settings - rest_framework_simplejwt +if USE_JWT: + JWT_AUTH_COOKIE = 'inventree-auth' + JWT_AUTH_REFRESH_COOKIE = 'inventree-token' + REST_FRAMEWORK['DEFAULT_AUTHENTICATION_CLASSES'] + ( + 'dj_rest_auth.jwt_auth.JWTCookieAuthentication', + ) + INSTALLED_APPS.append('rest_framework_simplejwt') + +# WSGI default setting SPECTACULAR_SETTINGS = { 'TITLE': 'InvenTree API', 'DESCRIPTION': 'API for InvenTree - the intuitive open source inventory management system', diff --git a/InvenTree/InvenTree/social_auth_urls.py b/InvenTree/InvenTree/social_auth_urls.py new file mode 100644 index 0000000000..78fed2f7c1 --- /dev/null +++ b/InvenTree/InvenTree/social_auth_urls.py @@ -0,0 +1,127 @@ +"""API endpoints for social authentication with allauth.""" +import logging +from importlib import import_module + +from django.urls import include, path, reverse + +from allauth.socialaccount import providers +from allauth.socialaccount.models import SocialApp +from allauth.socialaccount.providers.keycloak.views import \ + KeycloakOAuth2Adapter +from allauth.socialaccount.providers.oauth2.views import (OAuth2Adapter, + OAuth2LoginView) +from rest_framework.generics import ListAPIView +from rest_framework.permissions import AllowAny +from rest_framework.response import Response + +from common.models import InvenTreeSetting + +logger = logging.getLogger('inventree') + + +class GenericOAuth2ApiLoginView(OAuth2LoginView): + """Api view to login a user with a social account""" + def dispatch(self, request, *args, **kwargs): + """Dispatch the regular login view directly.""" + return self.login(request, *args, **kwargs) + + +class GenericOAuth2ApiConnectView(GenericOAuth2ApiLoginView): + """Api view to connect a social account to the current user""" + + def dispatch(self, request, *args, **kwargs): + """Dispatch the connect request directly.""" + + # Override the request method be in connection mode + request.GET = request.GET.copy() + request.GET['process'] = 'connect' + + # Resume the dispatch + return super().dispatch(request, *args, **kwargs) + + +def handle_oauth2(adapter: OAuth2Adapter): + """Define urls for oauth2 endpoints.""" + return [ + path('login/', GenericOAuth2ApiLoginView.adapter_view(adapter), name=f'{provider.id}_api_login'), + path('connect/', GenericOAuth2ApiConnectView.adapter_view(adapter), name=f'{provider.id}_api_connect'), + ] + + +def handle_keycloak(): + """Define urls for keycloak.""" + return [ + path('login/', GenericOAuth2ApiLoginView.adapter_view(KeycloakOAuth2Adapter), name='keycloak_api_login'), + path('connect/', GenericOAuth2ApiConnectView.adapter_view(KeycloakOAuth2Adapter), name='keycloak_api_connet'), + ] + + +legacy = { + 'twitter': 'twitter_oauth2', + 'bitbucket': 'bitbucket_oauth2', + 'linkedin': 'linkedin_oauth2', + 'vimeo': 'vimeo_oauth2', + 'openid': 'openid_connect', +} # legacy connectors + + +# Collect urls for all loaded providers +social_auth_urlpatterns = [] + +provider_urlpatterns = [] +for provider in providers.registry.get_list(): + try: + prov_mod = import_module(provider.get_package() + ".views") + except ImportError: + continue + + # Try to extract the adapter class + adapters = [cls for cls in prov_mod.__dict__.values() if isinstance(cls, type) and not cls == OAuth2Adapter and issubclass(cls, OAuth2Adapter)] + + # Get urls + urls = [] + if len(adapters) == 1: + urls = handle_oauth2(adapter=adapters[0]) + else: + if provider.id in legacy: + logger.warning(f'`{provider.id}` is not supported on platform UI. Use `{legacy[provider.id]}` instead.') + continue + elif provider.id == 'keycloak': + urls = handle_keycloak() + else: + logger.error(f'Found handler that is not yet ready for platform UI: `{provider.id}`. Open an feature request on GitHub if you need it implemented.') + continue + provider_urlpatterns += [path(f'{provider.id}/', include(urls))] + + +social_auth_urlpatterns += provider_urlpatterns + + +class SocialProvierListView(ListAPIView): + """List of available social providers.""" + permission_classes = (AllowAny,) + + def get(self, request, *args, **kwargs): + """Get the list of providers.""" + provider_list = [] + for provider in providers.registry.get_list(): + provider_data = { + 'id': provider.id, + 'name': provider.name, + 'login': request.build_absolute_uri(reverse(f'{provider.id}_api_login')), + 'connect': request.build_absolute_uri(reverse(f'{provider.id}_api_connect')), + } + try: + provider_data['display_name'] = provider.get_app(request).name + except SocialApp.DoesNotExist: + provider_data['display_name'] = provider.name + + provider_list.append(provider_data) + + data = { + 'sso_enabled': InvenTreeSetting.get_setting('LOGIN_ENABLE_SSO'), + 'sso_registration': InvenTreeSetting.get_setting('LOGIN_ENABLE_SSO_REG'), + 'mfa_required': InvenTreeSetting.get_setting('LOGIN_ENFORCE_MFA'), + 'providers': provider_list + } + return Response(data) diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index e98268db9c..0cf125f32a 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -9,6 +9,8 @@ from django.contrib import admin from django.urls import include, path, re_path from django.views.generic.base import RedirectView +from dj_rest_auth.registration.views import (SocialAccountDisconnectView, + SocialAccountListView) from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView from build.api import build_api_urls @@ -31,6 +33,7 @@ from stock.urls import stock_urls from users.api import user_urls from .api import APISearchView, InfoView, NotFoundView +from .social_auth_urls import SocialProvierListView, social_auth_urlpatterns from .views import (AboutView, AppearanceSelectView, CustomConnectionsView, CustomEmailView, CustomLoginView, CustomPasswordResetFromKeyView, @@ -71,6 +74,14 @@ apipatterns = [ # InvenTree information endpoint path('', InfoView.as_view(), name='api-inventree-info'), + # Third party API endpoints + path('auth/', include('dj_rest_auth.urls')), + path('auth/registration/', include('dj_rest_auth.registration.urls')), + path('auth/providers/', SocialProvierListView.as_view(), name='social_providers'), + path('auth/social/', include(social_auth_urlpatterns)), + path('auth/social/', SocialAccountListView.as_view(), name='social_account_list'), + path('auth/social//disconnect/', SocialAccountDisconnectView.as_view(), name='social_account_disconnect'), + # Unknown endpoint re_path(r'^.*$', NotFoundView.as_view(), name='api-404'), ] diff --git a/InvenTree/config_template.yaml b/InvenTree/config_template.yaml index 7795bb694f..2acbbfbba1 100644 --- a/InvenTree/config_template.yaml +++ b/InvenTree/config_template.yaml @@ -183,6 +183,11 @@ login_default_protocol: http remote_login_enabled: False remote_login_header: HTTP_REMOTE_USER +# JWT tokens +# JWT can be used optionally to authenticate users. Turned off by default. +# Alternatively, use the environment variable INVENTREE_USE_JWT +# use_jwt: True + # Logout redirect configuration # This setting may be required if using remote / proxy login to redirect requests # during the logout process (default is 'index'). Please read the docs for more details diff --git a/requirements.in b/requirements.in index a1a6525479..be13dc3807 100644 --- a/requirements.in +++ b/requirements.in @@ -28,7 +28,9 @@ django-taggit # Tagging support django-user-sessions # user sessions in DB django-weasyprint # django weasyprint integration djangorestframework # DRF framework +djangorestframework-simplejwt[crypto] # JWT authentication django-xforwardedfor-middleware # IP forwarding metadata +dj-rest-auth # Authentication API endpoints dulwich # pure Python git integration drf-spectacular # DRF API documentation feedparser # RSS newsfeed parser diff --git a/requirements.txt b/requirements.txt index c1d35125d5..71a9ea8a32 100644 --- a/requirements.txt +++ b/requirements.txt @@ -35,6 +35,7 @@ coreschema==0.0.4 cryptography==41.0.1 # via # -r requirements.in + # djangorestframework-simplejwt # pyjwt cssselect2==0.7.0 # via weasyprint @@ -44,9 +45,12 @@ defusedxml==0.7.1 # python3-openid diff-match-patch==20230430 # via django-import-export +dj-rest-auth==4.0.1 + # via -r requirements.in django==3.2.19 # via # -r requirements.in + # dj-rest-auth # django-allauth # django-allauth-2fa # django-cors-headers @@ -74,6 +78,7 @@ django==3.2.19 # django-weasyprint # django-xforwardedfor-middleware # djangorestframework + # djangorestframework-simplejwt # drf-spectacular django-allauth==0.54.0 # via @@ -140,7 +145,11 @@ django-xforwardedfor-middleware==2.0 djangorestframework==3.14.0 # via # -r requirements.in + # dj-rest-auth + # djangorestframework-simplejwt # drf-spectacular +djangorestframework-simplejwt[crypto]==5.2.2 + # via -r requirements.in drf-spectacular==0.26.2 # via -r requirements.in dulwich==0.21.5 @@ -202,7 +211,9 @@ pycparser==2.21 pydyf==0.6.0 # via weasyprint pyjwt[crypto]==2.7.0 - # via django-allauth + # via + # django-allauth + # djangorestframework-simplejwt pyphen==0.14.0 # via weasyprint pypng==0.20220715.0 From 303305e05fa48eab9d02496aff91d52badde0fdc Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 20 Jun 2023 16:57:20 +1000 Subject: [PATCH 035/103] Fix constraint for address model (#5076) * Fix constraint for address model - Do not handle at database level - Add a "validate_unique" method to the address model - Fixes https://github.com/inventree/InvenTree/issues/5070 * Remove unique constraint rule * Unit test fix - Adjust unit test around new code * Further unit test updates --- .../migrations/0063_auto_20230502_1956.py | 4 ---- InvenTree/company/models.py | 13 ++++++++++--- InvenTree/company/tests.py | 16 ++++++++++++---- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/InvenTree/company/migrations/0063_auto_20230502_1956.py b/InvenTree/company/migrations/0063_auto_20230502_1956.py index 5daf2418e7..c0cce4e188 100644 --- a/InvenTree/company/migrations/0063_auto_20230502_1956.py +++ b/InvenTree/company/migrations/0063_auto_20230502_1956.py @@ -30,8 +30,4 @@ class Migration(migrations.Migration): ('company', models.ForeignKey(help_text='Select company', on_delete=django.db.models.deletion.CASCADE, related_name='addresses', to='company.company', verbose_name='Company')), ], ), - migrations.AddConstraint( - model_name='address', - constraint=models.UniqueConstraint(condition=models.Q(('primary', True)), fields=('company',), name='one_primary_per_company'), - ), ] diff --git a/InvenTree/company/models.py b/InvenTree/company/models.py index 9a44ecf3dd..6334ce6dd9 100644 --- a/InvenTree/company/models.py +++ b/InvenTree/company/models.py @@ -306,9 +306,6 @@ class Address(models.Model): class Meta: """Metaclass defines extra model options""" - constraints = [ - UniqueConstraint(fields=['company'], condition=Q(primary=True), name='one_primary_per_company') - ] verbose_name_plural = "Addresses" @staticmethod @@ -316,6 +313,16 @@ class Address(models.Model): """Return the API URL associated with the Contcat model""" return reverse('api-address-list') + def validate_unique(self, exclude=None): + """Ensure that only one primary address exists per company""" + + super().validate_unique(exclude=exclude) + + if self.primary: + # Check that no other primary address exists for this company + if Address.objects.filter(company=self.company, primary=True).exclude(pk=self.pk).exists(): + raise ValidationError({'primary': _('Company already has a primary address')}) + company = models.ForeignKey(Company, related_name='addresses', on_delete=models.CASCADE, verbose_name=_('Company'), diff --git a/InvenTree/company/tests.py b/InvenTree/company/tests.py index 807b78e866..b6c49a5eb6 100644 --- a/InvenTree/company/tests.py +++ b/InvenTree/company/tests.py @@ -5,7 +5,6 @@ from decimal import Decimal from django.core.exceptions import ValidationError from django.db import transaction -from django.db.utils import IntegrityError from django.test import TestCase from part.models import Part @@ -199,17 +198,23 @@ class AddressTest(TestCase): c2 = Company.objects.create(name='Test Corp2.', description='We make stuff good') Address.objects.create(company=self.c, primary=True) Address.objects.create(company=self.c, primary=False) + self.assertEqual(Address.objects.count(), 2) # Testing the constraint itself # Intentionally throwing exceptions breaks unit tests unless performed in an atomic block with transaction.atomic(): - self.assertRaises(IntegrityError, Address.objects.create, company=self.c, primary=True, confirm_primary=False) + with self.assertRaises(ValidationError): + addr = Address(company=self.c, primary=True, confirm_primary=False) + addr.validate_unique() Address.objects.create(company=c2, primary=True, line1="Hellothere", line2="generalkenobi") with transaction.atomic(): - self.assertRaises(IntegrityError, Address.objects.create, company=c2, primary=True) + with self.assertRaises(ValidationError): + addr = Address(company=c2, primary=True, confirm_primary=False) + addr.validate_unique() + self.assertEqual(Address.objects.count(), 3) def test_first_address_is_primary(self): @@ -219,7 +224,10 @@ class AddressTest(TestCase): self.assertTrue(addr.primary) - self.assertRaises(IntegrityError, Address.objects.create, company=self.c, primary=True) + # Create another address, which should error out if primary is not set to False + with self.assertRaises(ValidationError): + addr = Address(company=self.c, primary=True) + addr.validate_unique() def test_model_str(self): """Test value of __str__""" From e2800b19efc7b158126d127a89aafe05776fabf2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 20 Jun 2023 22:27:16 +1000 Subject: [PATCH 036/103] New Crowdin updates (#5061) * 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 * 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 * 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 | 5223 ++++++++-------- InvenTree/locale/da/LC_MESSAGES/django.po | 5223 ++++++++-------- InvenTree/locale/de/LC_MESSAGES/django.po | 5243 ++++++++-------- InvenTree/locale/el/LC_MESSAGES/django.po | 5225 ++++++++-------- InvenTree/locale/en/LC_MESSAGES/django.po | 1429 +++-- InvenTree/locale/es/LC_MESSAGES/django.po | 5241 ++++++++-------- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 1429 +++-- InvenTree/locale/fa/LC_MESSAGES/django.po | 5223 ++++++++-------- InvenTree/locale/fi/LC_MESSAGES/django.po | 5231 ++++++++-------- InvenTree/locale/fr/LC_MESSAGES/django.po | 5231 ++++++++-------- InvenTree/locale/he/LC_MESSAGES/django.po | 5223 ++++++++-------- InvenTree/locale/hu/LC_MESSAGES/django.po | 5243 ++++++++-------- InvenTree/locale/id/LC_MESSAGES/django.po | 5303 +++++++++-------- InvenTree/locale/it/LC_MESSAGES/django.po | 5243 ++++++++-------- InvenTree/locale/ja/LC_MESSAGES/django.po | 5223 ++++++++-------- InvenTree/locale/ko/LC_MESSAGES/django.po | 5227 ++++++++-------- InvenTree/locale/nl/LC_MESSAGES/django.po | 5227 ++++++++-------- InvenTree/locale/no/LC_MESSAGES/django.po | 5239 ++++++++-------- InvenTree/locale/pl/LC_MESSAGES/django.po | 5227 ++++++++-------- InvenTree/locale/pt/LC_MESSAGES/django.po | 5227 ++++++++-------- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 1429 +++-- InvenTree/locale/ru/LC_MESSAGES/django.po | 5231 ++++++++-------- InvenTree/locale/sl/LC_MESSAGES/django.po | 5225 ++++++++-------- InvenTree/locale/sv/LC_MESSAGES/django.po | 5227 ++++++++-------- InvenTree/locale/th/LC_MESSAGES/django.po | 5223 ++++++++-------- InvenTree/locale/tr/LC_MESSAGES/django.po | 5227 ++++++++-------- InvenTree/locale/vi/LC_MESSAGES/django.po | 5225 ++++++++-------- InvenTree/locale/zh/LC_MESSAGES/django.po | 5229 ++++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 1429 +++-- 29 files changed, 69707 insertions(+), 66818 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 0a36730df4..94d683b522 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -49,26 +49,26 @@ msgstr "Podrobnosti o chybě lze nalézt v panelu administrace" msgid "Enter date" msgstr "Zadejte datum" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Poznámky" @@ -81,47 +81,51 @@ msgstr "Hodnota '{name}' neodpovídá formátu vzoru" msgid "Provided value does not match required pattern: " msgstr "Poskytnutá hodnota neodpovídá požadovanému vzoru: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Zadejte heslo" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Zadejte nové heslo" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Potvrďte heslo" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Potvrďte nové heslo" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Původní heslo" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (znovu)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Potvrzení emailové adresy" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Pokaždé musíte zadat stejný email." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Zadaná primární e-mailová adresa je neplatná." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Zadaná e-mailová doména není povolena." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Vyplněno neplatné množství" @@ -239,7 +243,7 @@ msgstr "Chybějící externí odkaz" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Příloha" @@ -247,29 +251,30 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Odkaz na externí URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Komentář" @@ -277,13 +282,13 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Uživatel" @@ -324,53 +329,54 @@ msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Název" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Popis" @@ -383,7 +389,7 @@ msgid "parent" msgstr "nadřazený" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Cesta" @@ -419,12 +425,12 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URL souboru vzdáleného obrázku" msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Čeština" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Dánština" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Němčina" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Řečtina" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Angličtina" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Španělština" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Španělština (Mexiko)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Perština" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "Finština" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Francouzština" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebrejština" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Maďarština" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italština" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japonština" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Korejština" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Nizozemština" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norština" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polština" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugalština" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugalština (Brazilská)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Ruština" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Slovinština" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Švédština" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Thajština" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turečtina" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamština" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Čínština" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Email backend není nakonfigurován" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Kontroly zdraví systému InvenTree selhaly" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Nevyřízeno" @@ -630,7 +636,7 @@ msgstr "Umístěno" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Hotovo" @@ -654,10 +660,10 @@ msgstr "Vráceno" msgid "In Progress" msgstr "Zpracovává se" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Odesláno" @@ -689,7 +695,7 @@ msgstr "V karanténě" msgid "Legacy stock tracking entry" msgstr "Původní položka sledování zásob" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Položka zásob vytvořena" @@ -745,7 +751,7 @@ msgstr "Rozdělit od nadřazené položky" msgid "Split child item" msgstr "Rozdělit podřazený předmět" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Sloučené položky zásob" @@ -765,7 +771,7 @@ msgstr "Výstup objednávky sestavení dokončen" msgid "Build order output rejected" msgstr "Výstup objednávky sestavení byl odmítnut" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Spotřebováno podle objednávky" @@ -781,7 +787,7 @@ msgstr "Přijato proti objednávce" msgid "Returned against Return Order" msgstr "Vráceno proti vratce" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Odesláno zákazníkovi" @@ -849,83 +855,111 @@ msgstr "Hesla se musí shodovat" msgid "Wrong password provided" msgstr "Zadáno špatné heslo" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Informace o systému" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Vytvořit objednávku" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Vytvořené objednávky" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Neplatná volba nadřazeného sestavení" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Referenční číslo objednávky" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Reference" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "Stručný popis sestavení (nepovinné)" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadřazená sestava" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Díl" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Vyber téma, které chceš stavět" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Referenční číslo prodejní objednávky" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Prodejní příkaz, kterému je tato verze přidělena" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Umístění lokace" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vyberte lokaci, ze které chcete provést inventuru pro sestavu. (nechte prázdné, chcete-li provést inventuru z libovolné lokace)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Cílová lokace" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Vyberte lokaci, kde budou dokončené položky uloženy" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Množství sestav" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Počet skladových položek k sestavení" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Dokončené položky" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Počet skladových položek, které byly dokončeny" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Stav sestavení" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Datum vytvoření" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Cílové datum dokončení" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Datum dokončení" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "dokončil" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Vystavil" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Uživatel, který vydal tento příkaz k sestavení" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Odpovědný" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Uživatel nebo skupina odpovědná za tento příkaz k sestavení" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Priorita sestavení" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Priorita tohoto příkazu k sestavení" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Příkaz k sestavení {build} byl dokončen" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Množství nemůže být větší než výstupní množství" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný" - -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Skladová položka je nadměrně zabrána" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Zabrané množství musí být větší než nula" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Množství musí být 1 pro zřetězený sklad" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Vybraná skladová položka nebyla v BOM nalezena" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Sestavení" - -#: build/models.py:1439 -msgid "Build to allocate parts" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Skladová položka je nadměrně zabrána" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Zabrané množství musí být větší než nula" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Množství musí být 1 pro zřetězený sklad" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Možné zakoupit" @@ -2299,8 +2292,8 @@ msgstr "Možné zakoupit" msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Prodejné" @@ -2308,10 +2301,10 @@ msgstr "Prodejné" msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Sledovatelné" @@ -2319,10 +2312,10 @@ msgstr "Sledovatelné" msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Nehmotné (virtuální)" @@ -2354,7 +2347,7 @@ msgstr "Počáteční údaje zásob" msgid "Allow creation of initial stock when adding a new part" msgstr "Povolit vytvoření počátečního skladu při přidání nové části" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Počáteční údaje dodavatele" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Cena" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "Id" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "Obrazek" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Webová stránka" @@ -3507,303 +3485,387 @@ msgstr "Webová stránka" msgid "Company website URL" msgstr "Webové stránky společnosti" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Adresa" - -#: company/models.py:119 -msgid "Company address" -msgstr "Adresa společnosti" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Telefonní číslo" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Kontaktní telefonní číslo" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "E-mail" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Kontakt" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Kontaktní místo" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "je zákazník" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Společnost" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Základní díl" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Zvolte díl" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Výrobce" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Číslo dílu výrobce" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "Popis dílu výrobce" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Výrobce dílu" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Název parametru" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Hodnota" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Hodnota parametru" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Jednotky" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Upravit údaje o společnosti" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Upravit společnost" @@ -3856,17 +3918,17 @@ msgstr "Stáhnout obrázek z URL" msgid "Delete image" msgstr "Smazat obrázek" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Zákazník" @@ -3874,6 +3936,13 @@ msgstr "Zákazník" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Adresa" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Telefon" @@ -3906,7 +3975,7 @@ msgstr "Stáhnout obrázek" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Dodavatel dílů" @@ -3916,129 +3985,121 @@ msgstr "Vytvořit nového dodavatele dílu" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Nová díl dodavatele" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Objednávka dílů" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Odstranit díly" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Odstraněné díly" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Výrobce dílů" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Vytvořit nového výrobce dílu" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Nový výrobce dílu" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Dodavatelský sklad" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Zakoupené objednávky" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Poznámky ke společnosti" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Odstranit" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Pro data čárového kódu byla nalezena shoda" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Sestavení" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "Domovská stránka" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Vybrané díly" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Objednávka dílů" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Odstranit" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "Ano" @@ -12692,35 +12809,35 @@ msgstr "Oprávnění" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "Nastavení oprávnění" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Skupina" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Zobrazit" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Oprávnění k zobrazení položek" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Oprávnění přidat položky" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "Změnit" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Oprávnění k úpravě položek" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 809327568a..5dd5106846 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -49,26 +49,26 @@ msgstr "Fejloplysninger kan findes i admin panelet" msgid "Enter date" msgstr "Angiv dato" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Bemærkninger" @@ -81,47 +81,51 @@ msgstr "Værdi '{name}' vises ikke i mønsterformat" msgid "Provided value does not match required pattern: " msgstr "Den angivne værdi matcher ikke det påkrævede mønster: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Indtast adgangskode" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Indtast ny adgangskode" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Bekræft adgangskode" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Bekræft ny adgangskode" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Gammel adgangskode" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "E-mail (igen)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Bekræftelse af e-mailadresse" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Du skal indtaste den samme e-mail hver gang." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Den indtastede email adresse er ikke gyldig." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Det angivne e-mail domæne er ikke godkendt." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Ugyldigt antal angivet" @@ -239,7 +243,7 @@ msgstr "Manglende eksternt link" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Vedhæftning" @@ -247,29 +251,30 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link til ekstern URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Kommentar" @@ -277,13 +282,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Bruger" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Beskrivelse" @@ -383,7 +389,7 @@ msgid "parent" msgstr "overordnet" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Sti" @@ -419,12 +425,12 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URL til ekstern billedfil" msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Tjekkisk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Græsk" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Spansk (Mexikansk)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Hollandsk" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasilien)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "E-mail backend ej konfigureret" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Helbredstjek af InvenTree system mislykkedes" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Afventende" @@ -630,7 +636,7 @@ msgstr "Placeret" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Fuldført" @@ -654,10 +660,10 @@ msgstr "Returneret" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Afsendt" @@ -689,7 +695,7 @@ msgstr "I karantæne" msgid "Legacy stock tracking entry" msgstr "Forældet lager sporings post" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Lager-element oprettet" @@ -745,7 +751,7 @@ msgstr "Opdel fra overordnet element" msgid "Split child item" msgstr "Opdel underordnet element" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Flettede lagervarer" @@ -765,7 +771,7 @@ msgstr "Byggeorder output fuldført" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Brugt efter byggeordre" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Sendt til kunde" @@ -849,83 +855,111 @@ msgstr "De indtastede adgangskoder skal være ens" msgid "Wrong password provided" msgstr "Forkert adgangskode indtastet" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Systemoplysninger" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Produktionsordre" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Produktionsordrer" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Ugyldigt valg for overordnet produktion" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Reference" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Produktionsordre som er tildelt denne produktion" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Del" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Vælg dele til produktion" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Salgsordrereference" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Kilde Lokation" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Vælg lokation for lager, som skal benyttes til denne produktion (lad feltet stå tomt for at benytte vilkårligt lager)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Destinations Placering" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Vælg placering, hvor de færdige elementer vil blive gemt" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Produktions antal" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Antal lagervarer som skal produceres" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Afsluttede elementer" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Antal lagervarer som er færdiggjort" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Produktions Status" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Oprettelsesdato" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Projekteret afslutningsdato" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Dato for afslutning" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "udført af" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Udstedt af" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Ekstern link" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Bygge Prioritet" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN skal matche regex mønster {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 00b8c159e9..d7dc473398 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -49,26 +49,26 @@ msgstr "Fehlerdetails finden Sie im Admin-Panel" msgid "Enter date" msgstr "Datum eingeben" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Notizen" @@ -81,47 +81,51 @@ msgstr "Wert '{name}' hält das Musterformat nicht ein" msgid "Provided value does not match required pattern: " msgstr "Angegebener Wert entspricht nicht dem benötigten Muster: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Passwort eingeben" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Neues Passwort eingeben" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Passwort wiederholen" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Neues Passwort bestätigen" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Altes Passwort" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "E-Mail (nochmal)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Bestätigung der E-Mail Adresse" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "E-Mail Adressen müssen übereinstimmen." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Die angegebene primäre E-Mail-Adresse ist ungültig." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -239,7 +243,7 @@ msgstr "Fehlender externer Link" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Anhang" @@ -247,29 +251,30 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link zu einer externen URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Kommentar" @@ -277,13 +282,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Benutzer" @@ -324,53 +329,54 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Name" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Beschreibung" @@ -383,7 +389,7 @@ msgid "parent" msgstr "Eltern" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Pfad" @@ -419,12 +425,12 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URL der Remote-Bilddatei" msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Tschechisch" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Dänisch" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Spanisch (Mexikanisch)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Persisch" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "Beenden" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Ungarisch" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugiesisch" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugiesisch (Brasilien)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Slowenisch" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Chinesisch" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "E-Mail-Backend nicht konfiguriert" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InvenTree Status-Überprüfung fehlgeschlagen" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Ausstehend" @@ -630,7 +636,7 @@ msgstr "Platziert" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Fertig" @@ -654,10 +660,10 @@ msgstr "Zurückgegeben" msgid "In Progress" msgstr "In Bearbeitung" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Versendet" @@ -689,7 +695,7 @@ msgstr "In Quarantäne" msgid "Legacy stock tracking entry" msgstr "Alter Bestand-Verfolgungs-Eintrag" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Lagerartikel erstellt" @@ -745,7 +751,7 @@ msgstr "Vom übergeordneten Element geteilt" msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" @@ -765,7 +771,7 @@ msgstr "Endprodukt fertiggestellt" msgid "Build order output rejected" msgstr "Endprodukt abgelehnt" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Durch Bauauftrag verbraucht" @@ -781,7 +787,7 @@ msgstr "Gegen Bestellung empfangen" msgid "Returned against Return Order" msgstr "Zurückgeschickt gegen Rücksendeauftrag" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Zum Kunden geschickt" @@ -849,83 +855,111 @@ msgstr "Passwörter stimmen nicht überein" msgid "Wrong password provided" msgstr "Falsches Passwort angegeben" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformationen" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Über InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "Verbrauchsmaterial" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "Optional" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "Nachverfolgt" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "Zugeordnet" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Bauauftrag" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Bauaufträge" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Ungültige Wahl für übergeordneten Bauauftrag" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referenz" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "Kurze Beschreibung des Baus (optional)" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Teil" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Teil für den Bauauftrag wählen" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Auftrag Referenz" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Quell-Lagerort" -#: build/models.py:207 +#: build/models.py:211 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:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Ziel-Lagerort" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Lagerort an dem fertige Objekte gelagert werden auswählen" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Bau-Anzahl" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Anzahl der zu bauenden Lagerartikel" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Fertiggestellte Teile" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen Lagerartikel" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Bauauftrags-Status" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Fertigstellungsdatum" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Aufgegeben von" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Verantwortlicher Benutzer" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Externer Link" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Bauauftrags-Priorität" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "Projektcode" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1272 -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:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, 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:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "BestandObjekt ist zu oft zugewiesen" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Reserviermenge muss größer null sein" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" - -#: build/models.py:1360 -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:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Bauauftrag" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Bauauftrag starten um Teile zuzuweisen" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Lagerartikel" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Quell-Lagerartikel" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Quell-Lagerartikel" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +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:1366 +#, 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:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "BestandObjekt ist zu oft zugewiesen" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Reserviermenge muss größer null sein" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Lagerartikel" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Quell-Lagerartikel" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:261 +#: build/serializers.py:269 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:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Lagerort" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "Lagerort für ausgemusterte Ausgänge" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "Zuteilungen verwerfen" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Status" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "Zugewiesenen Bestand entfernen" -#: build/serializers.py:572 +#: build/serializers.py:580 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:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "Nicht erlaubt" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Wie sollen zusätzliche Lagerbestandteile, die dem Bauauftrag zugewiesen wurden, behandelt werden" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:649 +#: build/serializers.py:657 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:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:665 +#: build/serializers.py:673 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:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Stücklisten-Position" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 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:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:852 +#: build/serializers.py:859 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:859 +#: build/serializers.py:866 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:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "Dieser Lagerbestand wurde bereits diesem Endprodukt zugewiesen" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:943 +#: build/serializers.py:947 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:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" @@ -1540,6 +1589,7 @@ msgstr "Miniaturansicht" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Barcode Aktionen" @@ -1618,69 +1668,67 @@ msgstr "Bauauftrag fertigstellen" msgid "Build Description" msgstr "Baubeschreibung" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "Es wurden keine Endprodukte für diesen Bauauftrag erstellt" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "Bauauftrag ist bereit abgeschlossen zu werden" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch ausstehende Endprodukte gibt" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 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:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Zieldatum" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "Bauauftrag war fällig am %(target)s" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Überfällig" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Fertig" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "Fertiggestellte Endprodukte" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Fertig" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Auftrag" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Aufgegeben von" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "Priorität" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Bauauftrag löschen" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "Bauftrags-QR-Code" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "Barcode mit Bauauftrag verknüpfen" @@ -1729,8 +1777,8 @@ 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:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Ziel-Lager" @@ -1744,21 +1792,21 @@ msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Losnummer" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Erstellt" @@ -1766,147 +1814,106 @@ msgstr "Erstellt" msgid "No target date set" msgstr "Kein Ziel-Datum gesetzt" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Fertig" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Bauauftrag ist nicht vollständig" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "Unter-Bauaufträge" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Bestand Bauauftrag zuweisen" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Bestandszuordnung aufheben" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Bestandszuordnung aufheben" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "Lagerartikel automatisch zuweisen" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "Automatisch zuweisen" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "Lagerartikel manuell dem Bauauftrag zuweisen" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Bestand zuweisen" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Benötigte Teile bestellen" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Teile bestellen" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "Nicht verfolgter Bestand wurde Bauauftrag vollständig zugewiesen" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "Nicht verfolgter Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "Ausgewählte Positionen zuweisen" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Dieser Bauauftrag hat keine zugeordneten Stücklisten-Einträge" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "Unfertige Endprodukte" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "Neues Endprodukt anlegen" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "Neues Endprodukt" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "Endproduktaktionen" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "Ausgewählte Endprodukt fertigstellen" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "Endprodukte fertigstellen" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "Ausgewählte Endprodukte löschen" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "Endprodukte löschen" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "Fertiggestellte Endprodukte" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Anhänge" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Bauauftrags-Notizen" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "Zuordnung abgeschlossen" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "Alle nicht verfolgten Lagerartikel wurden zugewiesen" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" +msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Neuer Bauauftrag" @@ -1914,14 +1921,10 @@ msgstr "Neuer Bauauftrag" msgid "Build Order Details" msgstr "Bauauftragdetails" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Unfertige Endprodukte" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "Fertiggestellte Endprodukte" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "Aktualisiert" msgid "Timestamp of last update" msgstr "Zeitstempel der letzten Aktualisierung" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "Projektcode" - #: common/models.py:105 msgid "Unique project code" msgstr "Eindeutiger Projektcode" @@ -2261,9 +2254,9 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Vorlage" @@ -2271,10 +2264,10 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Baugruppe" @@ -2282,8 +2275,8 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Komponente" @@ -2291,7 +2284,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Kaufbar" @@ -2299,8 +2292,8 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Verkäuflich" @@ -2308,10 +2301,10 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Nachverfolgbar" @@ -2319,10 +2312,10 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Virtuell" @@ -2354,7 +2347,7 @@ msgstr "Initialer Lagerbestand" msgid "Allow creation of initial stock when adding a new part" msgstr "Erstellen von Lagerbestand beim Hinzufügen eines neuen Teils erlauben" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" @@ -2603,181 +2596,181 @@ msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" #: common/models.py:1471 +msgid "Show Installed Stock Items" +msgstr "" + +#: common/models.py:1472 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1478 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Required pattern for generating Build Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Required pattern for generating Sales Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Aufträge" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Verkaufsaufträge bearbeiten" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bearbeitung von Verkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Required pattern for generating Purchase Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bestellungen" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bearbeitung von Einkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Selbstregistrierung über SSO für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1578 +#: common/models.py:1585 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:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "Plugin-Signaturen überprüfen" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "Signaturen für Plugins prüfen und anzeigen" - #: common/models.py:1628 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" @@ -2850,7 +2843,7 @@ msgstr "Löschintervall für Berichte" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Inventurberichte werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "Aktuelle Teile-Stände" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "Anzahl der neusten Teile auf der Startseite" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "aktueller Bestand" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "Anzahl des geänderten Bestands auf der Startseite" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1899 +#: common/models.py:1885 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:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1913 +#: common/models.py:1899 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:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2032 +#: common/models.py:2018 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:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Preis" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Aktiv" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "Token" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "Host" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "Body" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "ID" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "Gelesen" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "Wurde diese Nachricht gelesen?" msgid "Image" msgstr "Bild" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "Bilddatei" @@ -3499,7 +3477,7 @@ msgstr "Firmenbeschreibung" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Website" @@ -3507,303 +3485,387 @@ msgstr "Website" msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Adresse" - -#: company/models.py:119 -msgid "Company address" -msgstr "Firmenadresse" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "Email" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Kontakt" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "ist Kunde" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "ist Zulieferer" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "ist Hersteller" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Firma" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "MPN" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Wert" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Einheiten" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Notiz" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "Packmenge" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "Vielfache" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Verfügbar" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "Verfügbare Menge von Lieferanten" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "Standard-Währung für diesen Zulieferer" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Bestellung anlegen" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Firmeninformation bearbeiten" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Firma bearbeiten" @@ -3856,17 +3918,17 @@ msgstr "Bild von URL herunterladen" msgid "Delete image" msgstr "Bild löschen" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Kunde" @@ -3874,6 +3936,13 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "verwendet Standard-Währung" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Adresse" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Telefon" @@ -3906,7 +3975,7 @@ msgstr "Bild herunterladen" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Zuliefererteile" @@ -3916,129 +3985,121 @@ msgstr "Neues Zuliefererteil anlegen" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Neues Zuliefererteil" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Teile bestellen" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Teile löschen" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Teile löschen" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Herstellerteile" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Neues Herstellerteil anlegen" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Neues Herstellerteil" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Zulieferer-Bestand" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Bestellungen" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Neue Bestellung anlegen" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Neue Bestellung" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Aufträge" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Neuen Auftrag anlegen" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Neuer Auftrag" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "Zugeordneter Bestand" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Firmenbemerkungen" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Zulieferer-Liste" @@ -4050,17 +4111,17 @@ msgstr "Hersteller" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Teil bestellen" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "Herstellerteil bearbeiten" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" @@ -4080,40 +4141,22 @@ msgstr "Keine Herstellerdaten verfügbar" msgid "Suppliers" msgstr "Zulieferer" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Zuliefererteil entfernen" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Löschen" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parameter" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Neuer Parameter" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Parameter löschen" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -4137,23 +4180,28 @@ msgstr "Zugewiesene Lagerartikel" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Zuliefererteil" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "Zulieferer-Teil Aktionen" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "Teil bestellen" @@ -4164,13 +4212,13 @@ msgstr "Verfügbarkeit aktualisieren" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "Zulieferer-Teil duplizieren" @@ -4197,7 +4245,7 @@ msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Neuer Lagerartikel" @@ -4205,37 +4253,37 @@ msgstr "Neuer Lagerartikel" msgid "Supplier Part Orders" msgstr "Zulieferer-Bestellungen" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Preisinformationen ansehen" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "Zuliefererteil QR-Code" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "Barcode mit Zuliefererteil verknüpfen" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "Teilverfügbarkeit aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Lagerartikel" @@ -4261,7 +4309,7 @@ msgstr "Kunden" msgid "New Customer" msgstr "Neuer Kunde" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Firmen" @@ -4269,72 +4317,76 @@ msgstr "Firmen" msgid "New Company" msgstr "Neue Firma" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Label Name" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Label Beschreibung" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Label" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Aktiviert" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "Label-Vorlage ist aktiviert" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Breite [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "Label-Breite in mm" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Höhe [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Dateinamen-Muster" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "Muster für die Erstellung von Label-Dateinamen" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Filter" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Gesamtpreis" @@ -4361,30 +4413,30 @@ msgstr "Gesamtpreis" msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Unbekannt" @@ -4392,11 +4444,11 @@ msgstr "Unbekannt" msgid "Total price for this order" msgstr "Gesamtpreis für diese Bestellung" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Link auf externe Seite" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Geplantes Lieferdatum für Auftrag." -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "Erstellt von" -#: order/models.py:257 +#: order/models.py:261 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:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "Bestellungs-Status" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "Zulieferer Bestellreferenz" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "Empfangen von" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "Versand von" -#: order/models.py:857 +#: order/models.py:870 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:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 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:867 +#: order/models.py:880 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:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Zieldatum für diesen Einzelposten (leer lassen, um das Zieldatum des Auftrags zu verwenden)" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "Kontext" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "Zusätzlicher Kontext für diese Zeile" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "Stückpreis" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "Lieferantenteil muss mit Lieferant übereinstimmen" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "gelöscht" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "Bestellung" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Empfangen" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:1225 +#: order/models.py:1238 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:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1592 +#: order/models.py:1605 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:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "Position" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "Position" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "Position" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "Position stimmt nicht mit Kaufauftrag überein" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "Folgende Seriennummern sind bereits zugewiesen" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "Elemente empfangen" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "Teile empfangen" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Bestellung als vollständig markieren" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Auftrag fertigstellen" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Bestellreferenz" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Bestellungsbeschreibung" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "Bestellstatus" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "Keine Lieferanteninformationen verfügbar" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "Abgeschlossene Positionen" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "Unvollständig" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Aufgegeben" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "Gesamtsumme" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "Gesamtkosten konnten nicht berechnet werden" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "Auswahl duplizieren" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Zeile entfernen" @@ -5152,9 +5200,9 @@ msgstr "Bestellungs-Positionen" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Position hinzufügen" @@ -5165,30 +5213,25 @@ msgstr "Position hinzufügen" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "Positionen löschen" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "Zusätzliche Positionen" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "Extra Zeile anzeigen" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "Empfangene Teile" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Notizen zur Bestellung" @@ -5208,29 +5251,29 @@ msgstr "Paketliste drucken" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "Kundenreferenz" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "Gesamtkosten" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "Auftrag abschließen" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "Dieser Auftrag ist nicht vollständig zugeordnet" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "Auftrags-Positionen" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Ausstehende Sendungen" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Aktionen" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "Neue Sendung" @@ -5311,12 +5353,12 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Name des Teils" @@ -5325,19 +5367,19 @@ msgstr "Name des Teils" msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "Version" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5358,24 +5400,24 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimaler Bestand" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "Auf Lager" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "Bestellt" @@ -5383,23 +5425,16 @@ msgstr "Bestellt" msgid "Used In" msgstr "Benutzt in" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "Zugeordnet" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "Im Bau" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -5416,13 +5451,13 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Teile" @@ -5439,7 +5474,7 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "Teil IPN" @@ -5453,35 +5488,35 @@ msgstr "Niedrigster Preis" msgid "Maximum Price" msgstr "Höchster Preis" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "Eingehende Bestellung" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "Ausgehender Auftrag" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "Lagerartikel produziert von Bauauftrag" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "Lagerartikel für Bauauftrag benötigt" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "Gültig" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standard-Lagerort" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "Gesamtbestand" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -5499,916 +5534,913 @@ msgstr "Verfügbarer Bestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "Strukturell" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden." -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "Symbol" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "Symbol (optional)" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, 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:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN muss zu Regex-Muster {pat} passen" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Kategorie" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1029 +#: part/models.py:1030 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:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "Benutzer, der für diesen Teil verantwortlich ist" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Datum" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Bericht" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3238 +#: part/models.py:3272 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:3255 +#: part/models.py:3289 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:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Benötigt" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3294 +#: part/models.py:3328 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:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3300 +#: part/models.py:3334 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:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "Wert" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "Stufe" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Stücklisten-Position" + +#: part/models.py:3808 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "Optional" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "Verbrauchsmaterial" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "überprüft" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:3817 +#: part/models.py:3861 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:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:3823 +#: part/models.py:3867 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:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Initiale Lagermenge für dieses Teil. Wenn die Menge null ist, wird kein Lagerbestand hinzugefügt." -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" @@ -6421,9 +6453,9 @@ msgstr "Benachrichtigungen über geringen Bestand" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "Gesamtstückzahl" @@ -6461,14 +6493,6 @@ msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am msgid "The BOM for %(part)s has not been validated." msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "Stücklisten-Aktionen" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "Einträge löschen" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "Inventur für diese Teilekategorie durchführen" @@ -6505,7 +6529,7 @@ msgstr "Kategorie löschen" msgid "Top level part category" msgstr "Oberste Teil-Kategorie" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Unter-Kategorien" @@ -6518,33 +6542,20 @@ msgstr "Teile (inklusive Unter-Kategorien)" msgid "Create new part" msgstr "Neues Teil anlegen" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "Neues Teil" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "Optionen" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Teil-Kategorie auswählen" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Teil-Kategorie auswählen" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Teilparameter" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "Teil-Kategorie anlegen" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Neue Kategorie" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "Terminierungsdaten aktualisieren" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Neu laden" @@ -6592,7 +6603,7 @@ msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "Inventur" @@ -6604,101 +6615,101 @@ msgstr "Teil Test-Vorlagen" msgid "Add Test Template" msgstr "Test Vorlage hinzufügen" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "Verkaufsauftragszuweisungen" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "Teile-Notizen" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "Teil Varianten" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "Neue Variante anlegen" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "neue Variante anlegen" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "Parameter hinzufügen" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Verknüpfte Teile" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "Verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Stückliste" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "Export-Aktionen" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "Stückliste exportieren" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "Stücklisten-Bericht drucken" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "Stücklisten-Aktionen" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "Stückliste hochladen" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "Stückliste überprüfen" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "Stücklisten-Position hinzufügen" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "Baugruppen" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "Gefertigte Teile" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "Bauauftragszuweisungen" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "Zulieferer" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "Teil-Hersteller" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "Herstellerteile löschen" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "verknüpftes Teil" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "Teile-Importvorlage herunterladen" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "Format" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "Dateiformat auswählen" @@ -6779,7 +6790,7 @@ msgstr "Bestand zählen" msgid "Transfer part stock" msgstr "Teilbestand verschieben" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "Teile Aktionen" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "Inaktiv" @@ -6850,7 +6861,7 @@ msgstr "Zu Bauaufträgen zugeordnet" msgid "Allocated to Sales Orders" msgstr "Zur Bestellung zugeordnet" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "Herstellbar" @@ -6858,8 +6869,8 @@ msgstr "Herstellbar" msgid "Minimum stock level" msgstr "Minimaler Bestand" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "Teil-QR-Code" msgid "Link Barcode to Part" msgstr "Barcode mit Teil verknüpfen" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "Varianten" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -6989,9 +7000,9 @@ msgstr "Preis aktualisieren" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -7054,12 +7065,12 @@ msgstr "Verkaufspreise" msgid "Add Sell Price Break" msgstr "Verkaufspreisstaffel hinzufügen" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "Kein Bestand" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "niedriger Bestand" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Treffer für Barcode gefunden" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "Barcode entspricht einem bereits vorhandenen Artikel" @@ -7226,43 +7237,43 @@ msgstr "URL, die verwendet wird, um Nachrichten an einen Slack-Kanal zu senden" msgid "Open link" msgstr "Link öffnen" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "Plugin-Konfiguration" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "Plugin-Konfigurationen" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "Schlüssel" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "Schlüssel des Plugins" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "Name des Plugins" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "Ist das Plugin aktiv" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "Beispiel-Plugin" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "Integriertes Plugin" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "Methode" @@ -7414,47 +7425,47 @@ msgstr "Bauauftrag Filter" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "Snippet" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "Ressource" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -7475,8 +7486,8 @@ msgstr "Lieferant gelöscht" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "Stück-Preis" @@ -7488,23 +7499,23 @@ msgstr "Zusätzliche Positionen" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "Summe" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Seriennummer" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "Test" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "Seriennummer" @@ -7617,31 +7628,31 @@ msgstr "Löschen wenn leer" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "Ablaufdatum" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "Bestand-Lagerort" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "Bestand-Lagerorte" @@ -7670,8 +7681,8 @@ msgstr "Besitzer auswählen" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Extern" @@ -7687,7 +7698,7 @@ msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich ber msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" @@ -7821,7 +7832,7 @@ msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" @@ -7849,7 +7860,7 @@ msgstr "Lagerartikel wird aktuell produziert" msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "Artikel duplizeren" @@ -7901,132 +7912,141 @@ msgstr "Test Ergebnis Anhang" msgid "Test notes" msgstr "Test Notizen" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "Seriennummer ist zu lang" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, 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:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "Lagerartikel ist nicht verfügbar" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "Ausgewähltes Teil ist nicht in der Stückliste" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "Ziel Lagerort für unverbautes Objekt" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "Lagerartikel ist nicht verfügbar" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "Ausgewähltes Teil ist nicht in der Stückliste" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "Ziel Lagerort für unverbautes Objekt" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "Wählen Sie einen Teil aus, zu dem dieser Lagerartikel geändert werden soll" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "Das ausgewählte Teil ist keine gültige Option für die Umwandlung" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "Ziel Lagerort für zurückgegebene Artikel" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" @@ -8034,48 +8054,48 @@ msgstr "Bestandsbewegungsnotizen" msgid "Stock Tracking Information" msgstr "Informationen zur Bestand-Verfolgung" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "Kind-Lagerartikel" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "Dieser Lagerartikel hat keine Kinder" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "Testdaten" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Test-Bericht" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "Testdaten löschen" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "Testdaten hinzufügen" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "Lagerartikel installieren" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "Alle Testergebnisse für diesen Lagerartikel löschen" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" @@ -8083,13 +8103,13 @@ msgstr "Testergebnis hinzufügen" msgid "Locate stock item" msgstr "Lagerbestand lokalisieren" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "zu Lagerort einscannen" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "Druck Aktionen" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "Bestands-Anpassungs Aktionen" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "Bestand zählen" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "Bestand hinzufügen" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "Bestand entfernen" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "Bestand serialisieren" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "Bestand verschieben" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "Kunden zuweisen" @@ -8159,6 +8182,11 @@ msgstr "Lagerartikel bearbeiten" msgid "Delete stock item" msgstr "Lagerartikel löschen" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Bauauftrag" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Elternposition" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "Verfügbare Menge" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "Kein Lagerort gesetzt" @@ -8239,7 +8267,7 @@ 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:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "abgelaufen" @@ -8249,7 +8277,7 @@ 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:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "überfällig" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "Neuen Lagerort anlegen" msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "Lagerort an diesen Ort eingescannt" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "QR-Code für diesen Lagerort" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "Barcode mit Lagerort verknüpfen" @@ -8451,71 +8479,71 @@ msgstr "Die Seite ist derzeit in Wartung und sollte bald wieder verfügbar sein! msgid "Index" msgstr "Index" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "Abonnierte Teile" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "Abonnierte Kategorien" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "neueste Teile" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "Stücklisten erwarten Kontrolle" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "kürzlich aktualisiert" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Verbrauchter Bestand" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Für Bauaufträge benötigt" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "abgelaufener Bestand" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Bestand überfällig" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "laufende Bauaufträge" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "überfällige Bauaufträge" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "ausstehende Bestellungen" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "überfällige Bestellungen" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "ausstehende Aufträge" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "überfällige Aufträge" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "InvenTree Neuigkeiten" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "Aktuelle Neuigkeiten" @@ -8672,29 +8700,29 @@ msgstr "Plugin-Einstellungen" msgid "Changing the settings below require you to immediately 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." -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "Plugins" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Plugin installieren" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Externe Plugins sind für diese InvenTree-Installation nicht aktiviert" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "Plugin-Fehlerstapel" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "Stufe" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Meldung" @@ -8767,14 +8795,6 @@ msgstr "Commit-Hash" msgid "Commit Message" msgstr "Commit-Nachricht" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "Signaturstatus" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "Signatur Schlüssel" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "Bestellungs-Einstellungen" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "Keine Kategorie-Parametervorlagen gefunden" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "Vorlage bearbeiten" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "Vorlage löschen" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "Startseite" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "Nicht verifiziert" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "Primär" @@ -9204,44 +9225,48 @@ msgstr "Aktuell" msgid "Update Available" msgstr "Aktualisierung verfügbar" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "InvenTree-Dokumentation" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "API-Version" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Python-Version" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Django-Version" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "Code auf GitHub ansehen" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "Danksagung" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "Mobile App" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "Fehlerbericht senden" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "In die Zwischenablage kopieren" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "Versionsinformationen kopieren" @@ -9435,14 +9460,6 @@ msgstr "Link hinzufügen" msgid "Add Attachment" msgstr "Anhang hinzufügen" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "Markierte Anhänge löschen" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "Anhänge entfernen" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "Barcode-Bezeichner" @@ -9487,7 +9504,7 @@ 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:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "Mindestmenge" @@ -9573,23 +9590,35 @@ msgstr "Fehler-Code" msgid "All selected attachments will be deleted" msgstr "Alle ausgewählten anhänge werden gelöscht" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "Anhänge entfernen" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "Keine Anhänge gefunden" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "Hochladedatum" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "Anhang löschen" @@ -9646,7 +9675,7 @@ msgstr "Dadurch wird der Link zu dem zugehörigen Barcode entfernt" msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "Lagerartikel entfernen" @@ -9704,775 +9733,869 @@ msgstr "In Lagerorten buchen" msgid "Barcode does not match a valid location" msgstr "Barcode entspricht keinem Lagerort" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "Stücklisten-Position anlegen" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "Zeilendaten anzeigen" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "Zeilendaten" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Schliessen" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "Vorlage einer Stückliste herunterladen" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "Multilevel Stückliste" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "Stücklisten-Daten für Untergruppen einbeziehen" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "Ebenen" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 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:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "Alternative Teile einbeziehen" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "Alternative Teile in exportierte Stückliste einbeziehen" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "Parameter-Daten einschließen" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "Teile-Parameter in Stücklisten-Export einschließen" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "Bestand einschließen" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "Teil-Bestand in Stückliste-Export einschließen" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "Herstellerdaten einschließen" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "Teil-Herstellerdaten in Stückliste-Export einschließen" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "Zulieferer einschließen" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "Zulieferer-Daten in Stückliste-Export einschließen" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "Preisdaten einschließen" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "Preisinformationen in Stücklisten-Export einschließen" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "Ersatzteil entfernen" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 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:655 +#: templates/js/translated/bom.js:656 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:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "Ersatzteil entfernen" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "Ersatzteil hinzufügen" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "Stücklisten Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "Ausgewählte Stücklistenpositionen löschen?" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "Stückliste für Bauteile laden" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "Varianten erlaubt" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "Ersatzteile" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "Stücklisten-Bepreisung ist vollständig" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "Stücklisten-Bepreisung ist unvollständig" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "Beinhaltet Variante und Ersatzbestand" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Beinhaltet Variantenbestand" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "Enthält Ersatzbestand" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "Verbrauchsartikel" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "Ersatzteile bearbeiten" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "Geerbt von übergeordneter Stückliste" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "Bauauftrag bearbeiten" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "Bauauftrag erstellen" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "Bauauftrag abbrechen" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "Sind Sie sicher, dass sie diesen Bauauftrag abbrechen möchten?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "Lagerbestand wurde zu diesem Bauauftrag hinzugefügt" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "Für diesen Bau-Auftrag sind noch unvollständige Endprodukte vorhanden" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "Bauauftrag ist bereit abgeschlossen zu werden" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "Dieser Bauauftrag kann nicht abgeschlossen werden, da es unfertige Endprodukte gibt" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "Bauauftrag ist unvollständig" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "Bauauftrag fertigstellen" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "Nächste verfügbare Seriennummer" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "Letzte Seriennummer" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "Die Stückliste enthält verfolgbare Teile" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "Endprodukte müssen individuell angelegt werden" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "Nachverfolgbare Teile können Seriennummern haben" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Seriennummeren für mehrere einzelne Endprodukte angeben" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "Endprodukt anlegen" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "Lagerartikel zu diesem Endprodukt zuweisen" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" -msgstr "Bestand von Endpordukt zurücknehmen" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" +msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "Endprodukt fertigstellen" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "Endprodukt entfernen" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" -msgstr "Sind Sie sicher, dass sie alle Lagerartikel von diesem Bauauftrag entfernen möchten?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" +msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" -msgstr "Lagerartikel zurücknehmen" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" +msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "Endprodukte auswählen" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "Mindestens ein Endprodukt muss ausgewählt werden" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "Endprodukt" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "Endprodukte fertigstellen" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "Endprodukte entfernen" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "Keine Allokationen für Bauauftrag gefunden" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "Standort nicht angegeben" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "Endprodukte fertigstellen" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "Endprodukte löschen" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "Keine aktiven Endprodukte gefunden" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" -msgstr "Bestand zuteilen" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" +msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" -msgstr "Keine nachverfolgten Stücklisten-Einträge für diesen Bauauftrag" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" +msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "Abgeschlossene Tests" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "Keine erforderlichen Tests für diesen Bauauftrag" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "Bestands-Zuordnung bearbeiten" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "Bestands-Zuordnung löschen" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "Zuordnung bearbeiten" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "Zuordnung entfernen" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "Ersatzteile verfügbar" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "Anzahl pro" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "Unzureichender Bestand verfügbar" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "Ausreichender Bestand verfügbar" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "Bestand bauen" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "Bestand bestellen" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "Bestand zuweisen" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Teile auswählen" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens ein Teil auswählen" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "Alle Teile zugeordnet" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "Lagerartikel für Bauauftrag zuweisen" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "Keine passenden Lagerbestände" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "Automatische Lagerzuordnung" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Lagerartikel werden automatisch diesem Bauauftrag zugewiesen, entsprechend den angegebenen Richtlinien" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Wenn ein Lagerort angegeben ist, wird der Lagerbestand nur von diesem Ort zugewiesen" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Wenn der Lagerbestand als austauschbar gilt, wird er vom ersten Standort zugewiesen, an dem er gefunden wird" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Wenn ein Ersatzbestand erlaubt ist, wird es dort verwendet, wo kein Vorrat des Primärteils gefunden werden kann" -#: templates/js/translated/build.js:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "Lagerartikel zuordnen" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "Auswählen" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "Fortschritt" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "Gruppe" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" -msgstr "Keine Teile zugeordnet zu" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" +msgstr "Bestands-Zuordnung bearbeiten" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "Bestands-Zuordnung löschen" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "Zuordnung bearbeiten" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "Zuordnung entfernen" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "Nachverfolgbares Teil" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "Unzureichender Bestand verfügbar" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "Ausreichender Bestand verfügbar" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "Bestand bauen" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "Bestand bestellen" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "Bestand zuweisen" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "Hersteller hinzufügen" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "Herstellerteil hinzufügen" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "Herstellerteil ändern" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "Zulieferer hinzufügen" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "Zuliefererteil hinzufügen" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "Alle ausgewählten Zulieferteile werden gelöscht" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "Neue Firma hinzufügen" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "Teile geliefert" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "Hersteller-Teile" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "Keine Firmeninformation gefunden" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "Alle ausgewählten Herstellerrteile werden gelöscht" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "Herstellerteile löschen" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "Alle ausgewählten Parameter werden gelöscht" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "Parameter löschen" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Teile bestellen" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "Herstellerteile löschen" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "Vorlagenteil" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Zuliefererteil entfernen" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "Verfügbarkeit" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "Zuliefererteil bearbeiten" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "Preisstaffel löschen" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "Keine Informationen zur Preisstaffel gefunden" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "Zuletzt aktualisiert" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "Preisstaffel bearbeiten" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "Preisstaffel löschen" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "ja" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "nein" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "Filter auswählen" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "Filter hinzufügen" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "Filter entfernen" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "Filter anlegen" @@ -10497,6 +10620,12 @@ msgstr "Löschvorgang nicht erlaubt" msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Löschen" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "Dieses Formular offen lassen" @@ -10514,23 +10643,23 @@ msgstr "Fehler in Formular" msgid "No results found" msgstr "Keine Ergebnisse gefunden" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "Dateispalte" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "Feldname" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "Spalten auswählen" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "Drucker auswählen" @@ -10651,7 +10788,7 @@ msgstr "Keine Nachrichten gefunden" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "ID" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "Zeile löschen" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "Keine Positionen gefunden" @@ -10716,363 +10853,355 @@ msgstr "Zeile bearbeiten" msgid "Delete line" msgstr "Zeile löschen" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "Teileigenschaften" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "Erstellungsoptionen für Teile" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "Einstellungen für Teilkopien" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "Icon (optional) - alle verfügbaren Icons einsehbar auf" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "Teil-Kategorie hinzufügen" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "Teil-Kategorie bearbeiten" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "Möchten Sie diese Kategorie wirklich löschen?" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "In übergeordnete Kategorie verschieben" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "Aktion für Teile in dieser Kategorie" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "Aktion für Unterkategorien" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "Teil hinzufügen" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "Ein weiteres Teil anlegen" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "Teil erfolgreich angelegt" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "Teil bearbeitet" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "Teil-Variante anlegen" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "Aktives Teil" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "Teil kann nicht gelöscht werden, da es derzeit aktiv ist" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "Das Löschen dieses Teils kann nicht rückgängig gemacht werden" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "Alle Lagerartikel für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "Dieses Teil wird von allen Stücklisten entfernt" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Alle Hersteller- und Zuliefererinformationen für dieses Teil werden gelöscht" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "Teil löschen" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abonniert" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "Benachrichtigungen für dieses Teil abonnieren" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "Sie haben Benachrichtigungen für dieses Teil abgemeldet" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "Die Stückliste zu validieren markiert jede Zeile als gültig" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "Stückliste prüfen" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "überprüfte Stückliste" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "Bedarf" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "Einheit" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "Nachverfolgbares Teil" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "Abonnierter Teil" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "Die Erstellung eines neuen Inventurberichtes planen." -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "Nach Fertigstellung steht der Inventurbericht zum Download zur Verfügung." -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "Inventurbericht generieren" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "Inventurbericht geplant" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "Keine Inventurinformationen verfügbar" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "Inventureintrag bearbeiten" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "Inventureintrag löschen" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "Keine Teilparametervorlagen gefunden" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "Alle Parameter, die diese Vorlage referenzieren, werden ebenfalls gelöscht" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "Keine Kategorie" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "Listenansicht" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "Rasteransicht" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "Legen Sie die Teilkategorie für die ausgewählten Teile fest" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Teil-Kategorie auswählen" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "Keine Kategorie" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "Listenansicht" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" -msgstr "Teil-Kategorie wählen" +msgid "Display as grid" +msgstr "Rasteransicht" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "Kategorie erforderlich" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "Baumansicht" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "Unterkategorien laden" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "Kein Datum angegeben" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "Das angegebene Datum liegt in der Vergangenheit" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "Spekulativ" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "Maximale Anzahl" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "Minimaler Lagerbestand" @@ -11168,234 +11297,234 @@ msgstr "Keine Variantendaten verfügbar" msgid "Variant Part" msgstr "Variantenteil" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "Bestellung zum Duplizieren auswählen" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "Positionen duplizieren" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "Alle Positionen der ausgewählten Bestellung duplizieren" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "Zusätzliche Zeilen duplizieren" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "Zusätzliche Positionen der ausgewählten Bestellung duplizieren" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "Bestellung bearbeiten" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "Duplizierungsoptionen" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "Bestellung vervollständigen" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "Diese Bestellung als vollständig markieren?" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "Alle Einträge wurden erhalten" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "Diese Bestellung enthält Positionen, die nicht als empfangen markiert wurden." -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "Fertigstellen dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind." -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "Bestellung abbrechen" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Sind Sie sicher, dass Sie diese Bestellung abbrechen möchten?" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "Diese Bestellung kann nicht storniert werden" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "Bestellung aufgeben" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "Mindestens ein kaufbares Teil muss ausgewählt werden" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "Zu bestellende Menge" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "Neues Zuliefererteil" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "Neue Bestellung" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "Zur Bestellung hinzufügen" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "Keine passenden Lieferantenteile" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "Keine passenden Bestellungen" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "Positionen auswählen" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "Mindestens eine Position muss ausgewählt werden" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "Gelieferte Menge" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "Status" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "Losnummer hinzufügen" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "Seriennummern hinzufügen" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "Bestellnummer" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "Zu erhaltende Menge" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "Empfang der Teile bestätigen" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "Bestellpositionen erhalten" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Positionen" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "Alle ausgewählten Positionen werden gelöscht" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "Ausgewählte Positionen löschen?" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "Position duplizieren" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "Position löschen" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "Position duplizieren" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "Position löschen" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "Kunden hinzufügen" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "Auftrag anlegen" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "Auftrag bearbeiten" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "Dieser Sendung wurden keine Artikel zugewiesen" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "Die folgenden Artikel werden verschickt" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "Sendung fertigstellen" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "Sendung bestätigen" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "Keine ausstehenden Sendungen gefunden" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "Keine Lagerartikel für offene Sendungen zugewiesen" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "Abgeschlossene Sendungen" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "Überspringen" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "Dieser Auftrag enthält Positionen, die noch nicht abgeschlossen sind." -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "Auftrag stornieren" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist." -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "Sendung anlegen" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "Sendung fertigstellen" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "Sendung löschen" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "Sendung löschen" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "Keine passenden Sendungen gefunden" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "Sendungsreferenz" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "Nicht versandt" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "Nachverfolgen" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "Rechnung" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "Sendung hinzufügen" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "Bestandszuordnung bestätigen" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "Artikel zu Kundenauftrag zuweisen" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "Keine Allokationen für Verkaufsaufträge gefunden" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "Bestandszuordnung bearbeiten" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "an Kunde versand" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "Lagerstandort nicht angegeben" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "Bestand kaufen" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "Preis berechnen" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "Keine Ergebnisse" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "Suchbegriff eingeben" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "Ergebnisse minimieren" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "Ergebnisse entfernen" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "Lagerartikel serialisieren" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "Lager-Serialisierung bestätigen" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "Lagerartikel-Ort bearbeiten" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "Neuer Lagerstandort" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "Sind Sie sicher, dass Sie diesen Lagerort löschen wollen?" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "Zum übergeordneten Lagerbestand verschieben" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "Bestand-Lagerort löschen" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "Aktion für Lagerartikel in diesem Lagerort" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "Aktion für Unter-Lagerorte" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "Dieser Teil kann nicht serialisiert werden" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "Ausgangsmenge für diesen Lagerartikel eingeben" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "Lagerartikel dupliziert" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "Bestand duplizieren" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "Sind Sie sicher, dass Sie diesen Lagerartikel löschen wollen?" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "Lagerartikel löschen" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "Lagerartikel bearbeiten" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "Neuer Lagerartikel erstellt" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "Mehrere Lagerartikel erstellt" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "Seriennummer finden" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "Seriennummer eingeben" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "Eine Seriennummer eingeben" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "Keine passende Seriennummer" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "Mehrere Ergebnisse gefunden" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "Bestand Zuweisung bestätigen" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "Einem Kunden zuordnen" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "Achtung: Das Zusammenführen kann nicht rückgängig gemacht werden" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "Einige Informationen gehen verloren, wenn Artikel zusammengeführt werden" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "Lagerartikelverlauf wird für zusammengeführte Lagerartikel gelöscht" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "Lieferantenteil-Informationen werden für zusammengeführte Artikel gelöscht" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "Zusammenführung der Artikel bestätigen" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "Artikel zusammenführen" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "Verschieben" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "Bestand zählen" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "Anzahl" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "Bestand entfernen" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "Entfernen" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "Hinzufügen" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "Lagerartikel auswählen" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" -msgstr "Sie müssen mindestens einen Lagerartikel auswählen" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" +msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "Test bestanden" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "In Lagerartikel installiert" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "Bestand zusammenführen" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "Bestand löschen" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "Serialisierter Lagerartikel wurde zugewiesen" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "Lagerartikel wurde vollständig zugewiesen" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "Lagerartikel wurde teilweise zugewiesen" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Element verbaut" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "Lagerartikel abgewiesen" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "Lagerartikel verloren" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "Lagerartikel zerstört" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "Bestandswert" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "Untergeordnete Lagerorte laden" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "Artikelinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "Einen weiteren Lagerartikel in dieses Teil installiert" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "Teil zur Installation auswählen" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "Bestellstatus" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "ausstehend" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "Mir zugewiesen" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "Baugruppe" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "Hat verfügbaren Bestand" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "Bestand an Varianten zulassen" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "Hat Preis" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "Unter-Lagerorte einschließen" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "Lagerorte einschließen" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "Abonniert" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "Hat Seriennummer" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "Seriennummer >=" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "Seriennummer größer oder gleich" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "Seriennummer <=" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "Seriennummern kleiner oder gleich" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "Seriennummer" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "Losnummer" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "Aktive Teile" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "Bestand aktiver Teile anzeigen" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "Teil ist eine Baugruppe" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "Ist zugeordnet" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "Teil wurde zugeordnet" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "Lagerartikel ist zur Verwendung verfügbar" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "Bestand in Unter-Lagerorten einschließen" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "Zeige aufgebrauchte Lagerartikel" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "Zeige Objekte welche im Lager sind" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "In Arbeit" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "Elemente, die in Produktion sind, anzeigen" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "Varianten einschließen" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "Lagerartikel für Teil-Varianten einschließen" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "Installiert" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "Lagerartikel, die in anderen Elementen verbaut sind, anzeigen" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "zeige zu Kunden zugeordnete Einträge" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "Status" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "Hat Batch-Code" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "Nachverfolgt" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "Lagerbestand wird entweder per Batch-Code oder Seriennummer verfolgt" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "Hat Einkaufspreis" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "Bestand mit Einkaufspreis anzeigen" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "Ablaufdatum vor" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "Ablaufdatum nach" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "Zeige abgelaufene Lagerartikel" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "Bestand, der bald ablaufen, anzeigen" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "Test bestanden" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "Installierte Elemente einschließen" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "Bauauftrags-Status" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "Verfügbarer Lagerbestand" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "Auf Lager" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "Käuflich" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "Hat Inventureinträge" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "Tabellendaten exportieren" msgid "Select File Format" msgstr "Dateiformat wählen" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "Lade Daten" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "Zeilen pro Seite" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "Alle Zeilen anzeigen" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "zeige" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "bis" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "von" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "Zeilen" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "Keine passenden Ergebnisse gefunden" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "Zeige/Verstecke Pagination" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "umschalten" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "Spalten" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "Alle" @@ -12617,50 +12778,6 @@ msgstr "E-Mail-Einstellungen" msgid "Email settings not configured" msgstr "E-Mail-Einstellungen nicht konfiguriert" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "Barcode Aktionen" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "Bestands-Einstellungen " - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "Zu ausgewählten Lagerartikeln hinzufügen" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "Von ausgewählten Lagerartikeln entfernen" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "Inventur für gewählte Lagerartikel" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "Ausgewählte Lagerartikel verschieben" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "Ausgewählte Artikel zusammenführen" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "Bestand zusammenführen" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "Ausgewählte Positionen bestellen" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "Ausgewählte Positionen löschen" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "Bestand löschen" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "Ja" @@ -12693,35 +12810,35 @@ msgstr "Berechtigungen" msgid "Important dates" msgstr "wichtige Daten" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Gruppe" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Ansicht" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "Ändern" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 8f0e0179f1..9e4b6109c0 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -49,26 +49,26 @@ msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλμα msgid "Enter date" msgstr "Εισάγετε ημερομηνία" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Σημειώσεις" @@ -81,47 +81,51 @@ msgstr "Η τιμή '{name}' δεν εμφανίζεται σε μορφή μο msgid "Provided value does not match required pattern: " msgstr "Η παρεχόμενη τιμή δεν ταιριάζει με το απαιτούμενο απαραραίητη μοτίβο: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Εισάγετε κωδικό" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Εισάγετε νέο κωδικό πρόσβασης" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Επιβεβαιώστε τον κωδικό πρόσβασης" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Επιβεβαιώστε τον νέο κωδικό πρόσβασης" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Παλιός κωδικός πρόσβασης" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "E-mail (ξανά)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Επιβεβαίωση διεύθυνσης email" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Πρέπει να πληκτρολογήσετε το ίδιο email κάθε φορά." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Η παρεχόμενη κύρια διεύθυνση ηλεκτρονικού ταχυδρομείου δεν είναι έγκυρη." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυδρομείου δεν έχει εγκριθεί." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Μη έγκυρη ποσότητα" @@ -239,7 +243,7 @@ msgstr "Λείπει ο εξωτερικός σύνδεσμος" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Συνημμένο" @@ -247,29 +251,30 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Σχόλιο" @@ -277,13 +282,13 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Χρήστης" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Περιγραφή" @@ -383,7 +389,7 @@ msgid "parent" msgstr "γονέας" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Μονοπάτι" @@ -419,12 +425,12 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Τσέχικα" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Γερμανικά" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Ελληνικά" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Αγγλικά" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Ισπανικά" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Ισπανικά (Μεξικό)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Φαρσί / Περσικά" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Γαλλικά" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Εβραϊκά" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Ούγγρικα" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Ιταλικά" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Ιαπωνικά" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Κορεάτικα" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Dutch" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Νορβηγικά" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Πολωνικά" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Πορτογαλικά" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Πορτογαλικά (Βραζιλίας)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Ρωσικά" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Σουηδικά" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Ταϊλανδέζικα" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Τούρκικα" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Βιετναμέζικα" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Κινέζικα" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Δεν έχει ρυθμιστεί διεύθυνση ηλεκτρονικού ταχυδρομείου" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Ο έλεγχος συστήματος για το Inventree απέτυχε" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Σε εκκρεμότητα" @@ -630,7 +636,7 @@ msgstr "Τοποθετήθηκε" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Ολοκληρώθηκε" @@ -654,10 +660,10 @@ msgstr "Επιστράφηκε" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Αποστάλθηκε" @@ -689,7 +695,7 @@ msgstr "Σε Καραντίνα" msgid "Legacy stock tracking entry" msgstr "Καταχώρηση παλαιού αποθέματος" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Το αντικείμενο αποθεμάτων δημιουργήθηκε" @@ -745,7 +751,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" @@ -765,7 +771,7 @@ msgstr "Η έξοδος της σειράς κατασκευής ολοκληρ msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Κατανάλωση με εντολή κατασκευής" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Απεστάλη στον πελάτη" @@ -849,83 +855,111 @@ msgstr "Τα πεδία κωδικού πρόσβασης πρέπει να τα msgid "Wrong password provided" msgstr "Δόθηκε λάθος κωδικός πρόσβασης" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Πληροφορίες συστήματος" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Δημιουργία Παραγγελιών" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Μη έγκυρη επιλογή για γονική κατασκευή" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Αναφορά" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατασκευή" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Εξάρτημα" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Επιλέξτε τμήμα για κατασκευή" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Κωδικός Παραγγελίας Πωλήσεων" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Επιλέξτε τοποθεσία από την οποία θα γίνει απόθεμα, για αυτή την κατασκευή (αφήστε κενό για να πάρετε από οποιαδήποτε θέση αποθήκευσης)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Τοποθεσία Προορισμού" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Επιλέξτε την τοποθεσία όπου θα αποθηκευτούν τα ολοκληρωμένα στοιχεία" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Ποσότητα Κατασκευής" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Αριθμός αντικειμένων για κατασκευή" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Ολοκληρωμένα αντικείμενα" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Αριθμός αντικειμένων αποθέματος που έχουν ολοκληρωθεί" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Κατάσταση Κατασκευής" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Ημερομηνία ολοκλήρωσης στόχου" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Εκδόθηκε από" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Υπεύθυνος" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" +#: build/models.py:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Το επιλεγμένο αντικείμενο αποθέματος δεν βρέθηκε στο BOM" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Κατασκευή" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Κατασκευή για εκχώρηση τμημάτων" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Στοιχείο Αποθέματος" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Στοιχείο πηγαίου αποθέματος" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Στοιχείο πηγαίου αποθέματος" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Στοιχείο Αποθέματος" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Στοιχείο πηγαίου αποθέματος" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Το IPN πρέπει να ταιριάζει με το μοτίβο regex {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Κατασκευή" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index fcd5f93774..0a8805525b 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: 2023-06-05 11:04+0000\n" +"POT-Creation-Date: 2023-06-12 21:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,12 +53,12 @@ msgstr "" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3004 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -122,7 +122,7 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "" @@ -238,7 +238,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,10 +248,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -264,7 +264,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -278,10 +278,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3012 -#: part/models.py:3100 part/models.py:3179 part/models.py:3199 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 #: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 @@ -325,12 +325,12 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3399 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:78 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +347,8 @@ msgstr "" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3415 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3896 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2851 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +498,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:722 msgid "Czech" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:723 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:724 msgid "German" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:725 msgid "Greek" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:726 msgid "English" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:727 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:728 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:729 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:730 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:731 msgid "French" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:732 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:733 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:734 msgid "Italian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:735 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:736 msgid "Korean" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:737 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:738 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:739 msgid "Polish" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:740 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:741 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:742 msgid "Russian" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:743 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:744 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:745 msgid "Thai" msgstr "" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:746 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:747 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:748 msgid "Chinese" msgstr "" @@ -618,196 +618,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:511 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +858,7 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +890,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3797 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +921,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2864 part/models.py:2978 -#: part/models.py:3118 part/models.py:3137 part/models.py:3156 -#: part/models.py:3177 part/models.py:3269 part/models.py:3554 -#: part/models.py:3662 part/models.py:3762 part/models.py:4076 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1023,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1032,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1047,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "" @@ -1062,10 +1065,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 @@ -1120,9 +1123,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1142,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1168,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1189,10 +1192,10 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: build/templates/build/detail.html:34 common/models.py:2169 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2991 part/models.py:3778 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1282,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1300,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1308,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1349,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1422,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1438,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3685 -#: part/models.py:4068 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1459,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1476,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1640,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1677,8 +1680,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1730,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1969,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2127,7 +2130,7 @@ msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 #: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1323 common/models.py:1446 common/models.py:1688 msgid "days" msgstr "" @@ -2259,7 +2262,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3559 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 #: templates/js/translated/table_filters.js:680 msgid "Template" @@ -2269,7 +2272,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 #: templates/js/translated/table_filters.js:634 @@ -2280,7 +2283,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 #: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2292,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,7 +2300,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 #: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,7 +2309,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:684 @@ -2317,7 +2320,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:688 @@ -2768,547 +2771,539 @@ msgstr "" msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - #: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "" - -#: common/models.py:1628 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1622 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1629 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1630 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1637 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1638 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1645 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1646 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1653 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1654 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1661 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1662 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1668 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1669 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1675 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1676 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1685 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1686 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1703 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1722 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1744 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1745 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1751 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1752 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1758 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1759 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1765 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1766 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1772 msgid "Recent Part Count" msgstr "" -#: common/models.py:1780 +#: common/models.py:1773 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1786 +#: common/models.py:1779 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1793 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1801 +#: common/models.py:1794 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1807 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: common/models.py:2177 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2353 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 #: templates/js/translated/table_filters.js:434 @@ -3317,100 +3312,100 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2683 templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2729 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3420,7 +3415,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3532,7 +3527,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3642,7 +3637,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3648,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3406 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3672,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3720,7 +3715,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3800 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3724,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1918 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1918 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3758,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1920 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3854,8 +3849,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -4088,7 +4083,7 @@ msgstr "" #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 +#: templates/js/translated/stock.js:216 users/models.py:248 msgid "Delete" msgstr "" @@ -4346,7 +4341,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4350,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4368,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,188 +4377,188 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 @@ -4573,342 +4568,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5304,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3666 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3670 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5318,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5351,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5393,11 +5388,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2929 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2935 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5409,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5432,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3674 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5446,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5492,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3615 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3671 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3197 part/models.py:3614 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,249 +5599,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1920 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2852 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2869 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2870 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2875 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2876 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2881 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2894 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2899 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2900 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2905 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2906 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2911 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2912 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2917 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2918 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2923 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2924 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2930 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2942 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2947 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2948 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2953 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2954 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2959 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2960 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2979 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2984 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2985 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2992 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2996 part/models.py:3079 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5858,214 +5853,214 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2997 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3005 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3013 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3018 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3024 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3087 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3092 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3093 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3101 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3237 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3254 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3274 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3275 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3280 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3281 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3286 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3287 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3292 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3293 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3298 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3299 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3345 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3350 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3368 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3384 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1600 +#: part/models.py:3423 templates/js/translated/part.js:1600 #: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3510 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3554 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3559 part/models.py:3620 part/models.py:3621 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3564 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3564 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3625 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3626 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3663 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3675 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3678 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3763 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3771 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3778 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3782 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 @@ -6074,114 +6069,114 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3783 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3788 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3789 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3793 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3794 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3797 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3800 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3804 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3804 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3809 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3810 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3815 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3816 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3821 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3822 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3908 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3917 part/models.py:3919 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4035 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4056 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4069 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4077 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4092 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4096 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4096 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4118 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7515,12 +7510,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7619,27 +7614,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7798,104 +7793,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8670,29 +8665,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:68 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:77 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:79 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8765,14 +8760,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -9202,44 +9189,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -11845,7 +11836,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1005 users/models.py:244 msgid "Add" msgstr "" @@ -12691,34 +12682,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:231 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:239 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:242 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:242 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:244 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:246 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 4d9fdf2506..b5288a9078 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -49,26 +49,26 @@ msgstr "Detalles del error pueden encontrarse en el panel de administración" msgid "Enter date" msgstr "Ingrese la fecha" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Notas" @@ -81,47 +81,51 @@ msgstr "El valor '{name}' no aparece en formato de patrón" msgid "Provided value does not match required pattern: " msgstr "El valor proporcionado no coincide con el patrón requerido: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Introduzca contraseña" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Ingrese su nueva contraseña" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Confirmar la contraseña" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Confirmar contraseña nueva" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Contraseña anterior" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (de nuevo)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Confirmación de dirección de email" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Debe escribir el mismo correo electrónico cada vez." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "La dirección de correo electrónico principal proporcionada no es válida." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "El dominio de correo electrónico proporcionado no está aprobado." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" @@ -239,7 +243,7 @@ msgstr "Falta enlace externo" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Archivo adjunto" @@ -247,29 +251,30 @@ msgstr "Archivo adjunto" msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Enlace a URL externa" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Comentario" @@ -277,13 +282,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Usuario" @@ -324,53 +329,54 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Descripción" @@ -383,7 +389,7 @@ msgid "parent" msgstr "padre" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Ruta" @@ -419,12 +425,12 @@ msgstr "Error de servidor" msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URL de imagen remota" msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Checo" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Danés" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Alemán" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Griego" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Inglés" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Español" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Español (México)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Persa" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "Finlandés" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Francés" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebreo" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japonés" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Holandés" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Noruego" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polaco" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugués" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugués (Brasileño)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Ruso" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Esloveno" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Sueco" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Tailandés" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Chino" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "No se ha configurado el backend de correo" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Pendiente" @@ -630,7 +636,7 @@ msgstr "Colocado" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Terminado" @@ -654,10 +660,10 @@ msgstr "Devuelto" msgid "In Progress" msgstr "En progreso" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Enviado" @@ -689,7 +695,7 @@ msgstr "En cuarentena" msgid "Legacy stock tracking entry" msgstr "Entrada antigua de rastreo de stock" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Artículo de stock creado" @@ -745,7 +751,7 @@ msgstr "Separar del artículo principal" msgid "Split child item" msgstr "Dividir artículo secundario" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Artículos de stock combinados" @@ -765,7 +771,7 @@ msgstr "Construir orden de salida completado" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Consumido por orden de construcción" @@ -781,7 +787,7 @@ msgstr "Recibido contra la orden de compra" msgid "Returned against Return Order" msgstr "Devuelto contra orden de devolución" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Enviar al cliente" @@ -849,83 +855,111 @@ msgstr "Los campos de contraseña deben coincidir" msgid "Wrong password provided" msgstr "Contraseña incorrecta proporcionada" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Información del sistema" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Acerca de InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "Consumible" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "Opcional" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "Rastreado" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "Asignadas" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Construir órden" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Construir órdenes" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Opción no válida para la construcción padre" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referencia" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "Breve descripción de la construcción (opcional)" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Orden de Construcción o Armado a la que se asigna" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Parte" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Seleccionar parte a construir o armar" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Referencia de orden de venta" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Orden de Venta a la que se asigna" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Ubicación de la fuente" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Seleccione la ubicación de donde tomar stock para esta construcción o armado (deje en blanco para tomar desde cualquier ubicación)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Ubicación de destino" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Seleccione la ubicación donde se almacenarán los artículos completados" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Cantidad a crear" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Número de objetos existentes a construir" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Elementos completados" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Número de productos en stock que se han completado" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Estado de la construcción" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Fecha de Creación" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Fecha límite de finalización" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Fecha de finalización" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "terminado por" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Emitido por" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Responsable" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Usuario o grupo responsable de esta orden de construcción" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Link externo" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Prioridad de construcción" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "Código del proyecto" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "El pedido {build} ha sido procesado" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable" +#: build/models.py:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Artículo de stock sobreasignado" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Cantidad asignada debe ser mayor que cero" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "La cantidad debe ser 1 para el stock serializado" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Artículo de stock seleccionado no encontrado en BOM" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Construcción o Armado" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Armar para asignar partes" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Artículo de stock" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Producto original de stock" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Producto original de stock" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Artículo de stock sobreasignado" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Cantidad asignada debe ser mayor que cero" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "La cantidad debe ser 1 para el stock serializado" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Artículo de stock" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Producto original de stock" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Artículo de stock de destino" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "La salida de construcción no coincide con la construcción padre" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Esta salida de construcción ya ha sido completada" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "Esta salida de construcción no está completamente asignada" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Cantidad entera requerida para partes rastreables" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Números de serie" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Autoasignar Números de Serie" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Ubicación" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Estado" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "Quitar inventario asignado" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "Resta cualquier existencia que ya ha sido asignado a esta versión" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "Eliminar cualquier salida de construcción que no se haya completado" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceptar que el número requerido de salidas de construcción no se han completado" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Item de Lista de Materiales" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "La salida de la construcción debe apuntar a la misma construcción" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part debe apuntar a la misma parte que la orden de construcción" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "Este artículo de stock ya ha sido asignado a esta salida de construcción" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" @@ -1540,6 +1589,7 @@ msgstr "Miniatura de parte" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Acciones para código de barras" @@ -1618,69 +1668,67 @@ msgstr "Completar construcción" msgid "Build Description" msgstr "Descripción de Construcción" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "No se han creado salidas para esta orden de construcción" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "Orden de construcción está lista para marcar como completada" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "La orden de construcción no se puede completar ya que existen salidas pendientes" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "Stock no ha sido asignado completamente a este pedido de construcción" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Fecha objetivo" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "Esta construcción vence el %(target)s" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Vencido" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Completados" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "Salidas completadas" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Completados" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Orden de Venta" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Emitido por" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "Prioridad" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Eliminar Orden de Trabajo" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "Código QR del pedido de contrucción" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "Enlazar código de barras a orden de construcción" @@ -1729,8 +1777,8 @@ msgstr "Fuente de stock" msgid "Stock can be taken from any available location." msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Destinación" @@ -1744,21 +1792,21 @@ msgstr "Partes asignadas" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Lote" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Creado" @@ -1766,147 +1814,106 @@ msgstr "Creado" msgid "No target date set" msgstr "Sin fecha objetivo" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Completados" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Trabajo incompleto" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "Órdenes de Trabajo herederas" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Asignar Stock a Trabajo" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Desasignar stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Desasignar stock" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "Asignar existencias automáticamente a contrucción" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "Auto asignar" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "Asignar existencias manualmente a construcción" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Asignar stock" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Pedir partes necesarias" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Partes del pedido" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "Stock no ha sido asignado completamente a esta Orden de Trabajo" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "El stock sin rastrear no ha sido asignado completamente para esta Orden de Trabajo" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "Asignar partes seleccionadas" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Esta Orden de Trabajo no tiene ningún objeto BOM sin seguimiento asociados" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "Salidas de Trabajo incompletas" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "Crear nueva salida de trabajo" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "Nueva Salida de Trabajo" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "Acciones de salida" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "Completa las salidas seleccionadas" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "Completar salidas" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "Eliminar salidas seleccionadas" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "Eliminar salidas" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "Salidas de Trabajo Completadas" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Adjuntos" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Notas del Trabajo" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "Asignación completa" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "Todos los artículos de stock no rastreados han sido asignados" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" +msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Nueva Orden de Trabajo" @@ -1914,14 +1921,10 @@ msgstr "Nueva Orden de Trabajo" msgid "Build Order Details" msgstr "Configuración de Pedido de Trabajo" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Salidas incompletas" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "Salidas completadas" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "Actualizado" msgid "Timestamp of last update" msgstr "Fecha y hora de la última actualización" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "Código del proyecto" - #: common/models.py:105 msgid "Unique project code" msgstr "Código único del proyecto" @@ -2261,9 +2254,9 @@ msgstr "Copiar plantillas de parámetros de categoría" msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Plantilla" @@ -2271,10 +2264,10 @@ msgstr "Plantilla" msgid "Parts are templates by default" msgstr "Las partes son plantillas por defecto" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Montaje" @@ -2282,8 +2275,8 @@ msgstr "Montaje" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Componente" @@ -2291,7 +2284,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Comprable" @@ -2299,8 +2292,8 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Vendible" @@ -2308,10 +2301,10 @@ msgstr "Vendible" msgid "Parts are salable by default" msgstr "Las partes se pueden vender por defecto" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Rastreable" @@ -2319,10 +2312,10 @@ msgstr "Rastreable" msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Virtual" @@ -2354,7 +2347,7 @@ msgstr "Datos iniciales de existencias" msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir la creación del stock inicial al añadir una nueva parte" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Datos iniciales del proveedor" @@ -2603,181 +2596,181 @@ msgid "Stock location default icon (empty means no icon)" msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1478 +msgid "Build Order Reference Pattern" +msgstr "" + +#: common/models.py:1479 msgid "Required pattern for generating Build Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Enable Return Orders" msgstr "Habilitar órdenes de devolución" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Enable return order functionality in the user interface" msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Return Order Reference Pattern" msgstr "Patrón de referencia de orden de devolución" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Required pattern for generating Return Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de devolución" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Edit Completed Return Orders" msgstr "Editar ordenes de devolución completadas" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de venta" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "Habilitar función de contraseña olvidada" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "Habilitar registro" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable self-registration for users on the login pages" msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "Habilitar SSO" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "Habilitar SSO en las páginas de inicio de sesión" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "Habilitar registro SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "Email requerido" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "Requiere usuario para suministrar correo al registrarse" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "Auto-rellenar usuarios SSO" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "Correo dos veces" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "Contraseña dos veces" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "Dominios permitidos" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "Grupo al registrarse" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "Grupo al que se asignan nuevos usuarios al registrarse" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "Forzar MFA" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "Los usuarios deben utilizar seguridad multifactor." -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "Comprobar complementos al iniciar" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "Comprobar las firmas del complemento" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "Comprobar y mostrar firmas de complementos" - #: common/models.py:1628 msgid "Enable URL integration" msgstr "Habilitar integración de URL" @@ -2850,7 +2843,7 @@ msgstr "Intervalo de borrado de informe" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "Mostrar las últimas partes en la página de inicio" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "Conteo de Partes Recientes" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "Número de partes recientes a mostrar en la página de índice" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Mostrar BOMs no validadas" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar BOMs que esperan validación en la página de inicio" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "Mostrar cambios recientes de stock" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar artículos de stock recientemente modificados en la página de inicio" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "Conteo Reciente de Stock" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "Número de artículos de stock recientes a mostrar en la página de índice" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Mostrar stock bajo" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Mostrar artículos de stock bajo en la página de inicio" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "Mostrar stock agotado" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "Mostrar artículos agotados en la página de inicio" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Mostrar stock necesario" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "Mostrar artículos de stock necesarios para trabajos en la página de inicio" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "Mostrar stock caducado" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "Mostrar artículos de stock caducados en la página de inicio" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "Mostrar stock obsoleto" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "Mostrar artículos de stock obsoletos en la página de inicio" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "Mostrar trabajos pendientes" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "Mostrar trabajos vencidos" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "Mostrar Órdenes de Compra Pendientes" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "Mostrar las OC destacadas en la página de inicio" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "Mostrar OC atrasadas" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "Mostrar las OC vencidas en la página de inicio" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "Mostrar OV pendiemtes" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar OV pendientes en la página de inicio" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "Mostrar OV atrasadas" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "Mostrar OV atrasadas en la página de inicio" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "Mostrar noticias" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "Mostrar etiqueta interior" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Mostrar etiquetas PDF en el navegador, en lugar de descargar como un archivo" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "Impresora predeterminada" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "Mostrar informe en línea" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Mostrar informes PDF en el navegador, en lugar de descargar como un archivo" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Buscar partes" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "Buscar partes de proveedor" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "Ocultar Partes Inactivas" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "Buscar categorías" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "Buscar inventario" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "Buscar ubicaciones" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "Mostrar ubicaciones de almacén en la ventana de vista previa de búsqueda" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "Buscar empresas" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "Mostrar empresas en la ventana de vista previa de búsqueda" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "Buscar órdenes de compra" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "Buscar órdenes de venta" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "Buscar órdenes de devolución" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "Resultados de la vista previa" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "Búsqueda Regex" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "Habilitar expresiones regulares en las consultas de búsqueda" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "Búsqueda por palabra completa" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "Mostrar cantidad en formularios" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "Mostrar la cantidad de partes disponibles en algunos formularios" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "Formularios de cierre de teclas de escape" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "Usa la clave de escape para cerrar formularios modales" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "Barra de navegación fija" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "La posición de la barra de navegación se fija en la parte superior de la pantalla" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar fechas" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de partes" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Precio" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Activo" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "Token" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Clave" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "Host" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "Encabezado" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "Cuerpo" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "Id" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "Titulo" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumen" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "Leer" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "¿Esta noticia fue leída?" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "¿Esta noticia fue leída?" msgid "Image" msgstr "Imágen" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "Archivo de imagen" @@ -3499,7 +3477,7 @@ msgstr "Descripción de la empresa" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Página web" @@ -3507,303 +3485,387 @@ msgstr "Página web" msgid "Company website URL" msgstr "URL del sitio web de la empresa" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Dirección" - -#: company/models.py:119 -msgid "Company address" -msgstr "Dirección de la empresa" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Teléfono" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Teléfono de contacto" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "Correo electrónico" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Correo electrónico de contacto" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contacto" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Punto de contacto" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Enlace a información externa de la empresa" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "es cliente" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "¿Vendes artículos a esta empresa?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "es proveedor" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "¿Compras artículos de esta empresa?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "es fabricante" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "¿Esta empresa fabrica partes?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Empresa" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Parte base" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Seleccionar parte" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "MPN" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Número de parte de fabricante" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "URL para el enlace de parte del fabricante externo" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "Descripción de la parte del fabricante" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Parte del fabricante" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Nombre del parámetro" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Valor" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Unidades" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Unidades de parámetro" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" -msgstr "Las unidades de paquete deben ser compatibles con las unidades de piezas de base" +msgstr "Las unidades de paquete deben ser compatibles con las unidades de partes de base" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "Las unidades de paquete deben ser mayor que cero" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "SKU" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "Seleccionar parte del fabricante" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "URL del enlace de parte del proveedor externo" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Nota" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "costo base" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Paquetes" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "Embalaje de partes" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "Cantidad de paquete" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "múltiple" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "Pedido múltiple" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Disponible" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "Cantidad disponible del proveedor" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "Disponibilidad actualizada" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "Fecha de última actualización de los datos de disponibilidad" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "Moneda predeterminada utilizada para este proveedor" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Crear orden de compra" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Editar datos de la empresa" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Modificar Empresa" @@ -3856,17 +3918,17 @@ msgstr "Descargar desde URL" msgid "Delete image" msgstr "Borrar imagen" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Cliente" @@ -3874,6 +3936,13 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Usa la moneda predeterminada" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Dirección" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Teléfono" @@ -3906,7 +3975,7 @@ msgstr "Descargar imagen" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Partes de Proveedor" @@ -3916,129 +3985,121 @@ msgstr "Crear nueva parte del proveedor" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Nueva Parte de Proveedor" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Partes de pedido" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Eliminar partes" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Eliminar Partes" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Partes del fabricante" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Crear nueva parte de fabricante" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Nueva parte de fabricante" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Stock del Proveedor" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Ordenes de compra" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Crear nueva orden de compra" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nueva orden de compra" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Órdenes de venta" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Crear Orden de Venta" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Nueva orden de venta" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "Stock asignado" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "Ordenes de devolución" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "Crear nueva orden de devolución" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "Nueva orden de devolución" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Notas de la empresa" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "Contactos de la empresa" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "Añadir contacto" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Listado de proveedores" @@ -4050,17 +4111,17 @@ msgstr "Fabricantes" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Pedir ítem" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "Editar fabricante de la parte" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "Eliminar fabricante de la parte" @@ -4080,40 +4141,22 @@ msgstr "No hay información del fabricante disponible" msgid "Suppliers" msgstr "Proveedores" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Eliminar partes del proveedor" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Eliminar" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parámetros" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Nuevo parámetro" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Eliminar parámetro" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Añadir parámetro" @@ -4137,23 +4180,28 @@ msgstr "Elementos de Stock Asignados" msgid "Contacts" msgstr "Contactos" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Parte del proveedor" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "Acciones de partes del proveedor" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "Pedir ítem" @@ -4164,13 +4212,13 @@ msgstr "Actualizar disponibilidad" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "Editar Parte del Proveedor" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "Duplicar parte del proveedor" @@ -4197,7 +4245,7 @@ msgstr "Crear nuevo artículo de stock" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nuevo artículo de stock" @@ -4205,37 +4253,37 @@ msgstr "Nuevo artículo de stock" msgid "Supplier Part Orders" msgstr "Pedidos de partes al proveedor" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Información de precios" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "Agregar descuento de precio" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "Código QR de parte del proveedor" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "Enlazar código de barras a la parte del proveedor" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "Actualizar disponibilidad de parte" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Elementos de stock" @@ -4261,7 +4309,7 @@ msgstr "Clientes" msgid "New Customer" msgstr "Nuevo Cliente" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Empresas" @@ -4269,72 +4317,76 @@ msgstr "Empresas" msgid "New Company" msgstr "Nueva Compañía" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Nombre etiqueta" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Descripción de etiqueta" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Etiqueta" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "Archivo de plantilla de etiqueta" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Habilitado" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "Plantilla de etiqueta habilitada" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Ancho [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "Ancho de la etiqueta, especificado en mm" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Altura [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Patrón de Nombre de archivo" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "Patrón para generar nombres de archivo de etiquetas" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor)," -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Filtros" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtros de búsqueda de partes (valor separado por comas de pares clave=valor)" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "Código QR" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Precio Total" @@ -4361,30 +4413,30 @@ msgstr "Precio Total" msgid "No matching purchase order found" msgstr "No se encontró ninguna orden de compra coincidente" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Orden de compra" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "Orden de devolución" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Desconocido" @@ -4392,11 +4444,11 @@ msgstr "Desconocido" msgid "Total price for this order" msgstr "Precio total para este pedido" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "Moneda de pedido" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "Moneda para este pedido (dejar en blanco para utilizar el valor predeterminado de la empresa)" @@ -4408,492 +4460,496 @@ msgstr "El contacto no coincide con la empresa seleccionada" msgid "Order description (optional)" msgstr "Descripción del pedido (opcional)" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "Seleccione el código del proyecto para este pedido" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Enlace a Url externa" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Fecha esperada para la entrega del pedido. El pedido se retrasará después de esta fecha." -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "Creado por" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "Usuario o grupo responsable de este pedido" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "Punto de contacto para este pedido" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Referencia del pedido" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "Estado de la orden de compra" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "Compañía de la que se están encargando los artículos" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "Referencia del proveedor" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "Código de referencia de pedido del proveedor" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "recibido por" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "Fecha de emisión" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "Fecha de expedición del pedido" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "La fecha de pedido fue completada" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "El proveedor de la parte debe coincidir con el proveedor de PO" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "Empresa a la que se venden los artículos" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "Referencia del cliente " -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Fecha de envío" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "enviado por" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "El pedido no se puede completar porque no se han asignado partes" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "Sólo una orden abierta puede ser marcada como completa" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "El pedido no se puede completar porque hay envíos incompletos" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "El pedido no se puede completar porque hay artículos de línea incompletos" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "Cantidad del artículo" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "Referencia de línea en la orden" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "Notas del artículo de línea" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Fecha objetivo para este artículo de línea (dejar en blanco para usar la fecha de destino de la orden)" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "Descripción del artículo de línea (opcional)" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "Contexto" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "Contexto adicional para esta línea" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "Precio unitario" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "La parte del proveedor debe coincidir con el proveedor" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "eliminado" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "Orden" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "Parte del proveedor" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Recibido" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Precio de Compra" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "Precio de compra unitario" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "¿Dónde quiere el comprador almacenar este objeto?" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Una parte virtual no puede ser asignada a un pedido de venta" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Sólo las partes vendibles pueden ser asignadas a un pedido de venta" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Precio de Venta" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Precio de venta unitario" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Cantidad enviada" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Fecha de entrega" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "Fecha de entrega del envío" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "Revisado por" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "Envío" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "Número de envío" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Número de Seguimiento" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Información de seguimiento del envío" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Número de factura" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Número de referencia para la factura asociada" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "El envío ya ha sido enviado" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "El envío no tiene artículos de stock asignados" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "El artículo de stock no ha sido asignado" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "No se puede asignar el artículo de stock a una línea con una parte diferente" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "No se puede asignar stock a una línea sin una parte" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La cantidad de asignación no puede exceder la cantidad de stock" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "La orden de venta no coincide con el envío" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "El envío no coincide con el pedido de venta" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "Línea" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "Ítem" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "Seleccionar artículo de stock para asignar" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "Referencia de la orden de devolución" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "Compañía de la que se están devolviendo los artículos" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "Estado de la orden de devolución" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "Sólo los artículos serializados pueden ser asignados a una orden de devolución" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "Seleccionar el artículo a devolver del cliente" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "Fecha de recepción" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "La fecha en la que se recibió este artículo de devolución" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Resultado" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "Salida para este artículo de línea" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "Costo asociado con la devolución o reparación para este artículo de línea" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con artículos de línea incompletos" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "El pedido tiene artículos de línea incompletos" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "El pedido no está abierto" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "Debe especificar la parte del proveedor" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "La orden de compra debe especificarse" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "El proveedor debe coincidir con la orden de compra" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "Artículo en línea" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "La línea del artículo no coincide con la orden de compra" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Introduzca el código de lote para los artículos de almacén entrantes" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Introduzca números de serie para artículos de almacén entrantes" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "Código de barras escaneado" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "Código de barras en uso" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "Debe proporcionarse una cantidad entera para las partes rastreables" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "Se deben proporcionar artículos de línea" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "Se requiere ubicación de destino" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "Artículo en línea no está asociado con este pedido" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "Los siguientes números de serie ya están asignados" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "Artículo de línea de orden de devolución" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "El artículo de línea no coincide con la orden de devolución" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "El artículo de línea ya ha sido recibido" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "Moneda de precio de línea" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "Emitir pedido" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "Recibir artículos" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "Recibir artículos" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Marcar pedido como completado" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Completar pedido" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "Miniatura de la parte del proveedor" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Referencia del pedido" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Descripción del pedido" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "Estado del pedido" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "No hay información disponible sobre el proveedor" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "Artículos de línea completados" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "Incompleto" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Emitido" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "Costo total" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "No se ha podido calcular el costo total" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "Código QR de la orden de compra" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "Vincular código de barras a la orden de compra" @@ -5085,13 +5133,13 @@ msgstr "Duplicar selección" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Eliminar fila" @@ -5152,9 +5200,9 @@ msgstr "Comprar artículos de orden" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Añadir artículo de línea" @@ -5165,30 +5213,25 @@ msgstr "Añadir artículo de línea" msgid "Receive Line Items" msgstr "Recibir artículos de línea" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "Eliminar artículos de línea" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "Líneas Adicionales" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "Añadir línea adicional" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "Articulos Recibidos" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Notas del pedido" @@ -5208,29 +5251,29 @@ msgstr "Imprimir lista de empaquetado" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "Referencia del cliente" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "Costo Total" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "Devolver código QR del pedido" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "Enlazar código de barras al pedido de devolución" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "Enviar artículos" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "Ordenes de venta completas" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "Esta orden de venta no ha sido completamente asignada" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Envíos completados" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "Código QR del pedido de ventas" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "Enlazar código de barras al pedido de venta" @@ -5274,18 +5317,17 @@ msgstr "Enlazar código de barras al pedido de venta" msgid "Sales Order Items" msgstr "Artículos de Pedidos de Venta" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Envíos pendientes" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Acciones" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "Nuevo Envío" @@ -5311,12 +5353,12 @@ msgstr "Actualizado el precio unitario de {part} a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de Parte" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nombre de parte" @@ -5325,19 +5367,19 @@ msgstr "Nombre de parte" msgid "Part Description" msgstr "Descripción de parte" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "Revisión" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Palabras claves" @@ -5358,24 +5400,24 @@ msgstr "ID de ubicación predeterminada" msgid "Default Supplier ID" msgstr "ID de proveedor predeterminado" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Stock mínimo" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "En Stock" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "En pedido" @@ -5383,23 +5425,16 @@ msgstr "En pedido" msgid "Used In" msgstr "Usado en" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "Asignadas" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "En construcción" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Costo máximo" @@ -5416,13 +5451,13 @@ msgstr "Nombre del padre" msgid "Category Path" msgstr "Ruta de Categoría" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Partes" @@ -5439,7 +5474,7 @@ msgstr "ID de artículo de BOM" msgid "Parent IPN" msgstr "IPN del padre" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "IPN de la parte" @@ -5453,35 +5488,35 @@ msgstr "Precio mínimo" msgid "Maximum Price" msgstr "Precio máximo" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "Orden de compra entrante" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "Orden de venta saliente" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "Válido" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "Esta opción debe ser seleccionada" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Ubicación Predeterminada" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "Inventario Total" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "Stock Disponible" @@ -5499,916 +5534,913 @@ msgstr "Stock Disponible" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "Categorías de parte" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para partes de esta categoría" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "Estructural" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Las partes no pueden asignarse directamente a una categoría estructural, pero pueden asignarse a categorías hijas." -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "Palabras clave predeterminadas" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "Palabras clave por defecto para partes en esta categoría" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "Icono" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "Icono (opcional)" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "Opción no válida para la parte principal" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "La parte '{p1}' se utiliza en BOM para '{p2}' (recursivo)" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "El IPN debe coincidir con la expresión regular {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "Ya existe un artículo de almacén con este número de serie" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Categoría" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "Número de parte interna" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Proveedor por defecto" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "Parte de proveedor predeterminada" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "Usuario responsable de esta parte" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Fecha" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Informe" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "Ya existe una prueba con este nombre para esta parte" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Requerido" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "Datos" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "ID de parte o nombre de parte" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "Nivel" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "Nivel de BOM" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Item de Lista de Materiales" + +#: part/models.py:3808 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "Opcional" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "Consumible" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Validado" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Permitir variantes" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "Limpiar BOM Existente" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "Varios resultados encontrados" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "No se encontraron partes coincidentes" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "La parte no está designada como componente" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "Cantidad no proporcionada" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "Cantidad no válida" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "Se requiere al menos un artículo BOM" @@ -6421,9 +6453,9 @@ msgstr "Notificación por bajo stock" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "Cantidad Total" @@ -6461,14 +6493,6 @@ msgstr "El BOM para %(part)s fue revisado por última vez por %(checker msgid "The BOM for %(part)s has not been validated." msgstr "El BOM para %(part)s no ha sido validada." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "Acciones BOM" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "Eliminar artículos" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "Eliminar Categoría" msgid "Top level part category" msgstr "Categoría de partes de nivel superior" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Subcategorías" @@ -6518,33 +6542,20 @@ msgstr "Partes (incluyendo subcategorías)" msgid "Create new part" msgstr "Crear nueva parte" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "Nueva Parte" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "Opciones" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Definir categoría" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Definir Categoría" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Parámetros de Parte" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "Crear nueva categoría de partes" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Nueva Categoría" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Actualizar" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6604,101 +6615,101 @@ msgstr "Plantillas de prueba de parte" msgid "Add Test Template" msgstr "Añadir Plantilla de Prueba" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "Asignaciones de órdenes de venta" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "Notas de parte" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "Variantes de Parte" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "Crear nueva variante" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "Nueva Variante" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "Añadir nuevo parámetro" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Partes relacionadas" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "Añadir Relacionado" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Lista de Materiales" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "Exportar acciones" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "Exportar BOM" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "Imprimir informe BOM" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "Acciones BOM" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "Subir BOM" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "Validar BOM" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "Añadir artículo al BOM" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "Ensamblajes" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "Construcción de partes" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "Construir adjudicaciones de pedidos" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "Proveedores de partes" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "Fabricantes de partes" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "Eliminar partes del fabricante" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "Partes relacionadas" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "Añadir artículos relacionados" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "Añadir plantilla de resultados de prueba" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "Descargar plantilla de importación de parte" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "Formato" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "Seleccionar formato de archivo" @@ -6779,7 +6790,7 @@ msgstr "Contar stock de partes" msgid "Transfer part stock" msgstr "Transferir stock de partes" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "Acciones para partes" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "Inactivo" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "Puede construir" @@ -6858,8 +6869,8 @@ msgstr "Puede construir" msgid "Minimum stock level" msgstr "Nivel mínimo de stock" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "Código QR de Parte" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "parte" @@ -6956,9 +6967,9 @@ msgstr "Variantes" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Inventario" @@ -6989,9 +7000,9 @@ msgstr "Actualizar precio de partes" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "Última actualización" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "Sin Stock" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Bajo Stock" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Coincidencia encontrada para datos de códigos de barras" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "El código de barras coincide con artículo existente" @@ -7226,43 +7237,43 @@ msgstr "URL que se utiliza para enviar mensajes a un canal de slack" msgid "Open link" msgstr "Abrir enlace" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "Configuración del complemento" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "Configuraciones del Plug-in" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "Clave" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "Clave del complemento" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "Nombre del complemento" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "Está activo el complemento" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "Complemento de ejemplo" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "Complemento integrado" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Complemento" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "Método" @@ -7414,47 +7425,47 @@ msgstr "Crear filtros" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "Filtros de partes" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtros de búsqueda de partes (lista separada por comas de pares clave=valor" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "Filtros de búsqueda de orden de compra" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "Filtros de búsqueda de pedidos de ventas" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "Filtros de búsqueda de orden de devolución" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "Activo" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "Descripción del archivo de activos" @@ -7475,8 +7486,8 @@ msgstr "El proveedor ha sido eliminado" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "Precio Unitario" @@ -7488,23 +7499,23 @@ msgstr "Elementos de línea extra" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Número de serie" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "Resultados de la Prueba" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "Prueba" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "Elementos instalados" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "Serial" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "Fecha de Expiración" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "Ubicación de Stock" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "Ubicaciones de Stock" @@ -7670,8 +7681,8 @@ msgstr "Seleccionar Propietario" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Externo" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "Los números de serie deben ser una lista de enteros" msgid "Quantity does not match serial numbers" msgstr "La cantidad no coincide con los números de serie" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "Números de serie ya existen" @@ -7849,7 +7860,7 @@ msgstr "El artículo de stock está en producción" msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" @@ -7901,132 +7912,141 @@ msgstr "Adjunto de resultados de prueba" msgid "Test notes" msgstr "Notas de prueba" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "El número de serie es demasiado grande" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "Introduzca el número de artículos de stock para serializar" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "Introduzca números de serie para nuevos artículos" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "Ubicación de stock de destino" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "Campo de nota opcional" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "Los números de serie no se pueden asignar a esta parte" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "Añadir nota de transacción (opcional)" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" @@ -8034,48 +8054,48 @@ msgstr "Notas de transacción de stock" msgid "Stock Tracking Information" msgstr "Información de Seguimiento de Stock" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "Elementos de Stock Hijos" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "Este artículo de stock no tiene ningún artículo secundario" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "Datos de Prueba" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Informe de Prueba" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "Eliminar Datos de Prueba" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "Añadir Datos de Prueba" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "Notas del artículo de stock" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "Elementos de Stock instalados" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "Instalar artículo de stock" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "Añadir Resultado de Prueba" @@ -8083,13 +8103,13 @@ msgstr "Añadir Resultado de Prueba" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "Escanear a la ubicación" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "Acciones de impresión" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "Acciones de ajuste de stock" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "Contar stock" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "Añadir stock" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "Eliminar stock" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "Serializar stock" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "Transferir stock" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "Asignar a cliente" @@ -8159,6 +8182,11 @@ msgstr "Editar artículo de almacén" msgid "Delete stock item" msgstr "Eliminar artículo de stock" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Construcción o Armado" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Elemento padre" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "Cantidad disponible" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "Ubicación no establecida" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Este ítem expiró el %(item.expiry_date)s" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "Expirado" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Este ítem expira el %(item.expiry_date)s" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "Desactualizado" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "Ningún inventario realizado" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "Crear nueva ubicación de stock" msgid "New Location" msgstr "Nueva Ubicación" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "ubicación de almacén" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "El sitio está actualmente en mantenimiento y debería estar listo pront msgid "Index" msgstr "Índice" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "Partes Suscritas" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "Categorías Suscritas" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "Últimas Partes" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "Validación de BOM en espera" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "Actualizado Recientemente" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Stock Agotado" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Requerido para construir pedidos" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "Stock Caducado" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Stock Obsoleto" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "Pedidos en curso" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Órdenes de construcción atrasadas" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Órdenes de Compra Pendientes" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Pedidos de Compra Atrasados" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Pedidos de Venta Pendientes" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Pedidos de Venta Atrasados" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "Noticias de InvenTree" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "Noticias actuales" @@ -8672,29 +8700,29 @@ msgstr "Ajustes del complemento" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Cambiar la configuración de abajo requiere reiniciar inmediatamente el servidor. No lo cambie mientras esté en uso activo." -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "Complementos" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Instalar complemento" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Los complementos externos no están habilitados para esta instalación de InvenTree" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "Pila de error de complementos" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "Etapa" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Mensaje" @@ -8767,14 +8795,6 @@ msgstr "Hash de Commit" msgid "Commit Message" msgstr "Mensaje de Commit" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "Estado de Firma" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "Firma de clave" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "Ajustes de Orden de Compra" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "No hay plantillas de parámetros de categoría" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "Editar Plantilla" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "Eliminar Plantilla" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "Página de Inicio" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "Sin verificar" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "Principal" @@ -9204,44 +9225,48 @@ msgstr "Actualizado" msgid "Update Available" msgstr "Actualización Disponible" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "Documentación de InvenTree" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "Versión API" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Versión de Python" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Versión de Django" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "Ver código en GitHub" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "Créditos" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "Aplicación Móvil" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "Enviar Informe de Error" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "copiar al portapapeles" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "copiar información de versión" @@ -9435,14 +9460,6 @@ msgstr "Agregar Enlace" msgid "Add Attachment" msgstr "Añadir archivo adjunto" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "Identificador de Código de Barras" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "Las siguientes partes están bajas en stock requerido" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "Cantidad requerida" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "Haga clic en el siguiente enlace para ver esta parte" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "Cantidad Mínima" @@ -9573,23 +9590,35 @@ msgstr "Código de error" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "No se encontraron archivos adjuntos" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "Editar archivos adjuntos" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "Fecha de subida" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "Editar adjunto" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "Eliminar adjunto" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "Desvincular" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "Eliminar artículo de stock" @@ -9704,775 +9733,869 @@ msgstr "Comprobar en la ubicación" msgid "Barcode does not match a valid location" msgstr "El código de barras no coincide con una ubicación válida" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "Crear artículo para el BOM" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "Mostrar datos de fila" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "Datos de Fila" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Cerrar" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "Descargar plantilla BOM" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "Niveles" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "Seleccione el número máximo de niveles BOM a exportar (0 = todos los niveles)" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "Incluye partes alternativas" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "Incluye Parámetros de Datos" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "Incluye Datos de Stock" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "Incluye datos de stock de partes en BOM exportado" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "Incluir Datos del fabricante" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "Incluye datos del fabricante de partes en BOM exportado" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "Incluir Datos del Proveedor" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "Incluye datos del proveedor de partes en BOM exportado" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "Eliminar parte sustituta" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "Seleccione y añada una nueva parte sustituta usando la siguiente entrada" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "¿Está seguro que desea eliminar este enlace de la parte sustituta?" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "Eliminar parte sustituta" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "Añadir sustituto" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "Editar sustitutos de artículos BOM" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "Todos los artículos BOM seleccionados serán eliminados" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "¿Eliminar artículos BOM seleccionados?" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "Sustitutos Disponibles" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "Stock de variante permitido" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "Sustitutos" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "Validar Artículo para el BOM" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "Esta línea ha sido validada" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "Editar partes sustitutas" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "Editar Artículo de BOM" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "Eliminar Artículo de BOM" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "Ver BOM" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "No se encontraron artículos BOM" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "Parte requerida" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "Heredado de BOM superior" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "Editar Orden de Trabajo" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "Crear Orden de Trabajo" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "¿Estás seguro de que quieres cancelar esta construcción?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "El pedido de construcción está listo para ser completado" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "Orden de construcción incompleta" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "Completar Orden de Construcción" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "Siguiente número de serie disponible" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "Último número de serie" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "La ley de materiales contiene partes rastreables" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "Las salidas de construcción deben ser generadas individualmente" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "Las partes rastreables pueden tener números de serie especificados" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Introduzca números de serie para generar múltiples salidas de construcción única" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "Crear Salida de Trabajo" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "Asignar artículos de stock a esta salida de trabajo" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" -msgstr "Desasignar stock de la salida de trabajo" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" +msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "Completar salida de trabajo" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "Eliminar Salida de Trabajo" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" -msgstr "¿Está seguro que desea desasignar los artículos de stock de este trabajo?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" +msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" -msgstr "Desasignar artículos de stock" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" +msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "Seleccionar Salida de Trabajo" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "Se debe seleccionar al menos una salida de trabajo" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "Salida" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "Completar salidas de trabajo" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "Eliminar Salidas" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "No se encontraron asignaciones de órdenes de trabajo" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "Ubicación no especificada" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "Completar salidas" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "Eliminar salidas" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "No se encontraron salidas de trabajo activas" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "Editar asignación de stock" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "Eliminar asignación de stock" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "Editar Asignación" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "Quitar asignación" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "Partes sustitutas disponibles" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "Cantidad por" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "Stock de Trabajo" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "Pedido de stock" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "Asignar stock" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Seleccionar partes" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "Debe seleccionar al menos una parte para asignar" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Seleccionar ubicación de origen (dejar en blanco para tomar de todas las ubicaciones)" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "Asignar Artículos de Stock a Orden de Trabajo" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "No hay ubicaciones de stock coincidentes" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "No hay artículos de stock coincidentes" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "Asignar artículos de inventario" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "No hay trabajos que coincidan con la consulta" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "Seleccionar" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "Orden de trabajo atrasada" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "Progreso" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "No hay información de usuario" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "grupo" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" -msgstr "No se asignaron partes para" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" +msgstr "Editar asignación de stock" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "Eliminar asignación de stock" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "Editar Asignación" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "Quitar asignación" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "Parte Rastreable" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "Stock de Trabajo" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "Pedido de stock" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "Asignar stock" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "Agregar Fabricante" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "Añadir Parte del fabricante" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "Editar Parte del Fabricante" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "Añadir Proveedor" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "Añadir Parte de Proveedor" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "Se eliminarán todas las partes del proveedor seleccionadas" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "Eliminar partes de proveedor" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "Añadir nueva Empresa" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "Partes Suministradas" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "Partes Fabricadas" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "No se encontró información de la empresa" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "Crear nuevo contacto" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "Editar contacto" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "Todos los contactos seleccionados serán eliminados" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "Cargo" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "Eliminar contactos" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "No se encontró ningún contacto" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "Número de teléfono" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "Dirección de correo electrónico" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "Eliminar contacto" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "Se eliminarán todas las partes del fabricante seleccionadas" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "Eliminar Partes del Fabricante" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "Todos los parámetros seleccionados serán eliminados" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "Eliminar parámetros" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Partes de pedido" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "Eliminar partes del fabricante" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "No se encontraron partes del fabricante" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "Plantilla de parte" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "Parte ensamblada" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "No se encontraron parámetros" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "Editar parámetro" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "Eliminar parámetro" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "Editar parámetro" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "Eliminar parámetro" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Eliminar partes del proveedor" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "No se encontraron partes de proveedor" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "Unidades base" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "Disponibilidad" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "Editar proveedor" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "Eliminar ítem del proveedor" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "Eliminar precio de descuento" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "Editar precio de descuento" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "No se ha encontrado información de descuento de precios" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "Última actualización" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "Editar precio de descuento" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "Eliminar precio de descuento" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "verdadero" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "falso" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "Seleccionar filtro" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "Imprimir etiquetas" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "Imprimir informes" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "Descargar tabla de datos" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "Recargar tabla de datos" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "Añadir un nuevo filtro" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "Limpiar todos los filtros" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "Crear filtro" @@ -10497,6 +10620,12 @@ msgstr "Operación de eliminación no permitida" msgid "View operation not allowed" msgstr "Operación de visualización no permitida" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Eliminar" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "Mantener este formulario abierto" @@ -10514,23 +10643,23 @@ msgstr "Existen errores en el formulario" msgid "No results found" msgstr "No hay resultados" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "Buscando" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "Limpiar entrada" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "Columna de archivo" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "Nombre del campo" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "Seleccionar columnas" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "Seleccionar impresora" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "Identificación" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "Eliminar línea" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "No hay artículos de línea" @@ -10716,363 +10853,355 @@ msgstr "Editar línea" msgid "Delete line" msgstr "Eliminar línea" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "Atributos de Parte" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "Opciones de Creación de Parte" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "Opciones de Duplicación de Parte" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "Añadir Categoría de Parte" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "Categoría superior de parte" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "Crear Categoría de Parte" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "Categoría de partes creada" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "Editar Categoría de Parte" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "Mover a la categoría padre" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "Eliminar Categoría de Parte" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "Crear Parte" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "Parte creada con éxito" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "Editar Parte" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "Parte editada" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "Crear Variante de Parte" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "Parte activa" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "Eliminar parte" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "Estás suscrito a las notificaciones de este artículo" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "Te has suscrito a las notificaciones de este artículo" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "Suscríbete a las notificaciones de este artículo" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "Has cancelado la suscripción a las notificaciones de este artículo" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "Validar el BOM marcará cada artículo de línea como válido" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "Validar la Factura de Materiales" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "Validación de Lista de Materiales" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "Copiar Factura de Materiales" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "Stock bajo" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "Existencias no disponibles" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "Demanda" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "Unidad" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "Parte Rastreable" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "Parte virtual" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "Parte suscrita" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "Parte vendible" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "No se encontraron variantes" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "No se encontraron plantillas de parámetros de parte" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "Crear plantilla Parámetro de Parte" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "Eliminar Plantilla de Parámetros de Parte" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "No se encontraron órdenes de compra" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "Recibir ítem de línea" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "Eliminar relación de parte" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "Eliminar Relación de Parte" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "No se encontraron partes" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "partes" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "Sin categoría" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "Mostrar como lista" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "Mostrar como cuadrícula" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "Definir Categoría de Parte" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Definir categoría" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "partes" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "Sin categoría" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "Mostrar como lista" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" -msgstr "" +msgid "Display as grid" +msgstr "Mostrar como cuadrícula" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "Mostrar como árbol" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "Cargar subcategorías" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "Categoría suscrita" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "No hay plantillas de prueba que coincidan con la consulta" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Editar resultado de prueba" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Eliminar resultado de prueba" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "Esta prueba está definida para una parte principal" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "Editar plantilla de resultado de prueba" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "Eliminar plantilla de resultados de prueba" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "Sin fecha especificada" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "Especulativo" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "Cantidad máxima" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "No hay datos de variantes disponibles" msgid "Variant Part" msgstr "Parte variante" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "Duplicar artículos de línea" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "Duplicar líneas adicionales" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "Modificar orden de compra" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "Completar orden de compra" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "Marcar pedido como completado?" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "Este pedido tiene artículos de línea que no han sido marcados como recibidos." -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "Completar este pedido significa que los artículos de orden y línea ya no serán editables." -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "Cancelar orden de compra" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "Cantidad a ordenar" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "Nueva parte del proveedor" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "Nueva orden de compra" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "Añadir a la orden de compra" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "No hay partes de proveedor coincidentes" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "No hay órdenes de compra coincidentes" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "Seleccionar Artículos de Línea" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "Debe seleccionar al menos un artículo de línea" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "Cantidad recibida" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "Cantidad a recibir" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "Estado del Stock" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "Agregar código de barras" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "Eliminar código de barras" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "Especificar ubicación" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "Añadir código de lote" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "Añadir números de serie" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "Código de Pedido" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "Cantidad a recibir" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "Confirmar recepción de artículos" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "Recibir artículos de orden de compra" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "El pedido está vencido" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Artículos" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "Duplicar artículo de línea" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "Editar Ítem de Línea" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "Eliminar Ítemde Línea" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "Duplicar artículo de línea" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "Editar artículo de línea" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "Eliminar artículo de línea" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "Añadir Cliente" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "Cliente Inválido" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "Recibir artículos de pedido de devolución" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "No hay artículos de línea coincidentes" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "Marcar artículo como recibido" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "Crear Orden de Venta" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "Editar orden de venta" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "No se ha asignado ningún artículo de stock a este envío" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "Los siguientes artículos de stock serán enviados" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "Completar Envío" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "Confirmar Envío" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "No se encontraron envíos pendientes" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "No se ha asignado ningún artículo de almacén a los envíos pendientes" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "Completar Envíos" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "Omitir" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "Este pedido tiene artículos de línea que no han sido completados." -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "¿Emitir este pedido de venta?" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "Emitir orden de venta" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "Cancelar orden de venta" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Cancelar esta orden significa que la orden ya no será editable." -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "Crear Nuevo Envío" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "No se encontraron ventas" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "Editar envío" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "Completar envío" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "Eliminar envío" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "Editar envío" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "Eliminar Envío" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "No se encontraron envíos coincidentes" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "Referencia de Envío" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "No enviado" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "Seguimiento" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "Factura" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "Añadir envío" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "Confirmar asignación de stock" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "Asignar artículos de stock a pedido de venta" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "No se encontraron asignaciones de órdenes" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "Editar Asignación de Stock" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "Confirmar Operación de Eliminar" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "Eliminar Adjudicación de Stock" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "Enviado al cliente" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "Ubicación de stock no especificada" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "Asignar números de serie" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "Comprar stock" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "Calcular precio" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "No se puede eliminar ya que los artículos han sido enviados" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "No se puede eliminar ya que los artículos han sido asignados" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "Asignar Números de Serie" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "Actualizar precio unitario" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "Sin resultados" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "Ingresar consulta de búsqueda" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "resultado" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "resultados" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "Minimizar resultados" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "Eliminar resultados" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "Serializar Artículo de Stock" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "Confirmar Serialización de Stock" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "Ubicación del stock principal" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "Editar ubicación de stock" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "Nueva Ubicación de Stock" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "Crear otra ubicación después de ésta" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "Ubicación de inventario creada" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "¿Está seguro que desea eliminar esta ubicación?" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "Mover a la ubicación de inventario del padre" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "Eliminar ubicación de stock" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "Esta parte no se puede serializar" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "Introduzca la cantidad inicial para este artículo de stock" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Introduzca números de serie para el nuevo stock (o deje en blanco)" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "Duplicar artículo de stock" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "¿Está seguro que desea eliminar este artículo de stock?" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "Eliminar artículo de stock" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "Editar artículo de stock" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "Crear nuevo artículo de stock" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "Creados varios artículos de stock" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "Encontrar número serial" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "Introducir número de serie" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "Introducir un número de serie" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "Ningún número de serie coincidente" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "Más de un resultado encontrado" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "Confirmar asignación de stock" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "Asignar Stock al Cliente" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "Advertencia: La operación de fusión no puede ser revertida" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "Alguna información se perderá al combinar artículos de stock" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "Se eliminará el historial de transacciones de stock para artículos fusionados" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "La información de la parte del proveedor se eliminará para los artículos fusionados" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "Confirmar fusión de artículos de stock" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "Fusionar Artículos de Stock" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "Transferir Stock" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "Mover" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "Contar Stock" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "Contar" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "Eliminar Stock" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "Tomar" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "Añadir Stock" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "Añadir" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "Eliminar Stock" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "La cantidad no se puede ajustar para el stock serializado" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "Especificar cantidad de stock" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "Seleccionar artículos de stock" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" -msgstr "Debe seleccionar al menos un artículo de stock disponible" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" +msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "Confirmar ajuste de stock" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "PASA" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "FALLO" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "SIN RESULTADO" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "Pruebas pasadas" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "Añadir resultado de prueba" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "No se encontraron resultados de prueba" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "Fecha de Prueba" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "Editar Resultados de Prueba" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "Borrar Resultado de Prueba" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "En producción" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "Instalado en el artículo de stock" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "Asignado a la Orden de Venta" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "Ninguna ubicación de stock establecida" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "Fusionar stock" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "Eliminar existencias" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "El artículo de stock está en producción" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "Artículo de stock asignado al pedido de venta" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "Artículo de stock asignado al cliente" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "Se ha asignado un artículo de stock serializado" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "Artículo de stock ha sido completamente asignado" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "Artículo de stock ha sido asignado parcialmente" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "Artículo de stock ha sido instalado en otro artículo" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "Artículo de stock ha caducado" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "El artículo de stock caducará pronto" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "Artículo de stock ha sido rechazado" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "Artículo de stock perdido" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "Artículo de stock destruido" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Agotado" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "Parte del proveedor no especificada" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "No hay artículos de stock que coincidan con la consulta" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "Cargar sublocalidades" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "Detalles" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "Sin cambios" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "Información de la parte no disponible" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "Ubicación ya no existe" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "La orden de compra ya no existe" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "El pedido de venta ya no existe" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "El pedido de devolución ya no existe" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "El cliente ya no existe" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "Artículo de stock ya no existe" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "Añadido" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "Eliminado" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "Ningún artículo instalado" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "Desinstalar artículo de stock" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Los artículos de stock sólo pueden ser instalados si cumplen con los siguientes criterios" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "Seleccionar parte para instalar" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "Tiene código de proyecto" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "Estado del pedido" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "Pendiente" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "Asignado a mí" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "Parte Rastreable" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "Parte Ensamblada" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "Tiene stock disponible" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "Permitir stock de variante" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "Tiene precio" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "Incluir sub-ubicación" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "Incluir ubicaciones" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "Incluir subcategorías" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "Suscrito" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "Es Serializado" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "Número Serial GTE" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "Número de serie mayor o igual a" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "Número Serial LTE" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "Número de serie menor o igual que" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "Número de serie" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "Código de lote" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "Partes activas" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "Mostrar stock para las partes activas" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "Parte es un ensamblado" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "Está asignado" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "El artículo ha sido asignado" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "Stock disponible para uso" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "Incluye stock en sub-ubicaciones" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "Mostrar artículos de stock que están agotados" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "Mostrar artículos en stock" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "En Producción" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "Mostrar artículos que están en producción" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "Incluye Variantes" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "Incluye artículos de stock para partes de variantes" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "Instalado" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "Mostrar artículos de stock que están instalados en otro artículo" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "Mostrar artículos que han sido asignados a un cliente" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "Estado del stock" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "Tiene código de lote" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "Rastreado" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "Tiene precio de compra" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "Mostrar artículos de stock que tienen un precio de compra establecido" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "Fecha de vencimiento antes de" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "Fecha de vencimiento después" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "Mostrar artículos de stock que han caducado" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "Mostrar stock que está cerca de caducar" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "Prueba aprobada" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "Incluye artículos instalados" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "Estado de la construcción" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "Incluye partes en subcategorías" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "Mostrar partes activas" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "Existencias disponibles" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "Tiene unidades" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "Tiene IPN" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "La parte tiene un número de parte interno" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "En existencia" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "Comprable" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "Tiene entradas de inventario" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "Tiene opciones" @@ -12390,51 +12551,51 @@ msgstr "Exportar datos de tabla" msgid "Select File Format" msgstr "Seleccionar formato de archivo" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "Cargando datos" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "filas por página" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "Mostrar todas las filas" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "Mostrando" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "para" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "de" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "filas" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "No se encontraron resultados" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "Ocultar/Mostrar paginación" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "Alternar" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "Columnas" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "Todo" @@ -12617,50 +12778,6 @@ msgstr "Configuración de Email" msgid "Email settings not configured" msgstr "Configuración de correo no configurada" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "Acciones de código de barras" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "Opciones Stock" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "Añadir a los artículos de stock seleccionados" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "Eliminar de los artículos de stock seleccionados" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "Artículos de stock seleccionados" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "Mover artículos de stock seleccionados" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "Combinar artículos de stock seleccionados" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "Fusionar stock" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "Ordenar artículos seleccionados" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "Eliminar artículos seleccionados" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "Eliminar existencias" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "Sí" @@ -12693,35 +12810,35 @@ msgstr "Permisos" msgid "Important dates" msgstr "Fechas importantes" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "Permiso establecido" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Grupo" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Vista" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Permiso para ver artículos" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Permiso para añadir artículos" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "Cambiar" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Permisos para editar artículos" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Permiso para eliminar artículos" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index fcd5f93774..0a8805525b 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: 2023-06-05 11:04+0000\n" +"POT-Creation-Date: 2023-06-12 21:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,12 +53,12 @@ msgstr "" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3004 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -122,7 +122,7 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "" @@ -238,7 +238,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,10 +248,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -264,7 +264,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -278,10 +278,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3012 -#: part/models.py:3100 part/models.py:3179 part/models.py:3199 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 #: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 @@ -325,12 +325,12 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3399 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:78 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +347,8 @@ msgstr "" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3415 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3896 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2851 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +498,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:722 msgid "Czech" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:723 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:724 msgid "German" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:725 msgid "Greek" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:726 msgid "English" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:727 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:728 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:729 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:730 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:731 msgid "French" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:732 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:733 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:734 msgid "Italian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:735 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:736 msgid "Korean" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:737 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:738 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:739 msgid "Polish" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:740 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:741 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:742 msgid "Russian" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:743 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:744 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:745 msgid "Thai" msgstr "" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:746 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:747 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:748 msgid "Chinese" msgstr "" @@ -618,196 +618,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:511 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +858,7 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +890,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3797 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +921,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2864 part/models.py:2978 -#: part/models.py:3118 part/models.py:3137 part/models.py:3156 -#: part/models.py:3177 part/models.py:3269 part/models.py:3554 -#: part/models.py:3662 part/models.py:3762 part/models.py:4076 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1023,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1032,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1047,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "" @@ -1062,10 +1065,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 @@ -1120,9 +1123,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1142,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1168,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1189,10 +1192,10 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: build/templates/build/detail.html:34 common/models.py:2169 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2991 part/models.py:3778 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1282,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1300,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1308,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1349,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1422,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1438,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3685 -#: part/models.py:4068 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1459,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1476,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1640,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1677,8 +1680,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1730,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1969,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2127,7 +2130,7 @@ msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 #: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1323 common/models.py:1446 common/models.py:1688 msgid "days" msgstr "" @@ -2259,7 +2262,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3559 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 #: templates/js/translated/table_filters.js:680 msgid "Template" @@ -2269,7 +2272,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 #: templates/js/translated/table_filters.js:634 @@ -2280,7 +2283,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 #: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2292,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,7 +2300,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 #: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,7 +2309,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:684 @@ -2317,7 +2320,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:688 @@ -2768,547 +2771,539 @@ msgstr "" msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - #: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "" - -#: common/models.py:1628 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1622 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1629 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1630 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1637 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1638 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1645 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1646 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1653 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1654 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1661 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1662 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1668 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1669 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1675 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1676 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1685 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1686 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1703 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1722 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1744 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1745 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1751 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1752 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1758 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1759 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1765 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1766 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1772 msgid "Recent Part Count" msgstr "" -#: common/models.py:1780 +#: common/models.py:1773 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1786 +#: common/models.py:1779 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1793 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1801 +#: common/models.py:1794 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1807 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: common/models.py:2177 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2353 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 #: templates/js/translated/table_filters.js:434 @@ -3317,100 +3312,100 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2683 templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2729 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3420,7 +3415,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3532,7 +3527,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3642,7 +3637,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3648,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3406 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3672,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3720,7 +3715,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3800 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3724,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1918 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1918 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3758,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1920 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3854,8 +3849,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -4088,7 +4083,7 @@ msgstr "" #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 +#: templates/js/translated/stock.js:216 users/models.py:248 msgid "Delete" msgstr "" @@ -4346,7 +4341,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4350,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4368,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,188 +4377,188 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 @@ -4573,342 +4568,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5304,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3666 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3670 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5318,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5351,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5393,11 +5388,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2929 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2935 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5409,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5432,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3674 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5446,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5492,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3615 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3671 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3197 part/models.py:3614 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,249 +5599,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1920 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2852 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2869 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2870 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2875 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2876 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2881 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2894 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2899 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2900 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2905 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2906 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2911 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2912 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2917 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2918 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2923 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2924 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2930 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2942 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2947 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2948 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2953 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2954 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2959 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2960 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2979 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2984 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2985 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2992 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2996 part/models.py:3079 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5858,214 +5853,214 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2997 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3005 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3013 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3018 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3024 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3087 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3092 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3093 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3101 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3237 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3254 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3274 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3275 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3280 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3281 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3286 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3287 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3292 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3293 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3298 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3299 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3345 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3350 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3368 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3384 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1600 +#: part/models.py:3423 templates/js/translated/part.js:1600 #: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3510 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3554 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3559 part/models.py:3620 part/models.py:3621 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3564 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3564 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3625 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3626 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3663 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3675 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3678 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3763 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3771 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3778 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3782 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 @@ -6074,114 +6069,114 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3783 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3788 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3789 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3793 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3794 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3797 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3800 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3804 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3804 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3809 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3810 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3815 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3816 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3821 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3822 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3908 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3917 part/models.py:3919 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4035 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4056 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4069 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4077 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4092 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4096 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4096 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4118 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7515,12 +7510,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7619,27 +7614,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7798,104 +7793,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8670,29 +8665,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:68 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:77 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:79 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8765,14 +8760,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -9202,44 +9189,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -11845,7 +11836,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1005 users/models.py:244 msgid "Add" msgstr "" @@ -12691,34 +12682,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:231 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:239 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:242 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:242 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:244 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:246 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index cd76634ccc..ac75696eec 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -49,26 +49,26 @@ msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا msgid "Enter date" msgstr "تاریخ را وارد کنید" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "یادداشت" @@ -81,47 +81,51 @@ msgstr "مقدار '{name}' در قالب الگو ظاهر قرار نمی گی msgid "Provided value does not match required pattern: " msgstr "مقدار ارائه شده با الگوی مورد نیاز مطابقت ندارد: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "رمز عبور را وارد کنید" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "گذرواژه جدید را وارد کنید" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "تأیید کلمه‌ی عبور" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "گذرواژه جدید را تایید کنید" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "رمز عبور قدیمی" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "ایمیل (دوباره وارد کنید)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "تایید آدرس ایمیل" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "هر بار باید همان ایمیل را تایپ کنید." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "آدرس ایمیل اصلی ارائه شده معتبر نیست." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "دامنه ایمیل ارائه شده تایید نشده است." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "" @@ -239,7 +243,7 @@ msgstr "" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "" @@ -247,29 +251,30 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "" @@ -277,13 +282,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "" @@ -383,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -419,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "آدرس فایل تصویری از راه دور" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "" @@ -630,7 +636,7 @@ msgstr "" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" @@ -654,10 +660,10 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "" @@ -689,7 +695,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "" @@ -745,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "" @@ -765,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "" @@ -849,83 +855,111 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "مرجع سفارش فروش" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "منبع محل" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "مقصد" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index 1718b7e25e..a055974379 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -49,26 +49,26 @@ msgstr "Virheen tiedot löytyvät hallintapaneelista" msgid "Enter date" msgstr "Anna päivämäärä" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Merkinnät" @@ -81,47 +81,51 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Anna salasana" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Anna uusi salasana" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Vahvista salasana" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Vahvista uusi salasana" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Vanha salasana" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Sähköposti (uudelleen)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Sähköpostiosoitteen vahvistus" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Sinun täytyy kirjoittaa sama sähköposti joka kerta." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Annettu ensisijainen sähköpostiosoite ei kelpaa." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Annettu määrä on virheellinen" @@ -239,7 +243,7 @@ msgstr "Puuttuva ulkoinen linkki" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Liite" @@ -247,29 +251,30 @@ msgstr "Liite" msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Linkki" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Kommentti" @@ -277,13 +282,13 @@ msgstr "Kommentti" msgid "File comment" msgstr "Tiedoston kommentti" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Käyttäjä" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Kuvaus" @@ -383,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Polku" @@ -419,12 +425,12 @@ msgstr "Palvelinvirhe" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "Kuvatiedoston URL" msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "tšekki" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "tanska" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "saksa" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "kreikka" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "englanti" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "espanja" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "espanja (Meksiko)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "farsi / persia" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "suomi" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "ranska" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "heprea" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "unkari" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "italia" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "japani" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "korea" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "hollanti" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "norja" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "puola" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "portugali" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "portugali (Brasilia)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "venäjä" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "slovenia" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "ruotsi" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "thai" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "turkki" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "vietnam" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "kiina" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InvenTree järjestelmän terveystarkastukset epäonnistui" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Odottaa" @@ -630,7 +636,7 @@ msgstr "" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Valmis" @@ -654,10 +660,10 @@ msgstr "Palautettu" msgid "In Progress" msgstr "Kesken" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Lähetetty" @@ -689,7 +695,7 @@ msgstr "Asetettu karanteeniin" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Varastotuote luotu" @@ -745,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "" @@ -765,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "" @@ -849,83 +855,111 @@ msgstr "Salasanat eivät täsmää" msgid "Wrong password provided" msgstr "Virheellinen salasana" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Järjestelmän tiedot" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Tietoja InvenTree:stä" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Osa" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Varastotuote" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Määrä" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Varastotuote" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Sarjanumerot" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Sijainti" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Tila" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "Ei sallittu" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Myöhässä" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Valmis" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Valmis" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "Prioriteetti" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Valmis" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Liitteet" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "Päivitetty" msgid "Timestamp of last update" msgstr "Viimeisimmän päivityksen aikaleima" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Komponentti" @@ -2291,7 +2284,7 @@ msgstr "Komponentti" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Ostettavissa" @@ -2299,8 +2292,8 @@ msgstr "Ostettavissa" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Seurattavissa" @@ -2319,10 +2312,10 @@ msgstr "Seurattavissa" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "Salli salasananpalautus" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" -msgstr "Salli rekisteröinti" +msgid "Enable password forgot" +msgstr "Salli salasananpalautus" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 +msgid "Enable registration" +msgstr "Salli rekisteröinti" + +#: common/models.py:1550 +msgid "Enable self-registration for users on the login pages" +msgstr "" + +#: common/models.py:1556 msgid "Enable SSO" msgstr "Salli SSO" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "" - #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Hinta" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Aktiivinen" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "Isäntä" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Julkaisija" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "Kuvatiedosto" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Sivusto" @@ -3507,303 +3485,387 @@ msgstr "Sivusto" msgid "Company website URL" msgstr "Yrityksen sivuston URL" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Osoite" - -#: company/models.py:119 -msgid "Company address" -msgstr "Yrityksen osoite" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Puhelinnumero" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "Sähköposti" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Kontakti" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "on asiakas" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "on toimittaja" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "on valmistaja" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Yritys" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Valmistaja" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Valitse valmistaja" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Valmistajan osanumero" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Arvo" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Toimittaja" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "SKU" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "Valitse valmistajan osa" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Muistiinpano" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Saatavilla" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Muokkaa yrityksen tietoja" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Muokkaa yritystä" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Asiakas" @@ -3874,6 +3936,13 @@ msgstr "Asiakas" msgid "Uses default currency" msgstr "Käyttää oletusvaluuttaa" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Osoite" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Puhelin" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Poista" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "Asiakkaat" msgid "New Customer" msgstr "Uusi asiakas" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Yritykset" @@ -4269,72 +4317,76 @@ msgstr "Yritykset" msgid "New Company" msgstr "Uusi yritys" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Käytössä" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Leveys [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Korkeus [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Suodattimet" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "QR-koodi" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Hinta yhteensä" @@ -4361,30 +4413,30 @@ msgstr "Hinta yhteensä" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "Tilauksen valuutta" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Tilauksen viite" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Vastaanotettu" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Viivakoodi" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "Kokonaiskustannukset" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "Kokonaiskustannuksia ei voitu laskea" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Poista rivi" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Toiminnot" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Avainsanat" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "Oletus avainsanat" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "Kuvake" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Kategoria" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Päivämäärä" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Raportti" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "Poista kategoria" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "Luo uusi osa" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "Uusi osa" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "Valinnat" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Aseta kategoria" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Aseta kategoria" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "Avaa linkki" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "Avain" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Sarjanumero" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "Sarjanumero" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "Uusi sijainti" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "Vahvistamaton" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "Ensisijainen" @@ -9204,44 +9225,48 @@ msgstr "Ajantasalla" msgid "Update Available" msgstr "Päivitys saatavilla" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "InvenTree dokumentaatio" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "API-versio" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Python-versio" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Django-versio" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "Mobiilisovellus" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "kopioi leikepöydälle" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "kopioi versiotiedot" @@ -9435,14 +9460,6 @@ msgstr "Lisää linkki" msgid "Add Attachment" msgstr "Lisää liite" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "Poista valitut liitteet" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "Poista liitteet" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "Kaikki liitteet poistetaan" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "Poista liitteet" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "Liitteitä ei löytynyt" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "Muokkaa liitettä" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "Muokkaa liitettä" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "Poista liite" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Sulje" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "Valitse" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "Edistyminen" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "Lisää valmistaja" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "Lisää toimittaja" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "Lisää uusi yritys" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "Luo uusi yhteystieto" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "Muokkaa yhteystietoa" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "Poista yhteystiedot" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "Yhteystietoja ei löytynyt" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "Puhelinnumero" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "Sähköposti" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "Poista yhteystieto" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "Päivitetty viimeksi" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "tosi" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "epätosi" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "Valitse suodatin" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "Tulosta raportteja" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "Luo suodatin" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Poista" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "Tosi" msgid "False" msgstr "Epätosi" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "Valitse tulostin" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "Luo osa" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "Luo toinen osa tämän jälkeen" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "Osan luonti onnistui" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "Muokkaa osaa" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "Poista osa" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Aseta kategoria" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "Lisää sarjanumeroita" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "Sarjanumerot" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "Skannaa tuotteen viivakoodi" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "Lisää asiakas" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "Virheellinen asiakas" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "Lasku" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "Syötä sarjanumero" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "Syötä sarjanumero" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "Siirrä" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "Sarjanumero" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "Tuotannossa" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "Kaikki" @@ -12616,50 +12777,6 @@ msgstr "Sähköpostiasetukset" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "Siirrä valitut varastokohteet" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "Poista valitut kohteet" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "Kyllä" @@ -12692,35 +12809,35 @@ msgstr "Oikeudet" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Ryhmä" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Näytä" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Oikeus tarkastella kohteita" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Oikeus lisätä kohteita" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "Muuta" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Oikeus muokata kohteita" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index ed9b7d90d3..1e19dc89c9 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:26\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -49,26 +49,26 @@ msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'admin msgid "Enter date" msgstr "Entrer la date" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Notes" @@ -81,47 +81,51 @@ msgstr "La valeur '{name}' n'apparaît pas dans le format du modèle" msgid "Provided value does not match required pattern: " msgstr "La valeur fournie ne correspond pas au modèle requis : " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Entrer le mot de passe" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Entrer le nouveau mot de passe" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Confirmez le mot de passe" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Confirmer le nouveau mot de passe" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Ancien mot de passe" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (encore)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Confirmation de l'adresse email" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Vous devez taper le même e-mail à chaque fois." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "L'adresse e-mail principale fournie n'est pas valide." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Le domaine e-mail fourni n'est pas approuvé." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -239,7 +243,7 @@ msgstr "Lien externe manquant" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Pièce jointe" @@ -247,29 +251,30 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Lien" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Lien vers une url externe" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Commentaire" @@ -277,13 +282,13 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Utilisateur" @@ -324,53 +329,54 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Description" @@ -383,7 +389,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Chemin d'accès" @@ -419,12 +425,12 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URL du fichier image distant" msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Tchèque" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Danois" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Grec" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Espagnol" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Espagnol (Mexique)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Perse" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Français" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hébreu" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Hongrois" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italien" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japonais" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Coréen" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Néerlandais" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norvégien" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugais" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugais (Brésilien)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Russe" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Slovénien" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Suédois" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Thaïlandais" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamien" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Chinois" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Backend d'email non configuré" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Échec des contrôles de santé du système" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "En attente" @@ -630,7 +636,7 @@ msgstr "Placé" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Terminé" @@ -654,10 +660,10 @@ msgstr "Retourné" msgid "In Progress" msgstr "En Cours" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Expédié" @@ -689,7 +695,7 @@ msgstr "En quarantaine" msgid "Legacy stock tracking entry" msgstr "Ancienne entrée de suivi de stock" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Article en stock créé" @@ -745,7 +751,7 @@ msgstr "Séparer de l'élément parent" msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Articles de stock fusionnés" @@ -765,7 +771,7 @@ msgstr "Sortie de l'ordre de construction terminée" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Consommé par ordre de construction" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Envoyé au client" @@ -849,83 +855,111 @@ msgstr "Les mots de passe doivent correspondre" msgid "Wrong password provided" msgstr "Mot de passe incorrect" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Informations système" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "À propos d'InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Ordres de Fabrication" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Choix invalide pour la fabrication parente" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Référence" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Fabrication parente" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "BuildOrder associé a cette fabrication" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "BuildOrder associé a cette fabrication" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Pièce" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Sélectionnez la pièce à construire" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Bon de commande de référence" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Emplacement d'origine" -#: build/models.py:207 +#: build/models.py:211 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:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Emplacement cible" -#: build/models.py:216 +#: build/models.py:220 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:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Quantité a fabriquer" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Nombre de stock items à construire" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Articles terminés" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Nombre d'articles de stock qui ont été terminés" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "État de la construction" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Date d'achèvement cible" -#: build/models.py:258 +#: build/models.py:262 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:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Date d'achèvement" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "achevé par" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Émis par" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Responsable" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Utilisateur ou groupe responsable de cet ordre de construction" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Priorité de fabrication" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -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:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, 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:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "L'article de stock est suralloué" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "La quantité allouée doit être supérieure à zéro" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "La quantité doit être de 1 pour stock sérialisé" - -#: build/models.py:1360 -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:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Assemblage" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Construction à laquelle allouer des pièces" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Article en stock" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Stock d'origine de l'article" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Stock d'origine de l'article" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Quantité" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +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:1366 +#, 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:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "L'article de stock est suralloué" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "La quantité allouée doit être supérieure à zéro" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "La quantité doit être de 1 pour stock sérialisé" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Article en stock" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Stock d'origine de l'article" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Stock de destination de l'article" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:164 +#: build/serializers.py:172 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:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:261 +#: build/serializers.py:269 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:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:291 +#: build/serializers.py:299 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:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Emplacement" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "État" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:502 +#: build/serializers.py:510 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:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "Supprimer le stock alloué" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "Soustraire tout stock qui a déjà été alloué à cette construction" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "Supprimer toutes les sorties de construction qui n'ont pas été complétées" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Comment voulez-vous gérer les articles en stock supplémentaires assignés à l'ordre de construction" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:649 +#: build/serializers.py:657 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:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:665 +#: build/serializers.py:673 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:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Article du BOM" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "La sortie de la construction doit pointer vers la même construction" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part doit pointer sur la même pièce que l'ordre de construction" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "La sortie de construction doit être spécifiée pour l'allocation des pièces suivies" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "Cet article de stock a déjà été alloué à cette sortie de construction" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Emplacement de stock où les pièces doivent être fournies (laissez vide pour les prendre à partir de n'importe quel emplacement)" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Les articles de stock à plusieurs emplacements peuvent être utilisés de manière interchangeable" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Actions de code-barres" @@ -1618,69 +1668,67 @@ msgstr "Compléter l'assemblage" msgid "Build Description" msgstr "Description de la construction" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 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/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "L'ordre de construction est prêt à être marqué comme terminé" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "L'ordre de construction ne peut pas être achevé car il reste des outputs en suspens" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "Le nombre de constructions requis n'a pas encore été atteint" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 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:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Date Cible" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "Cette construction était due le %(target)s" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "En retard" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Terminé" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "Sorties de Construction terminées" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Terminé" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Commandes" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Émis par" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "Priorité" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Supprimer l'ordre de construction" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ 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:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Destination" @@ -1744,21 +1792,21 @@ msgstr "Pièces allouées" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Lot" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Créé le" @@ -1766,147 +1814,106 @@ msgstr "Créé le" msgid "No target date set" msgstr "Pas de date cible définie" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Terminé" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Compilation incomplète" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "Commandes de constructions filles" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Allouer le stock à la construction" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Désallouer le stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Désallouer le stock" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "Affecter automatiquement le stock à construire" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "Allouer automatiquement" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "Allouer manuellement le stock à construire" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Allouer le stock" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Commander les pièces requises" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Commander des pièces" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "Le stock non suivi a été entièrement alloué pour cet ordre de construction" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "Du stock non suivi n'a pas été entièrement alloué pour cet ordre de construction" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "Allouer les éléments sélectionnés" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Cet ordre de construction n'a aucun objet de BOM non suivi associé" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "Sorties de construction incomplètes" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "Créer une nouvelle sortie de construction" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "Nouvelle sortie de construction" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "Actions de sortie" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "Compléter les sorties de construction sélectionnées" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "Sortie complète" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "Supprimer les sorties de construction sélectionnées" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "Supprimer les sorties" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "Sorties de Construction terminées" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Pieces jointes" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Notes de construction" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "Allocation terminée" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "Tous les articles de stock non suivis ont été alloués" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" +msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Nouvel ordre de construction" @@ -1914,14 +1921,10 @@ msgstr "Nouvel ordre de construction" msgid "Build Order Details" msgstr "Détails de la commande de construction" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Sorties incomplètes" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "Sorties de Construction terminées" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "Mise à jour" msgid "Timestamp of last update" msgstr "Date de la dernière mise à jour" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "Copier les templates de paramètres de catégorie" 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:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Modèle" @@ -2271,10 +2264,10 @@ msgstr "Modèle" msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Assemblage" @@ -2282,8 +2275,8 @@ msgstr "Assemblage" 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:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Composant" @@ -2291,7 +2284,7 @@ msgstr "Composant" 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:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Achetable" @@ -2299,8 +2292,8 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Vendable" @@ -2308,10 +2301,10 @@ msgstr "Vendable" msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Traçable" @@ -2319,10 +2312,10 @@ msgstr "Traçable" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Virtuelle" @@ -2354,7 +2347,7 @@ msgstr "Stock initial" msgid "Allow creation of initial stock when adding a new part" msgstr "Permettre la création d'un stock initial lors de l'ajout d'une nouvelle pièce" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" @@ -2603,181 +2596,181 @@ msgid "Stock location default icon (empty means no icon)" msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)" #: common/models.py:1471 +msgid "Show Installed Stock Items" +msgstr "" + +#: common/models.py:1472 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1478 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Required pattern for generating Build Order reference field" msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Required pattern for generating Sales Order reference field" msgstr "Modèle requis pour générer le champ de référence du bon de commande" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Enable creation of default shipment with sales orders" msgstr "Activer la création d'expédition par défaut avec les bons de commandes" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modèle requis pour générer le champ de référence de bon de commande" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable self-registration for users on the login pages" msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activer l'auto-inscription via SSO pour les utilisateurs sur les pages de connexion" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "Email requis" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "Remplir automatiquement les détails de l'utilisateur à partir des données de compte SSO" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'inscription" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Vérifier que tous les plugins sont installés au démarrage - activer dans les environnements conteneurs" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "Vérifier les signatures du plugin" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "Vérifier et afficher les signatures des plugins" - #: common/models.py:1628 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Les rapports d'inventaire seront supprimés après le nombre de jours spécifié" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "Nombre de composants récents" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "Nombre de pièces récentes à afficher sur la page d'index" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Afficher les listes de matériaux non validées" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "Afficher les listes de matériaux en attente de validation sur la page d'accueil" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "Afficher les articles de stock récemment modifiés sur la page d'accueil" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "Compte de stock récent" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "Nombre d'éléments de stock récents à afficher sur la page d'index" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "Afficher les pièces en stock nécessaires pour les assemblages sur la page d'accueil" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "Afficher les pièces en stock expirées sur la page d'accueil" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "Afficher les articles de stock périmés sur la page d'accueil" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Afficher les étiquettes PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "Configurer quelle imprimante d'étiquette doit être sélectionnée par défaut" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "Afficher les pièces dans la fenêtre d'aperçu de la recherche" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "Afficher les pièces du fournisseur dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "Afficher les pièces du fabricant dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "Exclure les pièces inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "Afficher les catégories de pièces dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "Afficher les pièces en stock dans la fenêtre d'aperçu de la recherche" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "Exclure les articles en stock qui ne sont pas disponibles de la fenêtre de prévisualisation de recherche" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "Afficher les emplacements dans la fenêtre d'aperçu de la recherche" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "Afficher les commandes de construction dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "Exclure les commandes d’achat inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "Exclure les bons de commande inactifs de la fenêtre de prévisualisation de recherche" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "Nombre de résultats à afficher dans chaque section de la fenêtre de prévisualisation de recherche" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "La position de la barre de navigation est fixée en haut de l'écran" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite de longueur maximale pour les chaînes affichées dans les vues de la table" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Prix" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Actif" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "Jeton" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "ID message" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "Hôte" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "Entête" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "Corps" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "Id" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Auteur" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "Lu" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "Cette nouvelle a-t-elle été lue ?" msgid "Image" msgstr "Image" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "Description de la société" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Site web" @@ -3507,303 +3485,387 @@ msgstr "Site web" msgid "Company website URL" msgstr "Site Web de la société" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Adresse" - -#: company/models.py:119 -msgid "Company address" -msgstr "Adresse de l'entreprise" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Numéro de téléphone" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Numéro de téléphone de contact" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "E-mail" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contact" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Point de contact" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "est client" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "Vendez-vous des objets à cette entreprise?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "est fournisseur" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "Est-ce que vous achetez des articles à cette entreprise?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "est fabricant" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Devise par défaut utilisée pour cette entreprise" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Société" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Fabricant" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Pièces du fabricant" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Nom du paramètre" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Valeur" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Valeur du paramètre" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Unités" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Unités du paramètre" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "SKU" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "Sélectionner un fabricant" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "Lien de la pièce du fournisseur externe" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Note" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "coût de base" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Conditionnement" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "Conditionnement de l'article" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "Nombre de paquet" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "plusieurs" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Disponible" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "Quantité disponible auprès du fournisseur" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "Disponibilité mise à jour" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "Devise par défaut utilisée pour ce fournisseur" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Créer une commande d'achat" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Éditer les informations sur la société" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Editer la société" @@ -3856,17 +3918,17 @@ msgstr "Télécharger l'image depuis l'URL" msgid "Delete image" msgstr "Supprimer image" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Client" @@ -3874,6 +3936,13 @@ msgstr "Client" msgid "Uses default currency" msgstr "Utiliser la devise par défaut" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Adresse" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Téléphone" @@ -3906,7 +3975,7 @@ msgstr "Télécharger une image" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Pièce fournisseur" @@ -3916,129 +3985,121 @@ msgstr "Créer une nouvelle pièce fournisseur" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Nouvelle pièce fournisseur" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Commander des composants" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Supprimer la pièce" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Supprimer les pièces" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Pièces du fabricant" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Créer une nouvelle pièce de fabricant" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Nouvelle pièce de fabricant" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Stock fournisseur" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Commandes d'achat" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Créer une commande d'achat" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nouvelle commande achat" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Ventes" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Créer un nouvel ordre de vente" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Nouvelle commande de vente" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "Stock affecté" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Notes de l'entreprise" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Liste des Fournisseurs" @@ -4050,17 +4111,17 @@ msgstr "Fabricants" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Article de la commande" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "Modifier la pièce du fabricant" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "Supprimer la pièce de fabricant" @@ -4080,40 +4141,22 @@ msgstr "Aucune information sur le fabricant disponible" msgid "Suppliers" msgstr "Fournisseurs" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Supprimer les pièces du fournisseur" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Supprimer" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Paramètres" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Nouveau paramètre" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Supprimer les paramètres" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Ajouter un paramètre" @@ -4137,23 +4180,28 @@ msgstr "Articles en stock assignés" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Pièce fournisseur" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "Actions de la pièce du fournisseur" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "Commander un composant" @@ -4164,13 +4212,13 @@ msgstr "Disponibilité de la mise à jour" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "Modifier la pièce du fournisseur" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "Dupliquer la pièce du fournisseur" @@ -4197,7 +4245,7 @@ msgstr "Créer un nouvel article de stock" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nouvel article de stock" @@ -4205,37 +4253,37 @@ msgstr "Nouvel article de stock" msgid "Supplier Part Orders" msgstr "Commandes de pièces du fournisseur" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Information sur les prix" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "Ajouter un prix de rupture" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "Lier le code-barres à la pièce du fournisseur" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "Mettre à jour la disponibilité des pièces" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Éléments en stock" @@ -4261,7 +4309,7 @@ msgstr "Clients" msgid "New Customer" msgstr "Nouveaux Clients" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Entreprises" @@ -4269,72 +4317,76 @@ msgstr "Entreprises" msgid "New Company" msgstr "Nouvelle Entreprise" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Nom de l'étiquette" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Description de l’étiquette" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Étiquette" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "Fichier de modèle d'étiquette" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Activé" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "Le modèle d'étiquette est activé" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Largeur [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "Largeur de l'étiquette, spécifiée en mm" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Hauteur [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "Modèle pour la génération des noms de fichiers d'étiquette" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules)," -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Filtres" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparées par des virgules)" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Inconnu" @@ -4392,11 +4444,11 @@ msgstr "Inconnu" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Lien vers une page externe" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Date prévue pour la livraison de la commande. La commande sera en retard après cette date." -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "Créé par" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "Utilisateur ou groupe responsable de cette commande" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Référence de la commande" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "Statut de la commande d'achat" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "Société de laquelle les articles sont commandés" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "Référence du fournisseur" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "Code de référence de la commande fournisseur" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "reçu par" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Nom de l’expédition" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "expédié par" -#: order/models.py:857 +#: order/models.py:870 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:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 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:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "Nombre d'élement" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "Contexte" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "Prix unitaire" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "supprimé" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "Commande" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "Pièce fournisseur" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Reçu" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Prix d'achat" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "Prix d'achat unitaire" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "La pièce virtuelle ne peut pas être affectée à une commande" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Seules les pièces vendues peuvent être attribuées à une commande" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "Ligne" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "Article" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 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:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Code-barres" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:569 +#: order/serializers.py:575 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:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 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:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "Les numéros de série suivants sont déjà alloués" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "Recevoir objet" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "Réception d'articles" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Marquer la commande comme complète" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Finaliser la commande" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Référence de commande" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Description de la commande" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "Statut de la commande" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "Incomplet" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "Dupliquer la sélection" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Supprimer la ligne" @@ -5152,9 +5200,9 @@ msgstr "Articles de la commande d'achat" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Notes de commande" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Expéditions en attente" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "Révision" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "En Commande" @@ -5383,23 +5425,16 @@ msgstr "En Commande" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Composantes" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "Catégories de composants" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "L'IPN doit correspondre au modèle de regex {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Catégorie" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Date" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Requis" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "Données" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Article du BOM" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Validée" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "Supprimer l'élément" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "Supprimer la catégorie" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "Composantes (incluant sous-catégories)" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Nouvelle catégorie" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Actualiser" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "Prise d'inventaire" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "Fabricants de composants" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "Sélectionner un format de fichier" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Stock" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Correspondance trouvée pour les données du code-barres" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "Non du Plugin" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "Extension Intégrée" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Extension" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "Filtres de composants" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "Extrait " -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "Elément" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Numéro de série" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "Numéro de série" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "Sélectionner un propriétaire" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "Les numéros de série doivent être une liste de nombres entiers" msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 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:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Assemblage" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "Nouvelles d'InvenTree" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "Paramètres des Extensions" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "Extensions" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Les extensions tierces ne sont pas activées pour cette installation d'InvenTree" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "Hash du commit" msgid "Commit Message" msgstr "Message du commit" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "Statut de la signature" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "Clé de signature" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "Non vérifiée" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "Principale" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "Documentation d'InvenTree" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "Ajouter un lien" msgid "Add Attachment" msgstr "Ajouter une pièce jointe" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "Identifiant du code-barres" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "Quantité requise" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "Code d’erreur" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "Aucune pièce jointe trouvée" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "Modifier la pièce jointe" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "Date d'upload" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "Modifier la pièce jointe" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "Supprimer la pièce jointe" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "Délier" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "Supprimer l'article de stock" @@ -9704,775 +9733,869 @@ 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:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "Données de la rangée" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "Télécharger le template de la BOM" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "Niveaux" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 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:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "Inclure les données de paramètre" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "Inclure les données de stock" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "Êtes-vous sûr de vouloir annuler cette construction?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "Prochain numéro de série disponible" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "Dernier numéro de série" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "La BOM contient des pièces traçables" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "Les pièces traçables peuvent avoir des numéros de série spécifiés" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "Sortie complète" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "Supprimer les sorties" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "Commander des stocks" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "Pas d'informations sur l'utilisateur" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "Pièce traçable" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "Commander des stocks" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "Composantes fournies" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "Composantes fabriquées" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Commander des composants" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Supprimer les pièces du fournisseur" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Supprimer" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "Sélectionner imprimante" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "Attributs de la pièce" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "Options de création de pièce" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "Options de duplication de pièces" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "Ajouter une catégorie de pièce" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "Composant créé avec succès" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "Modifier la pièce" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "Pièce modifiée" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "Créer une variante de pièce" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "Stock bas" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "Pièce traçable" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "Pièce virtuelle" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "Pièce vendable" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "Aucune variante trouvée" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "Aucune pièce trouvée" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "Aucune catégorie" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "Afficher sous forme de liste" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "Afficher sous forme de grille" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "Aucune catégorie" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "Afficher sous forme de liste" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" -msgstr "" +msgid "Display as grid" +msgstr "Afficher sous forme de grille" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Modifier le résultat du test" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Supprimer le résultat du test" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "Référence de commande" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "Commande en retard" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "Livré au client" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "Acheter du stock" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "Calculer le prix" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "Trouver un numéro de série" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "Entrer le numéro de série" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "Entrer un numéro de série" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "Aucun numéro de série correspondant" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "Plus d'un résultat correspondant trouvé" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "Confirmer l'assignation de stock" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "Assigner le stock au client" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "Attention : l'opération de fusion est irréversible" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "Certaines informations seront perdues lors de la fusion des articles en stock" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "L'historique des transactions de stock sera supprimé pour les éléments fusionnés" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "Les informations sur la pièce du fournisseur seront supprimées pour les éléments fusionnés" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "Confirmer la fusion de l'article en stock" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "Fusionner les articles en stock" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "Transférer le stock" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "Transférer" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "Compter le stock" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "Compter" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "Supprimer du stock" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "Supprimer" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "Ajouter du stock" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "Ajouter" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "Supprimer le stock" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "Spécifiez la quantité du stock" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" -msgstr "Vous devez sélectionner au moins un article en stock disponible" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" +msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "RÉUSSI" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "ÉCHEC" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "AUCUN RÉSULTAT" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "Ajouter un résultat de test" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "Aucun résultat de test trouvé" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "Date du test" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "En production" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "Article en stock installé dans un autre article en stock" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "Assigné à une commande de vente" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "Aucun emplacement de stock défini" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "Fusionner le stock" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "L'article de stock est en production" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "L'article en stock a été assigné à une commande de vente" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "L'article en stock a été assigné à un client" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "L'article de stock sérialisé a été alloué" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "L'article de stock a été complètement alloué" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "L'article de stock a été partiellement alloué" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "L'article en stock a été installé dans un autre article" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "L'article en stock a expiré" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "L'article en stock va bientôt expirer" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "L'article de stock a été rejeté" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "L'article de stock est perdu" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "L'article de stock est détruit" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Epuisé" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "Pièce de fournisseur non précisée" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "Aucun article de stock ne correspond à la requête" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "Détails" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "L'emplacement n'existe plus" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "La commande d'achat n'existe plus" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "Le client n'existe plus" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "L'article de stock n'existe plus" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "Ajouté" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "Supprimé" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "État de la commande" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "En suspens" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "Assigné à moi" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "Pièce traçable" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "Inclure les sous-emplacements" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "Inclure les emplacements" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "Inclure les sous-catégories" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "A un numéro de série" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "Numéro de série PGE" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "Numéro de série supérieur ou égal à" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "Numéro de série PPE" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "Numéro de série inférieur ou égal à" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "Numéro de série" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "Code de lot" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "Pièces actives" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "Afficher le stock pour les pièces actives" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "La pièce est un assemblage" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "Est alloué" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "L'élément a été alloué" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "Le stock est disponible pour utilisation" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "Afficher les articles de stock qui sont installés dans un autre article" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "Afficher les articles qui ont été assignés à un client" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "État du stock" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "A un prix d'achat" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "Afficher les articles de stock qui ont un prix d'achat défini" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "Afficher les articles de stock qui ont expiré" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "Afficher le stock qui est proche de l'expiration" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "État de la construction" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "Inclure les pièces des sous-catégories" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "Afficher les pièces actives" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "La pièce a un numéro de pièce interne" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "Achetable" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "Chargement des données" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "résultats par page" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "Afficher toutes les lignes" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "Afficher" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "à" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "de" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "lignes" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "Aucun résultat correspondant n'a été trouvé" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "Masquer/Afficher la pagination" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "Colonnes" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "Tout" @@ -12616,50 +12777,6 @@ msgstr "Paramètres de Messagerie" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "Fusionner les éléments de stock sélectionnés" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "Fusionner le stock" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "Commander les éléments sélectionnés" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "Supprimer les éléments sélectionnés" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "Oui" @@ -12692,35 +12809,35 @@ msgstr "Droits" msgid "Important dates" msgstr "Dates importantes" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Groupe" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Vue" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "Modifier" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 59a6985d94..68fc033a1f 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -49,26 +49,26 @@ msgstr "" msgid "Enter date" msgstr "הזן תאריך סיום" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "" @@ -81,47 +81,51 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "הכנס סיסמה" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "הכנס סיסמה חדשה" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "אישור סיסמה" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "אשר סיסמה חדשה" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "אימייל (שנית)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "אישור כתובת אימייל" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "חובה לרשום את אותו אימייל בכל פעם." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "" @@ -239,7 +243,7 @@ msgstr "חסר קישור חיצוני" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "קובץ מצורף" @@ -247,29 +251,30 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "קישור" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "קישור חיצוני" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "הערה" @@ -277,13 +282,13 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "משתמש" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "שם" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "תיאור" @@ -383,7 +389,7 @@ msgid "parent" msgstr "מקור" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -419,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "גרמנית" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "יוונית" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "אנגלית" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "ספרדית" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "ספרדית (מקסיקנית)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "צרפתית" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "עברית" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "איטלקית" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "יפנית" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "קוריאנית" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "הולנדית" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "נורווגית" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "פולנית" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "רוסית" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "שוודית" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "תאילנדית" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "טורקית" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "ווייטנאמית" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "סינית" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "בהמתנה" @@ -630,7 +636,7 @@ msgstr "מוקם" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "הושלם" @@ -654,10 +660,10 @@ msgstr "הוחזר" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "נשלח" @@ -689,7 +695,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "" @@ -745,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "" @@ -765,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "נשלח ללקוח" @@ -849,83 +855,111 @@ msgstr "הסיסמאות מוכרחות להיות תואמות" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "מידע אודות המערכת" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "מקט" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "רכיב" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "בחר רכיב לבנייה" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "כמות בניה" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "כמות" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 2e0e8437ab..b17aa7082c 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -49,26 +49,26 @@ msgstr "A hiba részleteit megtalálod az admin panelen" msgid "Enter date" msgstr "Dátum megadása" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Megjegyzések" @@ -81,47 +81,51 @@ msgstr "A(z) '{name}' érték nem a szükséges minta szerinti" msgid "Provided value does not match required pattern: " msgstr "A megadott érték nem felel meg a szükséges mintának: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Jelszó megadása" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Új jelszó megadása" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Jelszó megerősítése" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Új jelszó megerősítése" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Régi jelszó" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (újra)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Email cím megerősítés" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Mindig ugyanazt az email címet kell beírni." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "A megadott elsődleges email cím nem valós." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "A megadott email domain nincs jóváhagyva." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Nem megfelelő mennyiség" @@ -239,7 +243,7 @@ msgstr "Hiányzó külső link" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Melléklet" @@ -247,29 +251,30 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link külső URL-re" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Megjegyzés" @@ -277,13 +282,13 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Felhasználó" @@ -324,53 +329,54 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Név" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Leírás" @@ -383,7 +389,7 @@ msgid "parent" msgstr "szülő" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Elérési út" @@ -419,12 +425,12 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "A távoli kép URL-je" msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Cseh" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Dán" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Német" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Görög" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Angol" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Spanyol (Mexikói)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Fárszi/Perzsa" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Francia" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Héber" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Magyar" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Olasz" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japán" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Koreai" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Holland" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norvég" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Lengyel" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugál" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugál (Brazíliai)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Orosz" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Szlovén" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Svéd" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Tháj" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Török" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnámi" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Kínai" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Email backend nincs beállítva" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InvenTree rendszer állapotának ellenőrzése sikertelen" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Függőben" @@ -630,7 +636,7 @@ msgstr "Kiküldve" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Kész" @@ -654,10 +660,10 @@ msgstr "Visszaküldve" msgid "In Progress" msgstr "Folyamatban" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Kiszállítva" @@ -689,7 +695,7 @@ msgstr "Karanténban" msgid "Legacy stock tracking entry" msgstr "Örökölt készlet követési bejegyzés" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Készlet tétel létrehozva" @@ -745,7 +751,7 @@ msgstr "Szülő tételből szétválasztva" msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Összevont készlet tétel" @@ -765,7 +771,7 @@ msgstr "Gyártási utasítás kimenete kész" msgid "Build order output rejected" msgstr "Gyártási utasítás kimenete visszautasítva" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Gyártásra felhasználva" @@ -781,7 +787,7 @@ msgstr "Megrendelésre érkezett" msgid "Returned against Return Order" msgstr "Visszavéve" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Vevőnek kiszállítva" @@ -849,83 +855,111 @@ msgstr "A jelszavaknak egyeznie kell" msgid "Wrong password provided" msgstr "Rossz jelszó lett megadva" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Rendszerinformáció" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Verzió információk" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "Fogyóeszköz" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "Opcionális" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "Követett" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "Lefoglalva" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Gyártási utasítás" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Gyártási utasítások" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Hibás választás a szülő gyártásra" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Azonosító" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "Gyártás rövid leírása (opcionális)" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Alkatrész" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Válassz alkatrészt a gyártáshoz" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Vevői rendelés azonosító" -#: build/models.py:198 +#: build/models.py:202 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:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Forrás hely" -#: build/models.py:207 +#: build/models.py:211 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:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Cél hely" -#: build/models.py:216 +#: build/models.py:220 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:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Gyártási mennyiség" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Gyártandó készlet tételek száma" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Kész tételek" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Elkészült készlet tételek száma" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Gyártási állapot" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Létrehozás dátuma" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Befejezés cél dátuma" -#: build/models.py:258 +#: build/models.py:262 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:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Elkészítés dátuma" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "elkészítette" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Kiállította" -#: build/models.py:276 +#: build/models.py:280 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:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Felelős" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Külső link" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Priorítás" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "Projektszám" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "A {build} gyártási utasítás elkészült" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:750 +#: build/models.py:759 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:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "A mennyiség nem lehet mint a gyártási mennyiség" -#: build/models.py:1272 -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:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, 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:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Készlet túlfoglalva" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" - -#: build/models.py:1303 -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:1360 -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:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Gyártás" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Gyártás amihez készletet foglaljunk" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Készlet tétel" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Forrás készlet tétel" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,316 +1200,368 @@ msgstr "Forrás készlet tétel" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +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:1366 +#, 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:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Készlet túlfoglalva" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" + +#: build/models.py:1388 +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:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Készlet tétel" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Forrás készlet tétel" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Cél készlet tétel" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:160 +#: build/serializers.py:168 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:164 +#: build/serializers.py:172 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:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:258 +#: build/serializers.py:266 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:261 +#: build/serializers.py:269 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:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:291 +#: build/serializers.py:299 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:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Hely" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "Selejtezett termékek lokációja" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "Foglalások törlése" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "Selejtezés oka(i)" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Állapot" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:502 +#: build/serializers.py:510 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:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "Lefoglalt készlet levonása" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "Az összes lefoglalt tétel levonása a készletről" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "Nem engedélyezett" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hogyan kezeljük az gyártáshoz rendelt egyéb készletet" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:649 +#: build/serializers.py:657 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:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:665 +#: build/serializers.py:673 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:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Alkatrészjegyzék tétel" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:732 +#: build/serializers.py:740 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:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 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:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:852 +#: build/serializers.py:859 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:859 +#: build/serializers.py:866 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:864 +#: build/serializers.py:871 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:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:943 +#: build/serializers.py:947 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:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:952 +#: build/serializers.py:956 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:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:958 +#: build/serializers.py:962 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:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" @@ -1541,6 +1590,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Vonalkód műveletek" @@ -1619,69 +1669,67 @@ msgstr "Gyártás befejezése" msgid "Build Description" msgstr "Gyártás leírása" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 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/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "Gyártási utasítás elkészültnek jelölhető" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Befejezetlen gyártási kimenetek vannak" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "Szükséges gyártási mennyiség még nincs meg" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "Még nincs lefoglalva a szükséges készlet" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Cél dátum" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "Ez a gyártás %(target)s-n volt esedékes" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Késésben" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Kész" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "Befejezett kimenetek" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1689,32 +1737,32 @@ msgstr "Kész" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Vevői rendelés" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Kiállította" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "Prioritás" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Gyártási utasítás törlése" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "Gyártási utasítás QR kódja" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "Vonalkód gyártáshoz rendelése" @@ -1730,8 +1778,8 @@ 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:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Cél" @@ -1745,21 +1793,21 @@ msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Batch" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Létrehozva" @@ -1767,147 +1815,106 @@ msgstr "Létrehozva" msgid "No target date set" msgstr "Nincs céldátum beállítva" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Kész" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Gyártás nincs kész" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "Alárendelt gyártások" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Készlet foglalása gyártáshoz" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Készlet felszabadítása" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Készlet felszabadítása" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "Automatikus készlet foglalás a gyártáshoz" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "Automata foglalás" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "Manuális készlet foglalás a gyártáshoz" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Készlet foglalása" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Szükséges alkatrészek rendelése" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Alkatrész rendelés" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "A teljes szükséges készlet le lett foglalva ehhez a gyártási utasításhoz" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "Nincs minden készlet lefoglalva ehhez a gyártási utasításhoz" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "Kiválasztott tételek lefoglalása" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Ez a gyártási utasítás egyáltalán nem tartalmaz nem követett alkatrészjegyzék tételt" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "Befejezetlen gyártási kimenetek" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "Új gyártási kimenet létrehozása" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "Új gyártási kimenet" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "Kimeneti műveletek" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "Kiválasztott gyártási kimenetek befejezése" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "Befejezett kimenetek" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "Kiválasztott gyártási kimenetek selejtezése" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "Gyártási kimenetek selejtezése" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "Kiválasztott gyártási kimenetek törlése" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "Kimenetek törlése" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "Elhasznált készlet" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "Befejezett gyártási kimenetek" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Mellékletek" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Gyártási megjegyzések" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "Lefoglalás kész" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "A szükséges készlet már mind le lett foglalva" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" +msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Új gyártási utasítás" @@ -1915,14 +1922,10 @@ msgstr "Új gyártási utasítás" msgid "Build Order Details" msgstr "Gyártási utasítás részletei" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Befejezetlen kimenetek" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "Befejezett kimenetek" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1969,16 +1972,6 @@ msgstr "Frissítve" msgid "Timestamp of last update" msgstr "Legutóbbi frissítés időpontja" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "Projektszám" - #: common/models.py:105 msgid "Unique project code" msgstr "Egyedi projektszám" @@ -2262,9 +2255,9 @@ msgstr "Kategória paraméter sablonok másolása" 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:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Sablon" @@ -2272,10 +2265,10 @@ msgstr "Sablon" msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Gyártmány" @@ -2283,8 +2276,8 @@ msgstr "Gyártmány" 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:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Összetevő" @@ -2292,7 +2285,7 @@ msgstr "Összetevő" 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:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Beszerezhető" @@ -2300,8 +2293,8 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Értékesíthető" @@ -2309,10 +2302,10 @@ msgstr "Értékesíthető" msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Követésre kötelezett" @@ -2320,10 +2313,10 @@ msgstr "Követésre kötelezett" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Virtuális" @@ -2355,7 +2348,7 @@ msgstr "Kezdeti készlet adatok" msgid "Allow creation of initial stock when adding a new part" msgstr "Kezdeti készlet létrehozása új alkatrész felvételekor" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" @@ -2604,181 +2597,181 @@ msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" #: common/models.py:1471 +msgid "Show Installed Stock Items" +msgstr "" + +#: common/models.py:1472 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1478 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Required pattern for generating Build Order reference field" msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Enable return order functionality in the user interface" msgstr "Visszavételi utasítások engedélyezése a felületen" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Return Order Reference Pattern" msgstr "Visszavételi utasítás azonosító minta" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Required pattern for generating Return Order reference field" msgstr "Szükséges minta a visszavételi utasítás azonosító mező előállításához" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavételi utasítás szerkesztése" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Allow editing of return orders after they have been completed" msgstr "Visszavételi utasítások szerkesztésének engedélyezése befejezés után" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Required pattern for generating Sales Order reference field" msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Enable creation of default shipment with sales orders" msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Required pattern for generating Purchase Order reference field" msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1543 +#: common/models.py:1550 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:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése SSO-n keresztül a bejelentkező oldalon" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1571 +#: common/models.py:1578 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:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1578 +#: common/models.py:1585 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:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1585 +#: common/models.py:1592 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:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Bejelentkezés korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1599 +#: common/models.py:1606 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:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "Plugin aláírások ellenőrzése" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "Pluginok aláírásainak ellenőrzése és megjelenítése" - #: common/models.py:1628 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" @@ -2851,7 +2844,7 @@ msgstr "Riport törlési gyakoriság" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Régi leltár riportok törlése hány naponta történjen" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny" @@ -2892,528 +2885,513 @@ msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "Legfrissebb alkatrész szám" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "Főoldalon megjelenítendő legújabb alkatrészek" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1787 +#: common/models.py:1780 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:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1794 +#: common/models.py:1787 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:1800 -msgid "Recent Stock Count" -msgstr "Legfrissebb készlet mennyiség" - -#: common/models.py:1801 -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:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1822 +#: common/models.py:1808 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:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1850 +#: common/models.py:1836 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:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1878 +#: common/models.py:1864 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:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1899 +#: common/models.py:1885 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:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1913 +#: common/models.py:1899 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:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1948 +#: common/models.py:1934 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:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1955 +#: common/models.py:1941 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:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "Gyártási utasítások megjelenítése a keresés előnézet ablakban" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1990 +#: common/models.py:1976 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:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:2004 +#: common/models.py:1990 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:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "Visszavételi utasítások keresése" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "Visszavételi utasítások megjelenítése a keresés előnézet ablakban" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételi utasítások kihagyása" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktív visszavételi utasítások kihagyása a keresési előnézet találataiból" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2032 +#: common/models.py:2018 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:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2053 +#: common/models.py:2039 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:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2060 +#: common/models.py:2046 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:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2067 +#: common/models.py:2053 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:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Ár" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Aktív" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "Token" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Titok" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "Fejléc" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "Törzs" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "Id" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Szerző" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3423,7 +3401,7 @@ msgstr "Elolvasva?" msgid "Image" msgstr "Kép" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "Képfájl" @@ -3500,7 +3478,7 @@ msgstr "A cég leírása" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Weboldal" @@ -3508,303 +3486,387 @@ msgstr "Weboldal" msgid "Company website URL" msgstr "Cég weboldala" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Cím" - -#: company/models.py:119 -msgid "Company address" -msgstr "Cég címe" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Telefonszám" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Kapcsolattartó telefonszáma" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "Email" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Kapcsolattartó email címe" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Névjegy" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Kapcsolattartó" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "vevő-e" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "Értékesítesz alkatrészeket ennek a cégnek?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "beszállító-e" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "Vásárolsz alkatrészeket ettől a cégtől?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "gyártó-e" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Gyárt ez a cég alkatrészeket?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Cég" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Gyártó" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "MPN" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Érték" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Mértékegység" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 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:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Beszállító" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "SKU" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "alap költség" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "többszörös" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Elérhető" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "Beszállítónál elérhető mennyiség" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "Elérhetőség frissítve" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "Beszállító által használt alapértelmezett pénznem" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Beszerzési rendelés létrehozása" @@ -3817,7 +3879,7 @@ msgid "Edit company information" msgstr "Cég adatainak szerkesztése" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Cég szerkesztése" @@ -3857,17 +3919,17 @@ msgstr "Kép letöltése URL-ről" msgid "Delete image" msgstr "Kép törlése" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Vevő" @@ -3875,6 +3937,13 @@ msgstr "Vevő" msgid "Uses default currency" msgstr "Alapértelmezett pénznemet használja" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Cím" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Telefonszám" @@ -3907,7 +3976,7 @@ msgstr "Kép letöltése" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Beszállítói alkatrészek" @@ -3917,129 +3986,121 @@ msgstr "Új beszállítói alkatrész létrehozása" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Új beszállítói alkatrész" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Alkatrész rendelés" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Alkatrész törlés" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Alkatrész törlés" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Gyártói alkatrészek" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Új gyártói alkatrész létrehozása" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Új gyártói alkatrész" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Beszállítói készlet" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Beszerzési rendelések" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Beszerzési rendelés létrehozása" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Új beszerzési rendelés" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Vevői rendelések" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Vevői rendelés létrehozása" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Új vevői rendelés" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "Hozzárendelt készlet" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "Visszavételi utasítások" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "Visszavételi utasítás létrehozása" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "Új visszavételi utasítás" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Cég megjegyzések" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "Cég névjegyek" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "Névjegy hozzáadása" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Beszállítók listája" @@ -4051,17 +4112,17 @@ msgstr "Gyártók" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Alkatrész rendelés" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "Gyártói alkatrész szerkesztése" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "Gyártói alkatrész törlése" @@ -4081,40 +4142,22 @@ msgstr "Nincs elérhető gyártói információ" msgid "Suppliers" msgstr "Beszállítók" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Beszállítói alkatrész törlése" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Törlés" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Paraméterek" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Új paraméter" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Paraméterek törlése" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Paraméter hozzáadása" @@ -4138,23 +4181,28 @@ msgstr "Hozzárendelt készlet tételek" msgid "Contacts" msgstr "Névjegyek" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Beszállítói alkatrész" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "Beszállítói alkatrész műveletek" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "Alkatrész rendelése" @@ -4165,13 +4213,13 @@ msgstr "Elérhetőség frissítése" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "Beszállítói alkatrész szerkesztése" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "Beszállítói alkatrész másolása" @@ -4198,7 +4246,7 @@ msgstr "Új készlet tétel létrehozása" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Új készlet tétel" @@ -4206,37 +4254,37 @@ msgstr "Új készlet tétel" msgid "Supplier Part Orders" msgstr "Beszállítói alkatrész rendelések" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Árinformációk" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "Ársáv hozzáadása" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "Beszállítói alkatrész QR kód" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Készlet tételek" @@ -4262,7 +4310,7 @@ msgstr "Vevők" msgid "New Customer" msgstr "Új vevő" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Cégek" @@ -4270,72 +4318,76 @@ msgstr "Cégek" msgid "New Company" msgstr "Új cég" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Címke neve" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Címke leírása" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Címke" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Engedélyezve" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "Címke sablon engedélyezve" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Szélesség [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "Címke szélessége, mm-ben" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Magasság [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Fájlnév minta" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "Minta a címke fájlnevek előállításához" -#: label/models.py:242 +#: label/models.py:250 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:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Szűrők" -#: label/models.py:283 +#: label/models.py:291 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:311 +#: label/models.py:319 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)" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4353,8 +4405,8 @@ msgstr "QR kód" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Teljes ár" @@ -4362,30 +4414,30 @@ msgstr "Teljes ár" msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "Visszavételi utasítás" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Ismeretlen" @@ -4393,11 +4445,11 @@ msgstr "Ismeretlen" msgid "Total price for this order" msgstr "A rendelés teljes ára" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "Megrendelés pénzneme" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "Megrendeléshez használt pénznem (hagyd üresen a cég alapértelmezett pénznemének használatához)" @@ -4409,492 +4461,496 @@ msgstr "A kapcsolattartó nem egyezik a kiválasztott céggel" msgid "Order description (optional)" msgstr "Rendelés leírása (opcionális)" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Link külső weboldalra" -#: order/models.py:241 +#: order/models.py:245 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:250 +#: order/models.py:254 msgid "Created By" msgstr "Készítette" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "Kapcsolattartó ehhez a rendeléshez" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Rendelés azonosító" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "Beszerzési rendelés állapota" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "Cég akitől a tételek beszerzésre kerülnek" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "Beszállítói azonosító" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "Beszállítói rendelés azonosító kód" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "érkeztette" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" -#: order/models.py:445 +#: order/models.py:458 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:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" -#: order/models.py:780 +#: order/models.py:793 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:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Kiszállítás dátuma" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "szállította" -#: order/models.py:857 +#: order/models.py:870 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:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "Csak nyitott rendelés jelölhető késznek" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "A rendelés nem jelölhető késznek mivel függő szállítmányok vannak" -#: order/models.py:867 +#: order/models.py:880 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:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "Tétel mennyiség" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "Sortétel azonosító" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "Sortétel megjegyzései" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum használatához)" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "Kontextus" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "További kontextus ehhez a sorhoz" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "Egységár" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "törölve" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "Rendelés" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "Beszállítói alkatrész" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Beérkezett" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Beszerzési ár" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "Beszerzési egységár" -#: order/models.py:1225 +#: order/models.py:1238 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:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Szállítás dátuma" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1592 +#: order/models.py:1605 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:1594 +#: order/models.py:1607 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:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 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:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "Sor" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "Tétel" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "Visszavételi utasítás azonosító" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "Visszavételi utasítás állapota" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "Csak szériaszámos tételek rendelhetők visszaszállítási utasításhoz" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "Visszavételi dátum" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "Rendelés lezárása teljesítetlen sortételek esetén is" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:433 +#: order/serializers.py:439 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:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "Sortétel nem egyezik a beszerzési megrendeléssel" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Vonalkód" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "Beolvasott vonalkód" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:569 +#: order/serializers.py:575 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:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "A következő sorozatszámok már ki lettek osztva" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "Visszavételi utasítás sortétel" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavételi utasítással" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "Csak folyamatban lévő megrendelés tételeit lehet bevételezni" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "Sortétel pénzneme" @@ -4958,82 +5014,74 @@ msgid "Issue Order" msgstr "Rendelés kiküldése" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "Érkezett tételek bevételezése" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "Bevételezés" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Rendelés teljesítettnek jelölése" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Rendelés befejezése" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Rendelés azonosítója" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Rendelés leírása" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "Rendelés állapota" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "Nincs elérhető beszállítói információ" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "Kész sortételek" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "Hiányos" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Kiküldve" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "Teljes költség" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "A teljes költség nem számolható" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "Beszerzési rendelés QR kódja" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "Vonalkód hozzáadása a beszerzési rendeléshez" @@ -5086,13 +5134,13 @@ msgstr "Kijelöltek másolása" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Sor törlése" @@ -5153,9 +5201,9 @@ msgstr "Beszerzési rendelés tételei" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Sortétel hozzáadása" @@ -5166,30 +5214,25 @@ msgstr "Sortétel hozzáadása" msgid "Receive Line Items" msgstr "Sortételek bevételezése" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "Sortételek törlése" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "Egyéb tételek" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "Egyéb tétel hozzáadása" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "Érkezett tételek" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Rendelés megjegyzések" @@ -5209,29 +5252,29 @@ msgstr "Csomagolási lista nyomtatása" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "Vevői azonosító" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "Teljes költség" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "Visszavételi utasítás QR kódja" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "Vonalkód visszavételi utasításhoz rendelése" @@ -5249,7 +5292,7 @@ msgid "Ship Items" msgstr "Tételek kiszállítása" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "Vevői rendelés befejezése, minden kiszállítva" @@ -5258,16 +5301,16 @@ 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:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Kész szállítmányok" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "Vevő rendelés QR kódja" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "Vonalkód hozzáadása a vevői rendeléshez" @@ -5275,18 +5318,17 @@ msgstr "Vonalkód hozzáadása a vevői rendeléshez" msgid "Sales Order Items" msgstr "Vevői rendelés tételek" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Függő szállítmányok" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Műveletek" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "Új szállítmány" @@ -5312,12 +5354,12 @@ msgstr "A {part} egységára {price}-ra módosítva" 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/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Alkatrész neve" @@ -5326,19 +5368,19 @@ msgstr "Alkatrész neve" msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "Változat" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Kulcsszavak" @@ -5359,24 +5401,24 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimális készlet" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "Készleten" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "Rendelve" @@ -5384,23 +5426,16 @@ msgstr "Rendelve" msgid "Used In" msgstr "Felhasználva ebben" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "Lefoglalva" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "Gyártásban" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Maximum költség" @@ -5417,13 +5452,13 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Alkatrészek" @@ -5440,7 +5475,7 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "Alkatrész IPN" @@ -5454,35 +5489,35 @@ msgstr "Minimum ár" msgid "Maximum Price" msgstr "Maximum ár" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "Beérkező beszerzési rendelés" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "Kimenő vevői rendelés" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "Gyártással előállított készlet" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "A gyártási utasításhoz szükséges készlet" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "Érvényes" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -5492,7 +5527,7 @@ msgid "Total Stock" msgstr "Teljes készlet" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "Elérhető készlet" @@ -5500,916 +5535,913 @@ msgstr "Elérhető készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "Alkatrész kategóriák" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "Szerkezeti" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz." -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "Alapértelmezett kulcsszavak" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "Ikon" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "Ikon (opcionális)" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, 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:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN mezőnek egyeznie kell a '{pat}' mintával" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:876 +#: part/models.py:877 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:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Kategória" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:895 +#: part/models.py:896 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:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:975 +#: part/models.py:976 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:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:997 +#: part/models.py:998 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:1003 +#: part/models.py:1004 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:1009 +#: part/models.py:1010 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:1014 +#: part/models.py:1015 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:1019 +#: part/models.py:1020 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:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1029 +#: part/models.py:1030 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:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "Felhasználó aki felelős ezért az alkatrészért" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Dátum" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Riport" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3238 +#: part/models.py:3272 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:3255 +#: part/models.py:3289 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:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Kötelező" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3294 +#: part/models.py:3328 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:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3300 +#: part/models.py:3334 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:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "Adat" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "Szint" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Alkatrészjegyzék tétel" + +#: part/models.py:3808 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "Opcionális" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "Fogyóeszköz" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:3795 +#: part/models.py:3839 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:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:3817 +#: part/models.py:3861 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:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:3823 +#: part/models.py:3867 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:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 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:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4057 +#: part/models.py:4101 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:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Add meg a kezdeti készlet mennyiséget. Ha nulla akkor nem lesz készlet létrehozva." -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "Válassz beszállítót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" @@ -6422,9 +6454,9 @@ msgstr "Alacsony készlet értesítés" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "Teljes mennyiség" @@ -6462,14 +6494,6 @@ msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzéket utoljár msgid "The BOM for %(part)s has not been validated." msgstr "A %(part)s alkatrészhez tartozó alkatrészjegyzék még nincs jóváhagyva." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "Alkatrészjegyzék műveletek" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "Tételek törlése" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "Alkatrész kategória leltározása" @@ -6506,7 +6530,7 @@ msgstr "Kategória törlése" msgid "Top level part category" msgstr "Legfelső szintű alkatrész kategória" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alkategóriák" @@ -6519,33 +6543,20 @@ 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:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "Új alkatrész" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "Opciók" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Kategória beállítása" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Kategória beállítása" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Alkatrész paraméterek" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "Alkatrész kategória létrehozása" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Új kategória" @@ -6582,7 +6593,7 @@ msgid "Refresh scheduling data" msgstr "Ütemezési adatok frissítése" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Frissítés" @@ -6593,7 +6604,7 @@ msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "Leltár" @@ -6605,101 +6616,101 @@ msgstr "Alkatrész teszt sablonok" msgid "Add Test Template" msgstr "Teszt sablon hozzáadása" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "Vevői rendeléshez foglalások" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "Alkatrész megjegyzések" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "Alkatrész változatok" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "Új változat létrehozása" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "Új változat" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "Paraméter hozzáadása" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Kapcsolódó alkatrészek" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "Kapcsolódó hozzáadása" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Alkatrészjegyzék" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "Exportálási műveletek" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "Alkatrészjegyzék exportálása" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "Alkatrészjegyzék riport nyomtatása" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "Alkatrészjegyzék műveletek" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "Alkatrészjegyzék feltöltése" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "Alkatrészjegyzék jóváhagyása" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "Alkatrészjegyzék tétel hozzáadása" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "Gyártmányok" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "Alkatrész gyártások" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "Gyártáshoz foglalások" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "Alkatrész beszállítók" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "Alkatrész gyártók" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "Gyártói alkatrészek törlése" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "Kapcsolódó alkatrész" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "Kapcsolódó alkatrész hozzáadása" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "Teszt eredmény sablon hozzáadása" @@ -6733,13 +6744,13 @@ msgid "Download Part Import Template" msgstr "Alkatrész import sablon letöltése" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "Formátum" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "Fájlfomátum kiválasztása" @@ -6780,7 +6791,7 @@ msgstr "Készlet számolása" msgid "Transfer part stock" msgstr "Készlet áthelyezése" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "Készlet műveletek" @@ -6825,10 +6836,10 @@ msgid "Part is not active" msgstr "Az alkatrész nem aktív" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "Inaktív" @@ -6851,7 +6862,7 @@ msgstr "Gyártáshoz lefoglalva" msgid "Allocated to Sales Orders" msgstr "Vevő rendeléshez lefoglalva" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "Gyártható" @@ -6859,8 +6870,8 @@ msgstr "Gyártható" msgid "Minimum stock level" msgstr "Minimális készlet" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6883,7 +6894,7 @@ msgstr "Alkatrész QR kódja" msgid "Link Barcode to Part" msgstr "Vonalkód hozzárendelése az alkatrészhez" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "alkatrész" @@ -6957,9 +6968,9 @@ msgstr "Változatok" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -6990,9 +7001,9 @@ msgstr "Árazás frissítése" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -7055,12 +7066,12 @@ msgstr "Eladási ár" msgid "Add Sell Price Break" msgstr "Eladási ársáv hozzáadása" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "Nincs készlet" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Alacsony készlet" @@ -7164,7 +7175,7 @@ msgid "Match found for barcode data" msgstr "Egyezés vonalkódra" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "Ez a vonalkód már egy másik tételé" @@ -7227,43 +7238,43 @@ msgstr "URL az üzenetek küldéséhez egy a slack channel-re" msgid "Open link" msgstr "Link megnyitása" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "Plugin beállítás" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "Plugin beállítások" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "Kulcs" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "Plugin kulcsa" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "PluginNeve a pluginnak" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "Aktív-e a plugin" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "Példa plugin" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "Beépített plugin" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "Módszer" @@ -7415,47 +7426,47 @@ msgstr "Gyártás szűrők" 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:418 +#: report/models.py:420 msgid "Part Filters" msgstr "Alkatrész szűrők" -#: report/models.py:419 +#: report/models.py:421 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:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "Megrendelés lekérdezés szűrők" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "Vevő rendelés lekérdezés szűrők" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "Visszavételi utasítás lekérdezés szűrők" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "Részlet" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "Eszköz" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "Asset fájl leírása" @@ -7476,8 +7487,8 @@ msgstr "Beszállító törölve lett" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "Egységár" @@ -7489,23 +7500,23 @@ msgstr "Egyéb tételek" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "Összesen" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Sorozatszám" @@ -7518,7 +7529,7 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "Teszt" @@ -7549,8 +7560,8 @@ msgid "Installed Items" msgstr "Beépített tételek" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "Sorozatszám" @@ -7618,31 +7629,31 @@ msgstr "Törlés ha kimerül" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "Lejárati dátum" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 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" @@ -7653,7 +7664,7 @@ msgid "Stock Location" msgstr "Készlet hely" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "Készlethelyek" @@ -7671,8 +7682,8 @@ msgstr "Tulajdonos kiválasztása" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Külső" @@ -7688,7 +7699,7 @@ msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak it msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" @@ -7822,7 +7833,7 @@ msgstr "A sorozatszám egész számok listája kell legyen" msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" @@ -7850,7 +7861,7 @@ msgstr "Készlet tétel gyártás alatt" msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" @@ -7902,132 +7913,141 @@ msgstr "Teszt eredmény melléklet" msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "Szériaszám túl nagy" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 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:319 +#: stock/serializers.py:385 #, 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:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "Készlet tétel nem elérhető" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "Cél hely a kiszedett tételeknek" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "Készlet tétel nem elérhető" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "Cél hely a kiszedett tételeknek" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 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:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 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:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" @@ -8035,48 +8055,48 @@ msgstr "Készlet tranzakció megjegyzései" msgid "Stock Tracking Information" msgstr "Készlettörténeti információk" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "Al-készlet tételek" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "Ez a készlet tétel nem tartalmaz egy altételt sem" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "Teszt adatok" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Teszt riport" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "Teszt adatok törlése" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "Teszt adatok hozzáadása" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "Készlet tétel megjegyzések" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "Készlet tétel összes teszt eredményének törlése" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -8084,13 +8104,13 @@ msgstr "Teszt eredmény hozzáadása" msgid "Locate stock item" msgstr "Készlet tétel keresése" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "Áthelyezés kódolvasással" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "Nyomtatási műveletek" @@ -8099,15 +8119,17 @@ msgid "Stock adjustment actions" msgstr "Készlet módosítási műveletek" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "Leltározás" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "Készlet növelése" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "Készlet csökkentése" @@ -8116,11 +8138,12 @@ msgid "Serialize stock" msgstr "Sorozatszámok előállítása" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "Készlet áthelyezése" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "Vevőhöz rendelése" @@ -8160,6 +8183,11 @@ msgstr "Készlet tétel szerkesztése" msgid "Delete stock item" msgstr "Készlet tétel törlése" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Gyártás" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Szülő tétel" @@ -8222,7 +8250,7 @@ msgid "Available Quantity" msgstr "Elérhető mennyiség" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "Nincs beállítva hely" @@ -8240,7 +8268,7 @@ 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:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "Lejárt" @@ -8250,7 +8278,7 @@ 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:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "Állott" @@ -8259,7 +8287,7 @@ msgid "No stocktake performed" msgstr "Még nem volt leltározva" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "készlet tétel" @@ -8365,20 +8393,20 @@ msgstr "Új készlet hely létrehozása" msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "készlet hely" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "Készlet tároló bevételezve erre a helyre" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "Készlet hely QR kódja" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "Vonalkód hozzárendelése a készlet helyhez" @@ -8452,71 +8480,71 @@ msgstr "Az oldal jelenleg karbantartás alatt van, hamarosan újra használható msgid "Index" msgstr "Index" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "Értesítésre beállított alkatrészek" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "Értesítésre beállított kategóriák" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "Legújabb alkatrészek" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "Jóváhagyásra váró alkatrészjegyzék" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "Nemrég frissítve" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Kimerült készlet" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Gyártáshoz szükséges" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "Lejárt készlet" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Állott készlet" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "Folyamatban lévő gyártások" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Késésben lévő gyártások" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Kintlévő beszerzési rendelések" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Késésben lévő beszerzések" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Függő vevői rendelések" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Késésben lévő vevői rendelések" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "InvenTree hírek" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "Jelenlegi hírek" @@ -8673,29 +8701,29 @@ msgstr "Plugin beállítások" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Az alábbi beállítások módosításához a kiszolgáló azonnali újraindítása szükséges. Aktív használat közben ne változtass ezeken." -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "Pluginok" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Plugin Telepítése" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Külső pluginok nincsenek engedélyezve" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "Plugin hibatároló" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "Szakasz" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Üzenet" @@ -8768,14 +8796,6 @@ msgstr "Commit hash" msgid "Commit Message" msgstr "Commit üzenet" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "Aláírás státusza" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "Aláíró kulcs" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "Beszerzési rendelés beállításai" @@ -8871,12 +8891,12 @@ msgid "No category parameter templates found" msgstr "Nincs kategória paraméter sablon" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "Sablon szerkesztése" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "Sablon törlése" @@ -8914,7 +8934,7 @@ msgid "Home Page" msgstr "Főoldal" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8991,6 +9011,7 @@ msgid "Unverified" msgstr "Nem ellenőrzött" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "Elsődleges" @@ -9205,44 +9226,48 @@ msgstr "Naprakész" msgid "Update Available" msgstr "Frissítés elérhető" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "Inventree dokumentáció" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "API verzió" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Python verzió" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Django verzió" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "Megtekintés a GitHubon" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "Közreműködők" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "Mobil alkalmazás" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "Hibabejelentés küldése" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "vágólapra másolás" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "verzió információk másolása" @@ -9436,14 +9461,6 @@ msgstr "Link hozzáadása" msgid "Add Attachment" msgstr "Melléklet hozzáadása" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "Kiválasztott mellékletek törlése" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "Mellékletek törlése" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "Vonalkód azonosító" @@ -9488,7 +9505,7 @@ 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:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -9502,7 +9519,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -9574,23 +9591,35 @@ msgstr "Hiba kód" msgid "All selected attachments will be deleted" msgstr "Az összes kijelölt melléklet törlésre kerül" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "Mellékletek törlése" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "Nem találhatók mellékletek" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "Melléklet szerkesztése" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "Feltöltés dátuma" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "Melléklet szerkesztése" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "Melléklet törlése" @@ -9647,7 +9676,7 @@ msgstr "Ez törli a vonalkód hozzárendelést" msgid "Unlink" msgstr "Leválasztás" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "Készlet tétel törlése" @@ -9705,775 +9734,869 @@ 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:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "Alkatrészjegyzék tétel létrehozása" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "Sor adatok mutatása" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "Sor adat" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Bezárás" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "Alkarészjegyzék sablon letöltése" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "Többszintű alkatrészjegyzék" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "Alszerelvények alkatrészlistáinak felhasználása" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "Szintek" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 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:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "Alternatív alkatrészekkel együtt" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "Alternatív alkatrészek megjelenítése az exportált alkatrészjegyzékben" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "Paraméter adattal együtt" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 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:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "Készlet adatokkal együtt" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 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:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "Gyártói adatokkal együtt" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 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:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "Beszállítói adatokkal együtt" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 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:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "Ár adatokkal együtt" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "Ár adatok megjelenítése az exportált alkatrészjegyzékben" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "Helyettesítő alkatrész törlése" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 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:655 +#: templates/js/translated/bom.js:656 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:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "Helyettesítő alkatrész törlése" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "Helyettesítő hozzáadása" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 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:764 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:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "Helyettesítõk" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "Alkatrészjegyzék árazása teljes" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "Alkatrészjegyzék árazása nem teljes" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "Fogyóeszköz tétel" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "Alkatrészjegyzék tétel jóváhagyása" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "Ez a sor jóvá lett hagyva" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "Helyettesítő alkatrészek szerkesztése" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "Alkatrészjegyzék tétel szerkesztése" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "Alkatrészjegyzék tétel törlése" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "Alkatrészjegyzék megtekintése" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "Szükséges alkatrész" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "Örökölve a szülő alkatrészjegyzéktől" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "Gyártási utasítás szerkesztése" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "Gyártási utasítás létrehozása" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "Gyártási utasítás törlése" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "Biztosan meg szeretnéd szakítani ezt a gyártást?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "Ehhez a gyártáshoz készlet lett hozzárendelve" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "Ennek a gyártásnak befejezetlen kimenetei vannak" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "Gyártási utasítás készen áll a befejezésre" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "A rendelés nem jelölhető késznek mivel függő kimenetek vannak" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "Gyártási utasítás befejezetlen" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "Gyártási utasítás befejezése" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "Következő szabad sorozatszám" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "Legutolsó sorozatszám" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "Az alkatrészjegyzék követésre kötelezett alkatrészeket tartalmaz" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "A gyártási kimeneteket egyesével kell előállítani" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "A követésre kötelezett alkatrészekhez sorozatszámot lehet rendelni" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Adj meg sorozatszámokat a több egyedi gyártási kimenet létrehozásához" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "Gyártási kimenet létrehozása" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "Készlet tételek foglalása ehhez a gyártási kimenethez" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" -msgstr "Készlet felszabadítása a gyártási kimenetből" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" +msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "Gyártási kimenet befejezése" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "Gyártási kimenet selejtezése" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "Gyártási kimenet törlése" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" -msgstr "Biztosan szeretnéd a már lefoglalt készlet tételeket felszabadítani ebből a gyártási utasításból?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" +msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" -msgstr "Készlet tételek felszabadítása" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" +msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "Gyártási kimenetek kiválasztása" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "Legalább egy gyártási kimenetet ki kell választani" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "Kimenet" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "Gyártási kimenetek befejezése" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "Gyártási kimenetek selejtezése" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "Gyártási kimenetek törlése" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "Nincs gyártási utasításhoz történő foglalás" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "Hely nincs megadva" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "Befejezett kimenetek" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "Gyártási kimenetek selejtezése" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "Kimenetek törlése" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "gyártás kimenet" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "gyártás kimenetek" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "Nem található aktív gyártási kimenet" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" -msgstr "Lefoglalt készlet" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" +msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" -msgstr "Nincsenek követett alkatrészjegyzék tételek ehhez a gyártáshoz" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" +msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "Befejezett tesztek" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "Készlet foglalások szerkesztése" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "Készlet foglalások törlése" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "Foglalás szerkesztése" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "Foglalás törlése" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "Vannak helyettesítő alkatrészek" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "Szükséges/db" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "Nincs elegendő" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "Van elegendő" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "Gyártási készlet" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "Készlet rendelés" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "Lefoglalt készlet" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Kiválasztott alkatrészek" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 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:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "Minden alkatrész lefoglalva" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "Nincs egyező készlet" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "Automatikus készlet foglalás" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "A készlet automatikusan lefoglalásra kerül ehhez a gyártási utasításhoz, a következő feltételek szerint" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Ha egy készlet hely meg van adva, akkor készlet csak arról a helyről lesz foglalva" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Ha a készlet helyettesíthetőnek minősül, akkor az első rendelkezésre álló helyről lesz lefoglalva" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Ha a helyettesítő készlet engedélyezve van, akkor ott az lesz használva ha az elsődleges alkatrésznek nincs készlete" -#: templates/js/translated/build.js:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "Készlet tételek foglalása" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "Kiválaszt" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "Gyártás késésben van" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "Nincs felhasználói információ" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "csoport" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" -msgstr "Nincs lefoglalt alkatrész ehhez" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" +msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "Készlet foglalások törlése" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "Foglalás szerkesztése" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "Foglalás törlése" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "Követésre kötelezett alkatrész" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "Nincs elegendő" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "Van elegendő" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "Gyártási készlet" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "Készlet rendelés" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "Lefoglalt készlet" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "Gyártó hozzáadása" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "Gyártói alkatrész hozzáadása" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "Gyártói alkatrész szerkesztése" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "Beszállító hozzáadása" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "Beszállítói alkatrész hozzáadása" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "Beszállítói alkatrészek törlése" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "Új cég hozzáadása" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "Beszállított alkatrészek" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "Gyártott alkatrészek" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "Nem található céginformáció" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "Új névjegy létrehozása" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "Névjegy szerkesztése" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "A kiválasztott névjegyek törlésre kerülnek" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "Szerepkör" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "Névjegyek törlése" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "Nem található névjegy" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "Telefonszám" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "E-mail cím" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "Névjegy törlése" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "Az összes kijelölt gyártói alkatrész törlésre kerül" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "Gyártói alkatrészek törlése" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "Az összes kijelölt paraméter törlésre kerül" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "Paraméterek törlése" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Alkatrész rendelés" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "Gyártói alkatrészek törlése" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "Nincs gyártói alkatrész" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "Sablon alkatrész" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "Gyártmány alkatrész" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "Nem található paraméter" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "Paraméter szerkesztése" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "Paraméter törlése" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Beszállítói alkatrész törlése" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "Nincs beszállítói alkatrész" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "Elérhetőség" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "Beszállítói alkatrész szerkesztése" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "Beszállítói alkatrész törlése" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "Ársáv törlése" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "Ársáv szerkesztése" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "Nincs ársáv információ" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "Utoljára módosítva" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "Ársáv szerkesztése" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "Ársáv törlése" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "igaz" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "hamis" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "Szűrők kiválasztása" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "Címkék nyomtatása" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "Riportok nyomtatása" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "Táblázat letöltése" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "Táblázat frissítése" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "Új szűrő hozzáadása" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "Összes szűrő törlése" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "Szűrő létrehozása" @@ -10498,6 +10621,12 @@ msgstr "Törlés nem engedélyezett" msgid "View operation not allowed" msgstr "Megtekintés nem engedélyezett" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Törlés" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "Form nyitva tartása" @@ -10515,23 +10644,23 @@ msgstr "Form hibák vannak" msgid "No results found" msgstr "Nincs eredmény" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "Keresés" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "Bevitel törlése" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "Fájl oszlop" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "Mező név" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "Oszlopok kiválasztása" @@ -10551,6 +10680,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "Nyomtató kiválasztása" @@ -10652,7 +10789,7 @@ msgstr "Nem találhatók hírek" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "Azonosító" @@ -10701,7 +10838,7 @@ msgid "Delete Line" msgstr "Sor törlése" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "Nem találhatók sortételek" @@ -10717,363 +10854,355 @@ msgstr "Sor szerkesztése" msgid "Delete line" msgstr "Sor törlése" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "Alkatrész tulajdonságok" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "Alkatrész létrehozási opciók" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "Alkatrész másolási opciók" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "Alkatrész kategória hozzáadása" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "Ikon (opcionális) - Az összes ikon felfedezése itt" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "Alkatrész kategória létrehozása" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "Új kategória létrehozása ez után" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "Alkatrész kategória létrehozva" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "Alkatrész kategória szerkesztése" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "Biztos hogy törölni szeretnéd ezt az alkatrész kategóriát?" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "Áthelyezés fentebbi kategóriába" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "Alkatrész kategória törlése" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "A kategóriában lévő alkatrészek kezelése" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "Alkategóriák kezelése" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "Alkatrész létrehozása" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "Új alkatrész létrehozása ez után" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "Alkatrész sikeresen létrehozva" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "Alkatrész szerkesztése" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "Alkatrész módosítva" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "Alkatrész változat létrehozása" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "Aktív alkatrész" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "Alkatrész nem törölhető mivel még aktív" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "Ezen alkatrész törlése nem vonható vissza" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "Ennek az alkatrésznek a teljes készlete törölve lesz" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "Ez az alkatrész minden alkatrészjegyzékből törölve lesz" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Ehhez az alkatrészhez rendelt minden beszállítói és gyártói információ törölve lesz" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "Alkatrész törlése" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "Értesítések beállítva erre a tételre" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "Értesítések kérése erre a tételre" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "Értesítések letiltva erre a tételre" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "Az alkatrészjegyzék jóváhagyása minden sortételt jóvá fog hagyni" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "Alkatrészjegyzék jóváhagyása" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "Alkatrészjegyzék jóvá lett hagyva" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "Alkatrészjegyzék másolása" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "Alacsony készlet" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "Nincs szabad" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "Igény" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "Me" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "Követésre kötelezett alkatrész" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "Virtuális alkatrész" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "Értesítésre beállított alkatrész" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "Értékesíthető alkatrész" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "Új leltár riport ütemezése." -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "Amint elkészül, az új leltár riport letölthető lesz." -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "Leltár riport létrehozása" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "Leltár riport beütemezve" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "Nincs elérhető leltár előzmény" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "Leltár bejegyzés szerkesztése" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "Leltár bejegyzés törlése" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "Nincs több változat" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "Nincs alkatrész paraméter sablon" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "Alkatrész paraméter sablon módosítása" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "Az összes erre a sablonra hivatkozó paraméter is törlésre kerül" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "Alkatrész paraméter sablon törlése" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "Sortétel bevételezése" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "alkatrészek" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "Nincs kategória" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "Megjelenítés listaként" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "Megjelenítés rácsnézetként" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Kategória beállítása" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "alkatrészek" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "Nincs kategória" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "Megjelenítés listaként" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" -msgstr "Alkatrész kategória kiválasztása" +msgid "Display as grid" +msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "Kategória megadása kötelező" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "Nem találhatóak alkategóriák" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "Ez a teszt a szülő alkatrészhez lett felvéve" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "Hiba az alkatrész ütemezési információinak betöltésekor" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "Minimum mennyiség" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "Minimális készlet" @@ -11169,234 +11298,234 @@ msgstr "Nincs alkatrészváltozat infomáció" msgid "Variant Part" msgstr "Alkatrészváltozat" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "Válaszd ki a lemásolandó beszerzési rendelést" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "Sortételek másolása" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "Összes sortétel másolása a kiválasztott rendelésből" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "Egyéb tételek másolása" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "Összes egyéb tétel másolása a kiválasztott rendelésből" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "Beszerzési rendelés szerkesztése" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "Másolási opciók" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "Beszerzési rendelés befejezése" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "Rendelés befejezettnek jelölése?" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "Minden sortétel megérkezett" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be." -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "A rendelés befejezésével jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők." -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "Beszerzési rendelés törlése" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Biztosan törölni szeretnéd ezt a beszerzési rendelést?" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "Ezt a beszerzési rendelést nem lehet törölni" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "A kiküldés után a sortételek már nem lesznek szerkeszthetők." -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "Beszerzési rendelés kiküldése" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "Legalább egy beszerezhető alkatrészt ki kell választani" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "Rendelendő mennyiség" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "Új beszállítói alkatrész" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "Új beszerzési rendelés" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "Hozzáadás beszerzési rendeléshez" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "Nincsenek egyező beszállítói alkatrészek" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "Nincsenek egyező beszerzési rendelések" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "Sortételek kiválasztása" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "Legalább egy sortételt ki kell választani" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "Beérkezett mennyiség" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "Érkező mennyiség" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "Készlet állapota" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "Vonalkód hozzáadása" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "Vonalkód eltávolítása" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "Add meg a helyet" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "Batch kód hozzáadása" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "Sorozatszám hozzáadása" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "Sorozatszámok" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "Rendelési kód" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "Érkező mennyiség" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "Bevételezés megerősítése" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "Beszerzési rendelés tételeinek bevételezése" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "Tétel vonalkód beolvasása" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "Beérkezett tétel vonalkódjának leolvasása (egyik meglévő készlet tétellel sem egyezhet)" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "Érvénytelen vonalkód adat" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "Rendelés késésben" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Tételek" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "Az összes kijelölt sortétel törlésre kerül" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "Töröljük a kiválasztott sortételeket?" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "Sortétel törlése" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "Sortétel törlése" @@ -11425,941 +11554,973 @@ msgstr "Nem található riport sablon a kiválasztott tételekhez" msgid "Add Customer" msgstr "Vevő hozzáadása" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "Visszavételi utasítás létrehozása" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "Visszavételi utasítás szerkesztése" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "Visszavételi utasítás kiadása" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "Biztosan törölni szeretnéd ezt a visszavételi utasítást?" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "Visszavételi utasítás törlése" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "Visszavételi utasítás befejezése" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "Nem található visszavételi utasítás" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "Érvénytelen vevő" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "Visszavételi utasítás tételeinek bevételezése" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "Nincs egyező sortétel" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "Tétel bevételezve" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "Vevői rendelés létrehozása" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "Vevői rendelés szerkesztése" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "Ehhez a szállítmányhoz nincs készlet hozzárendelve" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "A következő készlet tételek ki lesznek szállítva" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "Függő szállítmányok kiszállítása" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "Szállítmány megerősítése" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "Nincs függő szállítmány" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "A függő a szállítmányokhoz nincs készlet hozzárendelve" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "Függő szállítmányok kiszállítása" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "Kihagyás" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem teljesítettek." -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "Vissza lett igazolva ez a vevői rendelés?" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "Vevői rendelés visszaigazolása" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "Vevő rendelés törlése" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "A rendelés törlésével annak adatai a továbbiakban már nem lesznek szerkeszthetők." -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "Szállítmány létrehozása" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "Nem található vevői rendelés" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "Szállítmány kiszállítása" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "Nincs egyező szállímány" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "Szállítmány azonosító" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "Nincs kiszállítva" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "Nyomkövetés" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "Számla" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "Szállítmány hozzáadása" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "Készlet foglalás megerősítése" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "Készlet foglalása a vevői rendeléshez" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "Nincs vevői rendeléshez történő foglalás" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "Törlési művelet megerősítése" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "Készlethely nincs megadva" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "Készletrendelés" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "Árszámítás" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 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/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "Nem törölhető mivel tételek vannak lefoglalva" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "Egységár módosítása" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "Nincs találat" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "Add meg a keresési lekérdezést" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "eredmény" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "találat" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "Eredmények összezárása" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "Eredmények eltávolítása" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "Készlet tétel sorszámozása" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "Készlet sorozatszámozás megerősítése" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "Felsőbb szintű készlet hely" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "Készlet hely szerkesztése" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "Új készlet hely" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "Új készlethely létrehozása ez után" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "Készlet hely létrehozva" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "Biztosan törölni szeretnéd ezt a készlet helyet?" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "Szülő készlet helyre mozgatás" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "Készlethely törlése" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "Műveletek az ezen a helyen lévő tételekhez" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "Műveletek az al-helyekhez" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "Ezt az alkatrészt nem lehet sorozatszámozni" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "Készlet tétel lemásolva" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "Készlet tétel másolása" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "Biztosan törölni szeretnéd ezt a készlet tételt?" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "Készlet tétel törlése" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "Készlet tétel szerkesztése" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "Új tétel létrehozása ez után" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "Készlet tétel létrehozva" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "Több készlet tétel létre lett hozva" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "Sorozatszám keresése" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "Sorozatszám megadása" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "Adj meg egy sorozatszámot" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "Nincs egyező sorozatszám" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "Több egyező eredmény is van" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "Készlet hozzárendelés jóváhagyása" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "Készlet vevőhöz rendelése" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "Figyelem: az összevonási művelet nem vonható vissza" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "Némi információ elveszik a készlet összevonás során" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "A készlettörténet törölve lesz az összevont tételeknél" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "A beszállítói alkatrész információk törlődnek az összevont tételeknél" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "Készlet összevonás megerősítése" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "Készlet tételek összevonása" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "Készlet áthelyezése" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "Áthelyezés" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "Leltározás" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "Mennyiség" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "Készlet csökkentése" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "Kivesz" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "Hozzáad" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "Készlet törlése" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosítható" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "Készlet mennyiség megadása" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "Készlet tételek kiválasztása" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" -msgstr "Ki kell választanod legalább egy rendelkezésre álló készlet tételt" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" +msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "Készlet módosítás jóváhagyása" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "SIKER" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "SIKERTELEN" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "NINCS EREDMÉNY" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "Teszt sikeres" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "Teszt eredmény hozzáadása" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "Nincs teszt eredmény" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "Teszt dátuma" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "Gyártásban" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "Beépítve készlet tételbe" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "Vevő rendeléshez hozzárendelve" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "Nincs hely megadva" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "Készlet összevonása" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "Készlet törlése" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "készlet tételek" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "Készletérték" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "készlethelyek" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "Nem változott" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "A gyártási utasítás már nem létezik" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "Vevői megrendelés már nem létezik" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "Visszavételi utasítás már nem létezik" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "Van projektszáma" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "Rendelés állapota" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "Kintlévő" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "Hozzám rendelt" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "Követésre kötelezett" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "Gyártmány alkatrész" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "Van elérhető készlete" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "Készlet változatok engedélyezése" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "Van árazás" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "Alhelyekkel együtt" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "Helyekkel együtt" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "Alkategóriákkal együtt" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "Értesítés beállítva" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "Sorozatszámos" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "Sorozatszám >=" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "Sorozatszám nagyobb vagy egyenlő mint" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "Sorozatszám <=" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "Sorozatszám kisebb vagy egyenlő mint" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "Sorozatszám" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "Batch kód" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "Aktív alkatrész" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "Aktív alkatrészek készletének megjelenítése" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "Az alkatrész egy gyártmány" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "Lefoglalt" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "Az tétel lefoglalásra került" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "Felhasználható készlet" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "Alhelyeken lévő készlettel együtt" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "Kimerült készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "Készleten lévő tételek megjelenítése" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "Gyártásban" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "Gyártásban lévő tételek megjelenítése" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "Változatokkal együtt" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "Alkatrészváltozatok készletével együtt" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "Beépítve" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "Másik tételbe beépült tételek mutatása" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "Készlet tételek melyek hozzá vannak rendelve egy vevőhöz" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "Készlet állapota" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "Van batch kódja" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "Követett" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "Követett készlet tétel sorozatszámmal vagy batch kóddal" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "Van beszerzési ára" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "Beszerzési árral rendelkező készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "Lejárat előtt" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "Lejárat után" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "Lejárt készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "Hamarosan lejáró készlet tételek megjelenítése" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "Teszten megfelelt" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "Beépített tételekkel együtt" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "Gyártási állapot" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "Alkategóriákkal együtt" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "Aktív alkatrészek megjelenítése" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "Elérhető" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "Van IPN-je" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "Van belső cikkszáma" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "Készleten" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "Beszerezhető" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "Volt leltár" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12391,51 +12552,51 @@ msgstr "Táblázat exportálása" msgid "Select File Format" msgstr "Fájlfomátum kiválasztása" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "Adatok betöltése" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "sor oldalanként" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "Összes sor mutatása" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "Látható" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "-" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "a" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "sorból," -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "Nincs egyező eredmény" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "Lapozó elrejtése/megjelenítése" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "Átváltás" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "Oszlopok" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "Összes" @@ -12617,50 +12778,6 @@ msgstr "Email beállítások" msgid "Email settings not configured" msgstr "Email beállítások hiányoznak" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "Vonalkód műveletek" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "Készlet opciók" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "Kiválasztott tételek mennyiségének növelése" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "Kiválasztott tételek mennyiségének csökkentése" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "Kiválasztott készlet tételek leltározása" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "Kiválasztott tételek áthelyezése" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "Kiválasztott tételek összevonása" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "Készlet összevonása" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "Kiválasztott tételek megrendelése" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "Kiválasztott tételek törlése" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "Készlet törlése" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "Igen" @@ -12693,35 +12810,35 @@ msgstr "Jogosultságok" msgid "Important dates" msgstr "Fontos dátumok" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Csoport" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Nézet" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "Módosítás" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index dafd1939a1..e18384a974 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -23,52 +23,52 @@ msgstr "API endpoint tidak ditemukan" #: InvenTree/api.py:299 msgid "User does not have permission to view this model" -msgstr "" +msgstr "Pengguna tidak memiliki izin untuk melihat model ini" #: InvenTree/conversion.py:62 msgid "No value provided" -msgstr "" +msgstr "Nilai tidak tersedia" #: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" -msgstr "" +msgstr "Nilai yang diberikan bukan angka yang valid" #: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" -msgstr "" +msgstr "Nilai yang diberikan mengandung satuan yang tidak valid" #: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" -msgstr "" +msgstr "Nilai yang diberikan tidak dapat dikonversi ke satuan yang dipilih" #: InvenTree/exceptions.py:90 msgid "Error details can be found in the admin panel" -msgstr "" +msgstr "Detail terkait galat dapat dilihat di panel admin" #: InvenTree/fields.py:131 msgid "Enter date" msgstr "Masukkan tanggal" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Catatan" @@ -79,49 +79,53 @@ msgstr "" #: InvenTree/format.py:162 msgid "Provided value does not match required pattern: " -msgstr "" +msgstr "Nilai yang diberikan tidak sesuai dengan pola yang ditentukan: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Masukkan sandi" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Masukkan kata sandi baru" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Konfirmasikan kata sandi" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Konfirmasi sandi baru" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Kata sandi lama" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (ulang)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Konfirmasi alamat email" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Masukkan email yang sama." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." -msgstr "" +msgstr "Alamat surel utama yang diberikan tidak valid." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." +msgstr "Domain surel yang diberikan tidak perbolehkan." + +#: InvenTree/forms.py:345 +msgid "Registration is disabled." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Jumlah yang diberikan tidak valid" @@ -159,7 +163,7 @@ msgstr "" #: InvenTree/helpers.py:751 msgid "Remove HTML tags from this value" -msgstr "" +msgstr "Hapus tag-tag HTML dari nilai ini" #: InvenTree/helpers_model.py:133 msgid "Connection error" @@ -239,7 +243,7 @@ msgstr "Tautan eksternal tidak ditemukan" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Lampiran" @@ -247,29 +251,30 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Komentar" @@ -277,13 +282,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Pengguna" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Keterangan" @@ -383,7 +389,7 @@ msgid "parent" msgstr "induk" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Direktori" @@ -419,16 +425,16 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "" +msgstr "Mata Uang" #: InvenTree/serializers.py:93 msgid "Select currency from available options" @@ -497,130 +503,130 @@ msgstr "URL file gambar external" msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Ceko" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Denmark" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Jerman" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Yunani" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Inggris" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Spanyol" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Spanyol (Meksiko)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Persia" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Perancis" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Ibrani" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Hungaria" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Itali" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Jepang" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Korea" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Belanda" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norwegia" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polandia" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugis" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugis (Brasil)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Rusia" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Swedia" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Thai" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turki" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnam" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Cina" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" -msgstr "" +msgstr "Pengecekan kesehatan sistem InvenTree gagal" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "" @@ -630,7 +636,7 @@ msgstr "Diletakkan" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Selesai" @@ -654,10 +660,10 @@ msgstr "Dikembalikan" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Dikirim" @@ -689,7 +695,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Item stok dibuat" @@ -745,7 +751,7 @@ msgstr "Dipisah dari item induk" msgid "Split child item" msgstr "Pisah item dari barang induk" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Stok item digabungkan" @@ -765,7 +771,7 @@ msgstr "Order output produksi selesai" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Terpakai oleh order produksi" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Terkirim ke pelanggan" @@ -849,83 +855,111 @@ msgstr "Bidang kata sandi tidak cocok" msgid "Wrong password provided" msgstr "Kata sandi yang salah" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Informasi Sistem" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Tentang InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Order Produksi" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Order Produksi" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Pilihan produksi induk tidak valid" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referensi" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produksi Induk" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Produksi induk dari produksi ini" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Produksi induk dari produksi ini" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Bagian" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Pilih bagian untuk diproduksi" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Referensi Order Penjualan" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Lokasi Sumber" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Pilih dari lokasi mana stok akan diambil untuk produksi ini (kosongkan untuk mengambil stok dari mana pun)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Lokasi Tujuan" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Pilih lokasi di mana item selesai akan disimpan" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Jumlah Produksi" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Jumlah item stok yang akan dibuat" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Item selesai" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Jumlah stok item yang telah diselesaikan" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Status pembuatan" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Tanggal Pembuatan" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Target tanggal selesai" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Tanggal selesai" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Diserahkan oleh" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Penanggung Jawab" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak" - -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Item stok teralokasikan terlalu banyak" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Jumlah yang dialokasikan harus lebih dari nol" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Jumlah harus 1 untuk stok dengan nomor seri" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Item stok yang dipilih tidak ditemukan dalam daftar barang order" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Produksi" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Stok Item" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Sumber stok item" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Sumber stok item" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Item stok teralokasikan terlalu banyak" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Jumlah yang dialokasikan harus lebih dari nol" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Jumlah harus 1 untuk stok dengan nomor seri" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Stok Item" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Sumber stok item" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Tujuan stok item" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Nomor Seri" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" -msgstr "" +msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Lokasi" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Status" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "Terima bahwa jumlah hasil produksi yang diperlukan belum selesai" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Jumlah produksi yang diperlukan masih belum cukup" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Item tagihan material" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part harus mengarah ke bagian yang sesuai dengan order produksi" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "Stok item ini telah dialokasikan ke hasil produksi ini" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lokasi stok, dari mana bahan/bagian akan diambilkan (kosongkan untuk mengambil dari lokasi mana pun)" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1552,7 +1602,7 @@ msgstr "" #: stock/templates/stock/item_base.html:45 #: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "" +msgstr "Tampilkan kode QR" #: build/templates/build/build_base.html:46 #: company/templates/company/supplier_part.html:42 @@ -1618,69 +1668,67 @@ msgstr "Selesaikan Produksi" msgid "Build Description" msgstr "Deskripsi Produksi" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "Tidak ada hasil pesanan yang dibuat oleh pesanan ini" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" -msgstr "" +msgid "Email required" +msgstr "Surel diperlukan" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" -msgstr "" +msgstr "Surel" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN harus sesuai dengan pola regex {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Item tagihan material" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7199,7 +7210,7 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 msgid "Enable email notifications" -msgstr "" +msgstr "Aktifkan surel pemberitahuan" #: plugin/builtin/integration/core_notifications.py:41 #: plugin/builtin/integration/core_notifications.py:82 @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7879,7 +7890,7 @@ msgstr "" #: stock/models.py:2225 msgid "Attachment must be uploaded for this test" -msgstr "" +msgstr "Lampiran perlu diunggah untuk tes ini" #: stock/models.py:2244 msgid "Test name" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Produksi" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8979,17 +8999,18 @@ msgstr "" #: templates/InvenTree/settings/user.html:55 msgid "The following email addresses are associated with your account:" -msgstr "" +msgstr "Alamat surel berikut dikaitkan dengan akun Anda:" #: templates/InvenTree/settings/user.html:76 msgid "Verified" -msgstr "" +msgstr "Terverifikasi" #: templates/InvenTree/settings/user.html:78 msgid "Unverified" -msgstr "" +msgstr "Tidak terverifikasi" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9011,15 +9032,15 @@ msgstr "" #: templates/InvenTree/settings/user.html:105 msgid "Add Email Address" -msgstr "" +msgstr "Tambah Alamat Surel" #: templates/InvenTree/settings/user.html:110 msgid "Add Email" -msgstr "" +msgstr "Tambah Surel" #: templates/InvenTree/settings/user.html:120 msgid "Multifactor" -msgstr "" +msgstr "Multifaktor" #: templates/InvenTree/settings/user.html:125 msgid "You have these factors available:" @@ -9027,7 +9048,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:135 msgid "TOTP" -msgstr "" +msgstr "TOTP" #: templates/InvenTree/settings/user.html:141 msgid "Static" @@ -9071,15 +9092,15 @@ msgstr "" #: templates/InvenTree/settings/user.html:189 msgid "IP Address" -msgstr "" +msgstr "Alamat IP" #: templates/InvenTree/settings/user.html:190 msgid "Device" -msgstr "" +msgstr "Perangkat" #: templates/InvenTree/settings/user.html:191 msgid "Last Activity" -msgstr "" +msgstr "Aktivitas Terakhir" #: templates/InvenTree/settings/user.html:204 #, python-format @@ -9093,7 +9114,7 @@ msgstr "" #: templates/InvenTree/settings/user.html:218 msgid "Do you really want to remove the selected email address?" -msgstr "" +msgstr "Apakah Anda benar-benar ingin menghapus alamat surel yang dipilih?" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" @@ -9113,7 +9134,7 @@ msgstr "" #: templates/InvenTree/settings/user_display.html:58 msgid "Language Settings" -msgstr "" +msgstr "Pengaturan Bahasa" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" @@ -9166,7 +9187,7 @@ msgstr "" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" -msgstr "" +msgstr "Pengaturan Pencarian" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9252,12 +9277,12 @@ msgstr "" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "" +msgstr "Konfirmasi alamat surel" #: templates/account/email_confirm.html:15 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." -msgstr "" +msgstr "Harap konfirmasikan bahwa %(email)s adalah alamat surel untuk pengguna %(user_display)s." #: templates/account/email_confirm.html:21 templates/js/translated/forms.js:726 msgid "Confirm" @@ -9312,7 +9337,7 @@ msgstr "" #: templates/account/password_reset.html:18 msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." -msgstr "" +msgstr "Lupa kata sandi? Masukkan alamat surel Anda di bawah ini, dan kami akan mengirimkan surel yang memungkinkan Anda untuk mengatur ulangnya." #: templates/account/password_reset.html:23 msgid "Reset My Password" @@ -9369,7 +9394,7 @@ msgstr "" #: templates/allauth_2fa/authenticate.html:5 msgid "Two-Factor Authentication" -msgstr "" +msgstr "Autentikasi Dua-Faktor" #: templates/allauth_2fa/authenticate.html:13 msgid "Authenticate" @@ -9377,7 +9402,7 @@ msgstr "" #: templates/allauth_2fa/backup_tokens.html:6 msgid "Two-Factor Authentication Backup Tokens" -msgstr "" +msgstr "Token Cadangan untuk Autentikasi Dua-Faktor" #: templates/allauth_2fa/backup_tokens.html:17 msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,21 +9504,21 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" #: templates/email/build_order_required_stock.html:38 #: templates/email/low_stock_notification.html:30 msgid "You are receiving this email because you are subscribed to notifications for this part " -msgstr "" +msgstr "Anda menerima surel ini karena Anda berlangganan pemberitahuan untuk bagian ini " #: templates/email/low_stock_notification.html:9 msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" -msgstr "" +msgstr "Alamat Surel" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12464,7 +12625,7 @@ msgstr "" #: templates/notes_buttons.html:6 templates/notes_buttons.html:7 msgid "Save" -msgstr "" +msgstr "Simpan" #: templates/notifications.html:9 msgid "Show all notifications and history" @@ -12536,7 +12697,7 @@ msgstr "" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" -msgstr "" +msgstr "Penyedia SSO tidak valid" #: templates/socialaccount/login.html:31 msgid "The selected SSO provider is invalid, or has not been correctly configured" @@ -12610,56 +12771,12 @@ msgstr "" #: templates/stats.html:75 msgid "Email Settings" -msgstr "" +msgstr "Pengaturan Surel" #: templates/stats.html:78 msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12682,7 +12799,7 @@ msgstr "" #: users/admin.py:222 msgid "Personal info" -msgstr "" +msgstr "Data pribadi" #: users/admin.py:223 msgid "Permissions" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index e92fdf5506..b21cbb78a3 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -49,26 +49,26 @@ msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministra msgid "Enter date" msgstr "Inserisci la data" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Note" @@ -81,47 +81,51 @@ msgstr "Il valore '{name}' non è nel formato del pattern" msgid "Provided value does not match required pattern: " msgstr "Il valore fornito non corrisponde al modello richiesto: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Inserire la password" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Inserire una nuova password" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Conferma la password" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Conferma la nuova password" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Vecchia password" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (ancora)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Conferma indirizzo email" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "È necessario digitare la stessa e-mail ogni volta." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "L'indirizzo email principale fornito non è valido." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "L'indirizzo di posta elettronica fornito non è approvato." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Quantità inserita non valida" @@ -239,7 +243,7 @@ msgstr "Link esterno mancante" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Allegato" @@ -247,29 +251,30 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link a URL esterno" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Commento" @@ -277,13 +282,13 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Utente" @@ -324,53 +329,54 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Descrizione" @@ -383,7 +389,7 @@ msgid "parent" msgstr "genitore" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Percorso" @@ -419,12 +425,12 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URL del file immagine remota" msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Ceco" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Danese" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Spagnolo (Messicano)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Persiano" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Ungherese" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portoghese" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portoghese (Brasile)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Sloveno" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Cinese" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Server di posta non configurato" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Controlli di sistema InvenTree falliti" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "In attesa" @@ -630,7 +636,7 @@ msgstr "Inviato" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Completo" @@ -654,10 +660,10 @@ msgstr "Reso" msgid "In Progress" msgstr "In corso" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Spedito" @@ -689,7 +695,7 @@ msgstr "In quarantena" msgid "Legacy stock tracking entry" msgstr "Voce di tracciamento stock preesistente" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Elemento stock creato" @@ -745,7 +751,7 @@ msgstr "Diviso dall'elemento genitore" msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Elemento stock raggruppato" @@ -765,7 +771,7 @@ msgstr "Build order output completato" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Impegnato dall'ordine di costruzione" @@ -781,7 +787,7 @@ msgstr "Ricevuto contro l'ordine di acquisto" msgid "Returned against Return Order" msgstr "Restituito contro l'ordine di ritorno" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Inviato al cliente" @@ -849,83 +855,111 @@ msgstr "Le password devono coincidere" msgid "Wrong password provided" msgstr "Password inserita non corretta" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Informazioni sistema" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Informazioni Su InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "Consumabile" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "Opzionale" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "Monitorato" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "Allocato" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Ordine di Produzione" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Ordini di Produzione" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Scelta non valida per la produzione genitore" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Riferimento" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "Breve descrizione della build (facoltativo)" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Ordine di produzione a cui questa produzione viene assegnata" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Articolo" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Selezionare parte da produrre" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Numero di riferimento ordine di vendita" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Posizione Di Origine" -#: build/models.py:207 +#: build/models.py:211 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:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Posizione Della Destinazione" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Seleziona il luogo in cui gli articoli completati saranno immagazzinati" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Quantità Produzione" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Numero di articoli da costruire" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Articoli completati" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Numero di articoli di magazzino che sono stati completati" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Stato Produzione" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Data di creazione" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Data completamento obiettivo" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Data di completamento" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "Completato da" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Rilasciato da" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Responsabile" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Utente o gruppo responsabile di questo ordine di produzione" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Priorità di produzione" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "Codice del progetto" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile" +#: build/models.py:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, 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:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "L'articolo in giacenza è sovrallocato" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "La quantità di assegnazione deve essere maggiore di zero" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "La quantità deve essere 1 per lo stock serializzato" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Articolo in giacenza selezionato non trovato nel BOM" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Produzione" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Costruisci per allocare gli articoli" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Articoli in magazzino" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Origine giacenza articolo" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Origine giacenza articolo" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Quantità" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile" + +#: build/models.py:1366 +#, 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:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "L'articolo in giacenza è sovrallocato" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "La quantità di assegnazione deve essere maggiore di zero" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "La quantità deve essere 1 per lo stock serializzato" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Articoli in magazzino" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Origine giacenza articolo" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Installa in" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "L'output generato non corrisponde alla produzione principale" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "L'output non corrisponde alle parti dell'ordine di produzione" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Posizione" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Stato" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completa l'output se le scorte non sono state interamente assegnate" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "Rimuovi Giacenze Allocate" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "Detrai qualsiasi scorta che è stata già assegnata a questa produzione" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Come si desidera gestire gli elementi extra giacenza assegnati all'ordine di produzione" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegnati a questo ordine di produzione" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accetta che il numero richiesto di output di produzione non sia stato completato" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Distinta base (Bom)" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "gli elementi degli articoli della distinta base devono puntare alla stessa parte dell'ordine di produzione" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "L'output di produzione deve essere specificato per l'ubicazione delle parti tracciate" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "Questa giacenza di magazzino è già stato assegnato a questa produzione" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Posizione dello stock in cui le parti devono prelevate (lasciare vuoto per prelevare da qualsiasi luogo)" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Gli elementi in magazzino in più sedi possono essere utilizzati in modo intercambiabile" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Azioni Barcode" @@ -1618,69 +1668,67 @@ msgstr "Completa Produzione" msgid "Build Description" msgstr "Descrizione Produzione" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "Nessun output di produzione è stato creato per questo ordine di produzione" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "L'ordine di produzione è pronto per essere contrassegnato come completato" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "L'ordine di produzione non può essere completato poiché gli output rimangono in sospeso" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzione" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Data scadenza" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "Questa produzione era in scadenza il %(target)s" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "In ritardo" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Completato" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "Outputs Completati" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Completato" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Ordini di Vendita" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Inviato da" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "Priorità" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Elimina Ordine Build" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "Genera Codice QR Ordine" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "Collega il codice a barre all'ordine di build" @@ -1729,8 +1777,8 @@ msgstr "Risorse di magazzino" 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:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Destinazione" @@ -1744,21 +1792,21 @@ msgstr "Articoli Assegnati" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Lotto" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Creato" @@ -1766,147 +1814,106 @@ msgstr "Creato" msgid "No target date set" msgstr "Nessuna data di destinazione impostata" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Completato" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Build Completata" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "Ordine di Produzione Subordinato" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Assegna Scorte alla Produzione" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Scorte Non Assegnate" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Scorte Non Assegnate" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "Assegna automaticamente le scorte per la produzione" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "Assegnazione Automatica" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "Assegna manualmente le scorte per la produzione" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Assegna Scorte" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Ordina articoli richiesti" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Ordine Articoli" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "Le scorte non rintracciabili sono state completamente assegnate per questo ordine di produzione" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "Le scorte non rintracciabili non sono state completamente assegnate per questo ordine di produzione" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "Assegna i prodotti selezionati" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Questo ordine di produzione non ha alcun articolo rintracciabile nella distinta base" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "Produzione Incompleta" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "Crea nuova produzione" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "Nuova Produzione" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "Azioni di output" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "Completa la produzione selezionata" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "Completa gli outputs" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "Cancella la produzione selezionata" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "Cancella l'output" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "Produzioni Completate" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Allegati" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Genera Note" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "Assegnazione Completa" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "Tutte le giacenze non tracciate sono state assegnate" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" +msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Nuovo Ordine di Produzione" @@ -1914,14 +1921,10 @@ msgstr "Nuovo Ordine di Produzione" msgid "Build Order Details" msgstr "Dettagli Ordine di Produzione" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Output Incompleti" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "Outputs Completati" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "Aggiornato" msgid "Timestamp of last update" msgstr "Orario dell'ultimo aggiornamento" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "Codice del progetto" - #: common/models.py:105 msgid "Unique project code" msgstr "Codice unico del progetto" @@ -2261,9 +2254,9 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Modello" @@ -2271,10 +2264,10 @@ msgstr "Modello" msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Assemblaggio" @@ -2282,8 +2275,8 @@ msgstr "Assemblaggio" 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:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Componente" @@ -2291,7 +2284,7 @@ msgstr "Componente" 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:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Acquistabile" @@ -2299,8 +2292,8 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Vendibile" @@ -2308,10 +2301,10 @@ msgstr "Vendibile" msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Tracciabile" @@ -2319,10 +2312,10 @@ msgstr "Tracciabile" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Virtuale" @@ -2354,7 +2347,7 @@ msgstr "Dati iniziali dello stock" msgid "Allow creation of initial stock when adding a new part" msgstr "Consentire la creazione di uno stock iniziale quando si aggiunge una nuova parte" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" @@ -2603,181 +2596,181 @@ msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" #: common/models.py:1471 +msgid "Show Installed Stock Items" +msgstr "" + +#: common/models.py:1472 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1478 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di vendita dopo che sono stati spediti o completati" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di acquisto dopo che sono stati spediti o completati" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Abilita l'auto-registrazione tramite SSO per gli utenti nelle pagine di accesso" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1571 +#: common/models.py:1578 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:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "Al momento della registrazione chiedere due volte all'utente l'indirizzo di posta elettronica" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "Al momento della registrazione chiedere agli utenti due volte l'inserimento della password" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "Gruppo a cui i nuovi utenti vengono assegnati al momento della registrazione" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controlla che tutti i plugin siano installati all'avvio - abilita in ambienti contenitore" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "Controlla le firme del plugin" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "Controlla e mostra le firme per i plugin" - #: common/models.py:1628 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "I rapporti d'inventario verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "Conteggio Ultimi Articoli" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "Numero di articoli da visualizzare sulla pagina indice" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Mostra distinta base non convalidata" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "Recente Conteggio Giacenze" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "Numero di giacenze recenti da visualizzare sulla pagina indice" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "Mostra le scorte degli articoli necessari per la produzione sulla homepage" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1899 +#: common/models.py:1885 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:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "Configura quale stampante di etichette deve essere selezionata per impostazione predefinita" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1913 +#: common/models.py:1899 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:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "Escludi gli elementi stock che non sono disponibili dalla finestra di anteprima di ricerca" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "Numero di risultati da visualizzare in ciascuna sezione della finestra di anteprima della ricerca" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "La posizione della barra di navigazione è fissata nella parte superiore dello schermo" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste della tabella" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Prezzo" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Attivo" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "Token" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Segreto" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "Host" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "Intestazione" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "Contenuto" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "Id" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autore" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "Letto" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "Queste notizie sull'elemento sono state lette?" msgid "Image" msgstr "Immagine" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "File immagine" @@ -3499,7 +3477,7 @@ msgstr "Descrizione dell'azienda" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Sito Web" @@ -3507,303 +3485,387 @@ msgstr "Sito Web" msgid "Company website URL" msgstr "Sito web aziendale" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Indirizzo" - -#: company/models.py:119 -msgid "Company address" -msgstr "Indirizzo dell'azienda" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Telefono" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Numero di telefono di contatto" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "Email" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contatto" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Punto di contatto" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "è un cliente" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "Vendi oggetti a questa azienda?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "è un fornitore" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "Acquistate articoli da questa azienda?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "è un produttore" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Questa azienda produce articoli?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Valuta predefinita utilizzata per questa azienda" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Azienda" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Produttore" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Valore" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Unità" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Fornitore" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "SKU" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Nota" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "costo base" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "Quantità Confezione" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "multiplo" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Disponibile" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "Quantità disponibile dal fornitore" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "Disponibilità Aggiornata" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "Valuta predefinita utilizzata per questo fornitore" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Crea ordine d'acquisto" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Modifica le informazioni dell'azienda" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Modifica azienda" @@ -3856,17 +3918,17 @@ msgstr "Scarica immagine dall'URL" msgid "Delete image" msgstr "Elimina immagine" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Cliente" @@ -3874,6 +3936,13 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Valuta predefinita" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Indirizzo" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Telefono" @@ -3906,7 +3975,7 @@ msgstr "Download Immagine" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Articoli fornitore" @@ -3916,129 +3985,121 @@ msgstr "Crea nuovo fornitore" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Nuovo fornitore articolo" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Articoli ordinati" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Cancella articoli" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Cancella articoli" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Articoli Produttore" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Crea nuovo articolo produttore" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Nuovo Produttore Articoli" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Giacenza Fornitore" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Ordine di acquisto" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Crea nuovo ordine di acquisto" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nuovo Ordine di Acquisto" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Ordini di Vendita" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Crea nuovo ordine di vendita" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Nuovo Ordine di Vendita" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "Assegna Giacenza" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "Ordini di reso" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "Crea nuovo ordine di reso" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "Nuovo Ordine Di Reso" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Note Dell'Azienda" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "Contatti Azienda" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "Aggiungi contatti" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Elenco dei fornitori" @@ -4050,17 +4111,17 @@ msgstr "Produttori" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Articoli ordinati" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "Modifica articolo produttore" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "Cancella articolo produttore" @@ -4080,40 +4141,22 @@ msgstr "Nessuna informazione sul produttore disponibile" msgid "Suppliers" msgstr "Fornitori" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Elimina articolo fornitore" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Elimina" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parametri" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Nuovo Parametro" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Elimina il parametro" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Aggiungi parametro" @@ -4137,23 +4180,28 @@ msgstr "Elementi in Giacenza Impegnati" msgid "Contacts" msgstr "Contatti" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Articolo Fornitore" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "Azioni Articolo Fornitore" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "Ordine Articolo" @@ -4164,13 +4212,13 @@ msgstr "Aggiorna Disponibilità" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "Modifica fornitore articolo" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "Duplica Articoli Fornitore" @@ -4197,7 +4245,7 @@ msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" @@ -4205,37 +4253,37 @@ msgstr "Nuovo Elemento in giacenza" msgid "Supplier Part Orders" msgstr "Ordini articoli fornitore" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Informazioni Prezzi" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "Aggiungi riduzione prezzo" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "Codice Articolo Fornitore QR" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "Collega Codice a Barre con l'Articolo Fornitore" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "Aggiorna Disponibilità Articolo" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -4261,7 +4309,7 @@ msgstr "Clienti" msgid "New Customer" msgstr "Nuovo cliente" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Aziende" @@ -4269,72 +4317,76 @@ msgstr "Aziende" msgid "New Company" msgstr "Nuova Azienda" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Nome etichetta" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Descrizione etichetta" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Etichetta" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Abilitato" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "Modello di etichetta abilitato" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Larghezza [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Altezza [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Formato del nome file" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "Formato del nome file per la generazione etichetta" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori)," -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Filtri" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di valori)" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Prezzo Totale" @@ -4361,30 +4413,30 @@ msgstr "Prezzo Totale" msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "Restituisci ordine" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Sconosciuto" @@ -4392,11 +4444,11 @@ msgstr "Sconosciuto" msgid "Total price for this order" msgstr "Prezzo totale dell'ordine" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "Il contatto non corrisponde all'azienda selezionata" msgid "Order description (optional)" msgstr "Descrizione dell'ordine (opzionale)" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" -#: order/models.py:241 +#: order/models.py:245 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:250 +#: order/models.py:254 msgid "Created By" msgstr "Creato Da" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "Utente o gruppo responsabile di questo ordine" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "Punto di contatto per questo ordine" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Riferimento ordine" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "Stato ordine d'acquisto" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "Azienda da cui sono stati ordinati gli articoli" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "Riferimento fornitore" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "Codice di riferimento ordine fornitore" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "ricevuto da" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "Data ordine completato" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "Il fornitore dell'articolo deve corrispondere al fornitore dell'ordine di produzione" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Data di spedizione" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "spedito da" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "L'ordine non può essere completato perché nessun articolo è stato assegnato" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "Solo un ordine aperto può essere contrassegnato come completo" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "L'ordine non può essere completato in quanto ci sono spedizioni incomplete" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "L'ordine non può essere completato perché ci sono elementi di riga incompleti" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "Quantità Elementi" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "Riferimento Linea Elemento" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "Note linea elemento" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data di destinazione per questa voce di riga (lasciare vuoto per utilizzare la data di destinazione dall'ordine)" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "Contesto" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "Contesto aggiuntivo per questa voce" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "Prezzo unitario" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "L'articolo del fornitore deve corrispondere al fornitore" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "eliminato" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "Ordine" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "Articolo Fornitore" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Ricevuto" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Prezzo di Acquisto" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "Prezzo di acquisto unitario" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "Linea" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "Elemento" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Risultati" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "L'elemento di riga non corrisponde all'ordine di acquisto" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Codice a Barre" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "Codice a barre scansionato" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "Deve essere fornita una quantità intera per gli articoli rintracciabili" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "I seguenti numeri di serie sono già assegnati" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "Ricevere articoli" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "Ricevi elementi" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Contrassegna ordine come completato" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Completa l'ordine" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Riferimento ordine" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Descrizione Dell'Ordine" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "Stato dell'ordine" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "Nessuna informazione sul fornitore disponibile" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "Elementi della linea completati" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "Incompleto" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Emesso" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "Costo totale" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "Il costo totale non può essere calcolato" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "Collega il codice a barre all'ordine d'acquisto" @@ -5085,13 +5133,13 @@ msgstr "Duplica selezionati" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Elimina riga" @@ -5152,9 +5200,9 @@ msgstr "Elementi D'Ordine D'Acquisto" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Aggiungi Elemento Riga" @@ -5165,30 +5213,25 @@ msgstr "Aggiungi Elemento Riga" msgid "Receive Line Items" msgstr "Ricevi Oggetti Riga" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "Elimina Elementi Riga" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "Linee Extra" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "Aggiungi Linea Extra" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "Elementi Ricevuti" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Note dell'Ordine" @@ -5208,29 +5251,29 @@ msgstr "Stampa lista d'imballaggio" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "Riferimento Cliente" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "Costo Totale" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "Spedisci oggetti" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "Completa Ordine Di Vendita" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "Questo Ordine di Vendita non è stato assegnato completamente" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Spedizioni Completate" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "Elementi Ordine di Vendita" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Spedizione in sospeso" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Azioni" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "Nuova spedizione" @@ -5311,12 +5353,12 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome Articolo" @@ -5325,19 +5367,19 @@ msgstr "Nome Articolo" msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "Revisione" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Parole Chiave" @@ -5358,24 +5400,24 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Scorta Minima" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "In magazzino" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "Ordinato" @@ -5383,23 +5425,16 @@ msgstr "Ordinato" msgid "Used In" msgstr "Utilizzato In" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "Allocato" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "In Costruzione" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -5416,13 +5451,13 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Articoli" @@ -5439,7 +5474,7 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "IPN Articolo" @@ -5453,35 +5488,35 @@ msgstr "Prezzo Minimo" msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "Ordine D'Acquisto In Arrivo" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "Ordine di Vendita in Uscita" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "Giacenza prodotta dall'Ordine di Costruzione" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "Giacenza richiesta per l'Ordine di Produzione" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "Valido" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Posizione Predefinita" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "Giacenze Totali" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -5499,916 +5534,913 @@ msgstr "Disponibilità in magazzino" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "Categorie Articolo" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "Strutturale" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate." -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "Keywords predefinite" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "Parole chiave predefinite per gli articoli in questa categoria" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "Icona" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "Icona (facoltativa)" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "L'articolo '{p1}' è usato nella Distinta Base per '{p2}' (ricorsivo)" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corrispondere al modello regex {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "È Template" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Categoria" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:975 +#: part/models.py:976 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:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1029 +#: part/models.py:1030 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:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Data" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Report" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Richiesto" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "Dati" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "Livello" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Distinta base (Bom)" + +#: part/models.py:3808 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "Opzionale" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "Consumabile" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Convalidato" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità." -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" @@ -6421,9 +6453,9 @@ msgstr "Notifica di magazzino bassa" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "Quantità Totale" @@ -6461,14 +6493,6 @@ msgstr "La distinta base per %(part)s è stato controllato da %(checker msgid "The BOM for %(part)s has not been validated." msgstr "La distinta base per %(part)s non è stata convalidata." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "Azioni Distinta Base" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "Elimina Elementi" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "Esegui inventario per questa categoria articolo" @@ -6505,7 +6529,7 @@ msgstr "Cancella categoria" msgid "Top level part category" msgstr "Categoria articolo di livello superiore" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Sottocategorie" @@ -6518,33 +6542,20 @@ msgstr "Articoli (incluse le sottocategorie)" msgid "Create new part" msgstr "Crea nuovo articolo" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "Nuovo articolo" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "Opzioni" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Imposta categoria" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Imposta Categoria" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Parametri articolo" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "Crea nuova categoria articoli" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Nuova categoria" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "Aggiorna i dati di pianificazione" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Aggiorna" @@ -6592,7 +6603,7 @@ msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6604,101 +6615,101 @@ msgstr "Modelli Articoli Test" msgid "Add Test Template" msgstr "Aggiungi Modelli Test" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "Assegnazione Ordine Di Vendita" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "Note Articolo" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "Varianti articolo" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "Crea nuova variante" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "Nuova variante" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "Aggiungi un nuovo parametro" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Articoli correlati" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "Aggiungi Correlato" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Distinta base" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "Esporta azioni" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "Esporta Distinta Base" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "Stampa il report Distinta Base" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "Azioni Distinta Base" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "Carica Distinta Base" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "Valida Distinta Base" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "Aggiungi elemento Distinta Base" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "Assembla" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "Articoli prodotti" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "Costruisci le ubicazioni degli ordini" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "Fornitori articoli" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "Componenti Produttori" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "Elimina articoli produttore" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "Articoli correlati" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "Aggiungi articolo correlato" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "Aggiungi risultato modello test" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "Scarica il Modello Articolo Importato" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "Formato" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "Seleziona il formato del file" @@ -6779,7 +6790,7 @@ msgstr "Conta articoli magazzino" msgid "Transfer part stock" msgstr "Trasferisci giacenza" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "Azioni articolo" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "L'articolo non è attivo" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "Inattivo" @@ -6850,7 +6861,7 @@ msgstr "Assegnato agli Ordini di Produzione" msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "Puoi produrre" @@ -6858,8 +6869,8 @@ msgstr "Puoi produrre" msgid "Minimum stock level" msgstr "Livello minimo di giacenza" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "QR Code Articolo" msgid "Link Barcode to Part" msgstr "Collega il codice a barre all'Articolo" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "Varianti" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -6989,9 +7000,9 @@ msgstr "Aggiorna prezzo articolo" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -7054,12 +7065,12 @@ msgstr "Prezzo di Vendita" msgid "Add Sell Price Break" msgstr "Aggiungi Prezzo Ribassato di Vendita" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "Nessuna giacenza" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Disponibilità scarsa" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Corrispondenza trovata per i dati del codice a barre" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "Il codice a barre corrisponde a un elemento esistente" @@ -7226,43 +7237,43 @@ msgstr "Questo URL è stato utilizzato per inviare messaggi a un canale rallenta msgid "Open link" msgstr "Apri collegamento" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "Configurazione Plugin" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "Configurazioni Plugin" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "Key" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "Key dei plugin" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "PluginName del plugin" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "Il plugin è attivo" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "Plugin di esempio" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "Plugin Integrato" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Plugin" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "Metodo" @@ -7414,47 +7425,47 @@ msgstr "Filtri di produzione" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca produzione (elenco separato da virgole key=coppia di valori" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "Filtri Articolo" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca articolo (elenco separato da virgole key=coppia di valori" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "Ordine di Acquisto filtra la ricerca" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "Ordine di Vendita filtra la ricerca" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "Snippet" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "Risorsa" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "File risorsa descrizione" @@ -7475,8 +7486,8 @@ msgstr "Il fornitore è stato eliminato" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "Prezzo Unitario" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "Totale" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Numero Seriale" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "Risultati Test" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "Test" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "Elementi installati" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "Seriale" @@ -7617,31 +7628,31 @@ msgstr "Elimina al esaurimento" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "Data di Scadenza" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "Ubicazione magazzino" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "Posizioni magazzino" @@ -7670,8 +7681,8 @@ msgstr "Seleziona Owner" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Esterno" @@ -7687,7 +7698,7 @@ msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcun msgid "Stock items cannot be located into structural stock locations!" msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" @@ -7821,7 +7832,7 @@ msgstr "I numeri di serie devono essere numeri interi" msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" @@ -7849,7 +7860,7 @@ msgstr "L'elemento di magazzino è attualmente in produzione" msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" @@ -7901,132 +7912,141 @@ msgstr "Risultato della prova allegato" msgid "Test notes" msgstr "Note del test" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "Il numero di serie è troppo grande" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La quantità non deve superare la quantità disponibile ({q})" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "Note opzionali elemento" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "Elemento di magazzino non disponibile" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "L'articolo selezionato non è nella Fattura dei Materiali" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "Posizione di destinazione per gli elementi disinstallati" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "Elemento di magazzino non disponibile" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "L'articolo selezionato non è nella Fattura dei Materiali" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "Posizione di destinazione per gli elementi disinstallati" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "Posizione di destinazione per l'elemento restituito" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "Consenti di unire gli elementi di magazzino che hanno fornitori diversi" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "Consenti di unire gli elementi di magazzino con diversi codici di stato" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" @@ -8034,48 +8054,48 @@ msgstr "Note sugli spostamenti di magazzino" msgid "Stock Tracking Information" msgstr "Informazioni di Tracciamento Magazzino" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "Elementi Secondari Magazzino" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "Questo elemento di magazzino non ha nessun elemento secondario" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "Dati di Test" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Rapporto del Test" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "Elimina Dati di Test" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "Aggiungi Dati Di Test" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "Note Elemento di magazzino" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "Elementi di magazzino installati" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "Elimina tutti i risultati del test per questo elemento di magazzino" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "Aggiungi Risultato Test" @@ -8083,13 +8103,13 @@ msgstr "Aggiungi Risultato Test" msgid "Locate stock item" msgstr "Individua elemento di magazzino" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "Scansiona nella posizione" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "Impostazioni di stampa" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "Azioni adeguamento giacenza" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "Conta giacenza" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "Aggiungi giacenza" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "Rimuovi giacenza" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "Serializza magazzino" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "Trasferisci giacenza" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "Assegna al cliente" @@ -8159,6 +8182,11 @@ msgstr "Modifica elemento di magazzino" msgid "Delete stock item" msgstr "Cancella elemento di magazzino" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Produzione" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Elemento principale" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "Quantità Disponibile" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "Nessuna posizione impostata" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Questo Elemento Stock è scaduto il %(item.expiry_date)s" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "Scaduto" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Questo Elemento Stock scade il %(item.expiry_date)s" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "Obsoleto" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "Nessun inventario eseguito" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "Crea nuova posizione di magazzino" msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "Container magazzino scansionato in questa posizione" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "Codice QR Ubicazione Magazzino" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "Collega il Codice a Barre alla Posizione Magazzino" @@ -8451,71 +8479,71 @@ msgstr "Il sito è attualmente in manutenzione e dovrebbe essere online presto!" msgid "Index" msgstr "Indice" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "Articoli Sottoscritti" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "Categoria sottoscritta" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "Articoli Recenti" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "Distinta base In Attesa Di Convalida" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "Aggiornamento Recente" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Stock esaurito" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Richiesto per gli Ordini di Produzione" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "Stock Scaduto" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Stock obsoleto" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "Ordini di Produzione Attivi" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Ordini Di Produzione Scaduti" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Ordini Di Acquisto In Corso" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Ordini Di Acquisto In Ritardo" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Ordini Di Vendita In Corso" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Ordini Di Vendita in ritardo" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "Novità InvenTree" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "Notizie Attuali" @@ -8672,29 +8700,29 @@ msgstr "Impostazioni Plugin" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Cambiando le impostazioni qui sotto, si richiede di riavviare immediatamente il server. Non cambiare le impostazioni durante l'utilizzo." -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "Plugin" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Installa Plugin" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "I plugin esterni non sono abilitati per questa installazione InvenTree" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "Plugin Errore Stack" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "Stage" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Messaggio" @@ -8767,14 +8795,6 @@ msgstr "Commit Hash" msgid "Commit Message" msgstr "Commit Messaggio" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "Stato Firma" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "Chiave Di Firma" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "Impostazioni Ordine di Acquisto" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "Nessun parametro di categoria trovato" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "Modifica Template" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "Elimina Template" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "Home Page" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "Non verificato" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "Principale" @@ -9204,44 +9225,48 @@ msgstr "Aggiornato" msgid "Update Available" msgstr "Aggiornamento Disponibile" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "Documentazione InvenTree" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "Versione API" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Versione di Python" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Versione Django" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "Visualizza codice sorgente su GitHub" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "Crediti" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "App Mobile" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "Invia Segnalazione Bug" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "copia negli appunti" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "copia informazioni versione" @@ -9435,14 +9460,6 @@ msgstr "Aggiungi Collegamento" msgid "Add Attachment" msgstr "Aggiungi allegato" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "Elimina allegati selezionati" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "Elimina Allegati" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "Codice a Barre Identificativo" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "I seguenti articoli sono pochi nel magazzino richiesto" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "Clicca il seguente link per visualizzare questo articolo" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -9573,23 +9590,35 @@ msgstr "Codice errore" msgid "All selected attachments will be deleted" msgstr "Tutti gli allegati selezionati saranno eliminati" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "Elimina Allegati" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "Allegati non trovati" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "Modifica allegato" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "Data di Upload" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "Modifica allegato" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "Cancella allegato" @@ -9646,7 +9675,7 @@ msgstr "Questo rimuoverà il collegamento al codice a barre associato" msgid "Unlink" msgstr "Scollega" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "Rimuovere l'articolo in magazzino" @@ -9704,775 +9733,869 @@ 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:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "Creare un elemento della distinta base" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "Visualizzare i dati" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "Dati" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Chiudi" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "Scarica il modello di distinta base" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "Distinta base multilivello" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "Includere i dati della distinta base per i sottoassiemi" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "Livelli" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "Selezionare il numero massimo di livelli di distinta base da esportare (0 = tutti i livelli)" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "Includere Articoli Alternativi" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "Includere articoli alternativi nella distinta base esportata" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "Includere i dati dei parametri" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "Includere i dati dei parametri degli articoli nella distinta base esportata" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "Includere i dati delle scorte" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "Includere i dati delle scorte dei pezzi nella distinta base esportata" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "Includere i dati del produttore" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "Includere i dati del produttore delle parti nella distinta base esportata" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "Includere i dati dei fornitori" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "Includere i dati del fornitore di parti nella distinta base esportata" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "Includere i prezzi" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "Includere i prezzi delle parti nella distinta base esportata" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "Rimuovi articolo sostitutivo" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "Seleziona e aggiungi un nuovo articolo sostitutivo utilizzando l'input qui sotto" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "Sei sicuro di voler rimuovere questo collegamento all' articolo sostitutivo?" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "Rimuovi Articolo Sostitutivo" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "Aggiungi Sostitutivo" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "Modifica Elementi Sostitutivi Distinta Base" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "Tutti gli elementi selezionati della Distinta Base saranno eliminati" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "Elimina gli Elementi selezionati della Distinta Base?" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "Carica la Distinta Base per il sotto assemblaggio" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "Sostituti Disponibili" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "Variante stock consentita" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "Sostituti" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "I prezzi Distinta Base sono completi" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "I prezzi Distinta Base sono incompleti" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "Nessun prezzo disponibile" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "Nessuna Scorta Disponibile" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "Include variante e scorte sostitutive" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Comprende varianti magazzino" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "Comprende le scorte sostitutive" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "Elementi consumabili" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "Convalida elemento Distinta Base" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "Questa linea è stata convalidata" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "Modifica articoli sostitutivi" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "Modifica elemento Distinta Base" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "Cancella elemento Distinta Base" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "Visualizza Distinta Base" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "Nessun elemento trovato in Distinta Base" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "Articolo richiesto" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "Ereditato dalla Distinta Base principale" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "Modifica Ordine di produzione" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "Crea Ordine di Produzione" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "Annulla Ordine Di Produzione" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "Sei sicuro di voler annullare questa produzione?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "Gli elementi di magazzino è stata assegnata a questo ordine di produzione" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "Ci sono output incompleti rimanenti per questo ordine di produzione" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "L'ordine di produzione è pronto per essere completato" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "Questo ordine di produzione non può essere completato in quanto ci sono output incompleti" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "L'Ordine di Produzione è incompleto" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "Completa l'Ordine di Produzione" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "Il prossimo numero di serie disponibile è" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "Ultimo Numero Di Serie" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "La distinta base contiene articoli tracciabili" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "Gli outputs della produzione devono essere generati singolarmente" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "Gli articoli tracciabili possono avere numeri di serie specificati" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Inserisci i numeri seriali per generare più output di produzione" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "Crea Output di Produzione" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "Assegna gli elementi di magazzino a questo output di produzione" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" -msgstr "Non assegnare stock all'output di produzione" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" +msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "Completa output di produzione" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "Cancella output di produzione" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" -msgstr "Sei sicuro di voler annullare l'allocazione degli elementi stock da questa produzione?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" +msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" -msgstr "Non assegnare Elementi Stock" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" +msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "Seleziona Output di produzione" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "Almeno un output di produzione deve essere selezionato" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "Output" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "Completa l'output di produzione" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "Cancella l'output di produzione" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "Nessuna allocazione per l'ordine di produzione trovato" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "Posizione non specificata" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "Completa gli outputs" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "Cancella l'output" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "Nessun output di produzione attivo trovato" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" -msgstr "Scorte Assegnate" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" +msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" -msgstr "Nessun elemento Distinta Base tracciato per questa produzione" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" +msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "Test Completati" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "Nessun test richiesto per questa produzione" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "Modifica allocazione magazzino" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "Elimina posizione giacenza" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "Modifica Posizione" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "Rimuovi Posizione" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "Articoli sostitutivi disponibili" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "Quantità Per" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "Scorte insufficienti disponibili" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "Scorte sufficienti disponibili" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "Produci scorta" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "Ordina scorta" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "Assegna scorta" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Seleziona Articoli" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "È necessario selezionare almeno un articolo da assegnare" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Specificare il quantitativo assegnato allo stock" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "Tutti gli articoli assegnati" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "Tutti gli articoli selezionati sono stati completamente assegnati" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 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)" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "Assegna gli Elementi Stock all'Ordine di Produzione" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Nessuna posizione di magazzino corrispondente" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "Nessun elemento corrispondente trovato" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "Assegna Automaticamente Scorte" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Gli elementi in magazzino saranno automaticamente assegnati a questo ordine di produzione, secondo le linee guida fornite" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Se viene specificata una posizione, le scorte saranno assegnate solo da quella ubicazione" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Se lo stock è considerato intercambiabile, sarà assegnato dal primo luogo in cui viene trovato" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Se lo stock sostitutivo è ammesso, sarà utilizzato nel caso in cui lo stock dell'articolo primario non possa essere trovato" -#: templates/js/translated/build.js:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "Assegna Elementi di Magazzino" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "Nessuna produzione corrispondente alla ricerca" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "Seleziona" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "L'ordine di produzione è in ritardo" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "Avanzamento" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "Nessuna informazione utente" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "gruppo" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" -msgstr "Nessun articolo assegnato per" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" +msgstr "Modifica allocazione magazzino" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "Elimina posizione giacenza" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "Modifica Posizione" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "Rimuovi Posizione" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "Parte tracciabile" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "Scorte insufficienti disponibili" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "Scorte sufficienti disponibili" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "Produci scorta" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "Ordina scorta" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "Assegna scorta" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "Aggiungi Produttore" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "Aggiungi Articolo Produttore" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "Modifica Articolo Produttore" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "Aggiungi fornitore" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "Aggiungi fornitore articolo" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "Cancella Articoli Fornitore" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "Aggiungi nuova Azienda" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "Fornitori articoli" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "Articoli prodotti" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "Nessuna informazione azienda trovata" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "Crea nuovo contatto" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "Modifica contatto" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "Ruolo" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "Nessun contatto trovato" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "Numero di telefono" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "Indirizzo email" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "Elimina contatto" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "Tutti gli articoli del produttore selezionati saranno eliminati" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "Elimina Articoli Produttore" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "Tutti i parametri selezionati saranno cancellati" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Articoli ordinati" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "Elimina articoli produttore" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "Nessun articolo produttore trovato" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "Modello Articolo" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "Articolo assemblato" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "Nessun parametro trovato" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "Elimina il parametro" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "Modifica parametro" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "Elimina Parametri" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Elimina articolo fornitore" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "Nessun fornitore trovato" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "Disponibilità" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "Modifica articolo fornitore" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "Elimina articolo fornitore" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "Elimina riduzione di prezzo" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "Modifica Prezzo Limite" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "Nessuna informazione di riduzione di prezzo trovata" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "Ultimo aggiornamento" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "Modifica riduzione di prezzo" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "Cancella riduzione di prezzo" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "vero" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "falso" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "Seleziona filtro" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "Stampa Etichette" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "Stampa report" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "Aggiungi nuovo filtro" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "Cancella tutti i filtri" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "Crea filtro" @@ -10497,6 +10620,12 @@ msgstr "Operazione di eliminazione non consentita" msgid "View operation not allowed" msgstr "Mostra operazione non consentita" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Elimina" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "Mantieni aperto questo modulo" @@ -10514,23 +10643,23 @@ msgstr "Esistono errori nel modulo" msgid "No results found" msgstr "Nessun risultato trovato" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "Ricerca" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "Cancella input" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "Colonna File" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "Nome del campo" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "Seleziona Colonne" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "Seleziona Stampante" @@ -10651,7 +10788,7 @@ msgstr "Nessuna notizia trovata" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "ID" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "Cancella Linea" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "Nessuna linea elementi trovata" @@ -10716,363 +10853,355 @@ msgstr "Modifica linea" msgid "Delete line" msgstr "Cancella linea" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "Attributi Articolo" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "Opzioni Creazione Articolo" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "Opzioni Duplicazione Articolo" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "Aggiungi Categoria Articolo" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "Categoria articolo principale" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "Icona (opzionale) - Esplora tutte le icone disponibili su" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "Crea Categoria Articolo" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "Crea una nuvoa categoria dopo questa" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "Modifica Categoria Articoli" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "Sei sicuro di voler eliminare questa categoria articolo?" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "Sposta nella categoria superiore" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "Elimina categoria" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "Azione articoli in questa categoria" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "Azione per categorie secondarie" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "Crea Articolo" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "Crea un altro articolo dopo questo" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "Articolo creato con successo" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "Modifica l'articolo" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "Articolo modificato" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "Crea Varianti Articolo" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "Articolo Attivo" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "L'articolo non può essere eliminato poiché è attualmente attivo" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "L'eliminazione di questo articolo non è reversibile" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "Tutte le giacenze per questo articolo verranno eliminate" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "Questo articolo verrà eliminato da qualsiasi Fattura dei Materiali" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "Tutte le informazioni del produttore e del fornitore per questo articolo verranno eliminate" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "Cancella Articolo" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "Sei iscritto alle notifiche per questo elemento" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "Hai sottoscritto le notifiche per questo elemento" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "Sottoscrivi le notifiche per questo elemento" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "Hai annullato l'iscrizione alle notifiche per questo elemento" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "La convalida della Distinta Base segnerà ogni voce di riga come valida" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "Convalida la distinta dei materiali" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "Valida Fattura dei Materiali" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "Copia Fattura dei Materiali" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "In esaurimento" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "Nessuno stock disponibile" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "Richieste" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "Unità" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "Parte tracciabile" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "Parte virtuale" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "Parte sottoscritta" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "Parte vendibile" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "Programmare la generazione di un nuovo report inventario." -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "Una volta completato, il report inventario sarà disponibile per il download." -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "Genera Report Inventario" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "Programma report inventario" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "Nessuna informazione sull'inventario disponibile" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "Modifica Voce Inventario" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "Elimina Voce Inventario" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "Nessuna variante trovata" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "Nessun parametro dell'articolo templates trovato" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "Modifica Parametro Articolo Template" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "Ogni parametro che fa riferimento a questo modello verrà eliminato" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "Elimina Parametro Articolo Template" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "Nessun ordine d'acquisto trovato" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "Questo elemento è in ritardo" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "Ricevi linea elemento" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "Elimina relazione tra i componenti" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "Elimina Relazione Articolo" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "Nessun articolo trovato" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "Nessuna categoria" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "Visualizza come elenco" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "Visualizza come griglia" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "Imposta la categoria prodotto per i prodotti selezionati" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "Imposta categoria articolo" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Imposta categoria" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "Nessuna categoria" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "Visualizza come elenco" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" -msgstr "Seleziona Categoria Articolo" +msgid "Display as grid" +msgstr "Visualizza come griglia" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "Carica Sotto Categorie" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "Carica Sotto Categorie" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "Nessun modello di test corrispondente" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Modificare il risultato del test" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "Questo test è definito per un articolo principale" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "Modifica Modello Risultato Test" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "Elimina Modello Risultato Test" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "Nessuna data specificata" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "La data specificata è nel passato" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "Speculativo" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "Nessuna informazione di pianificazione disponibile per questo prodotto" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "Errore nel recupero delle informazioni di programmazione per questo articolo" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "Quantità Di Scorte Programmate" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "Quantità Massima" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "Livello Minimo Stock" @@ -11168,234 +11297,234 @@ msgstr "Non sono disponibili dati varianti" msgid "Variant Part" msgstr "Variante Articolo" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "Selezione l'ordine di acquisto da duplicare" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "Duplica linee degli elementi" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "Duplica tutte le linee elementi dall'ordine selezionato" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "Duplica Linee Extra" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "Duplica elementi linee extra dall'ordine selezionato" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "Modifica ordine d'acquisto" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "Opzioni Duplicazione" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "Completa Ordine D'Acquisto" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "Contrassegnare questo ordine come completato?" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "Tutti gli elementi della riga sono stati ricevuti" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "Questo ordine ha elementi di riga che non sono stati contrassegnati come ricevuti." -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "Completare questo ordine significa che l'ordine e gli elementi della riga non saranno più modificabili." -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "Annulla Ordine di Acquisto" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Sei sicuro di voler annullare questo ordine di acquisto?" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "Questo ordine d'acquisto non può essere cancellato" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "Dopo aver effettuato questo ordine, gli elementi della riga non saranno più modificabili." -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "Problema Ordine di Acquisto" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "Deve essere selezionata almeno un articolo acquistabile" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "Quantità da ordinare" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "Nuovo articolo fornitore" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "Nuovo ordine d'acquisto" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "Aggiungi ordine d'acquisto" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "Nessun fornitore articolo corrispondente" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "Seleziona Linee Elementi" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "È necessario selezionare almeno una linea elemento" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "Quantità Ricevuta" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "Quantità da ricevere" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "Stato giacenza" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "Aggiungi codice a barre" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "Rimuovi il codice a barre" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "Specifica la posizione" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "Aggiungi codice lotto" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "Aggiungi numeri seriali" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "Seriale" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "Codice ordine" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "Quantità da Ricevere" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "Conferma la ricezione degli elementi" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "Ricevi Elementi Ordine D'Acquisto" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "Scansiona codice a barre" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "Scansiona il codice a barre sull'elemento in arrivo (non deve corrispondere a nessun articolo disponibile esistente)" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "Dati codice a barre non validi" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "L'Ordine è in ritardo" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Elementi" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "Duplica Linee Elementi" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "Modifica Linee Elementi" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "Cancella Linea Elemento" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "Duplica linea elemento" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "Modifica linea elemento" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "Cancella linea elemento" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "Aggiungi cliente" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "Crea Ordine Di Reso" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "Modifica Ordine Di Reso" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "Cliente non valido" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "Nessun elemento di riga corrispondente" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "Crea Ordine di Vendita" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "Modifica Ordine di Vendita" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "I seguenti elementi in magazzino saranno spediti" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "Completa Spedizione" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "Conferma Spedizione" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "Nessuna spedizione in sospeso trovata" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "Nessun elemento di magazzino disponibile è stato assegnato a questa spedizione" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "Spedizioni Completate" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "Salta" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "Questo ordine ha elementi di riga che non sono stati completati." -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "Annulla Ordine di Vendita" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Cancellando questo ordine, l'ordine non sarà più modificabile." -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "Crea Nuova Spedizione" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "Non sono state trovati ordini di vendita" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "Modifica spedizione" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "Completa spedizione" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "Elimina spedizione" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "Modifica spedizione" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "Elimina Spedizione" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "Nessuna spedizione corrispondente trovata" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "Riferimento della spedizione" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "Non spedito" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "Tracciamento" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "Fattura" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "Aggiungi Spedizione" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "Conferma l'assegnazione della giacenza" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "Assegna Elementi di Magazzino all'Ordine di Vendita" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "Nessun ordine di vendita trovato" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "Modifica posizione giacenza" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "Conferma Operazione Eliminazione" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "Spedito al cliente" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "Nessun posizione specificata" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "Assegna Numeri di Serie" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "Prezzo d'acquisto" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "Calcola il prezzo" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "Non può essere eliminato perché gli elementi sono stati spediti" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "Non può essere eliminato perché gli elementi sono stati assegnati" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "Assegna Numeri di Serie" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "Aggiorna Prezzo Unitario" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "Nessun risultato" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "risultato" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "risultati" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "Minimizza risultati" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "Rimuovi risultati" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "Serializza Elementi di Magazzino" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "Conferma Serializzazione Magazzino" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "Posizione giacenza principale" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "Modifica Posizione Giacenza" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "Nuova posizione giacenza" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "Crea un'altra posizione dopo questa" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "Posizione magazzino creata" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "Sei sicuro di voler eliminare questa posizione?" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "Sposta nella posizione principale magazzino" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "Elimina Posizione di Giacenza" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "Azione per gli elementi stock in questa posizione magazzino" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "Azione per sotto-ubicazioni" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "Questo articolo non può essere serializzato" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "Inserisci quantità iniziale per questo articolo in giacenza" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "Elemento di magazzino duplicato" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "Duplica elemento di magazzino" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "Sei sicuro di voler rimuovere questo elemento di magazzino?" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "Cancella Elemento di Magazzino" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "Modifica elemento magazzino" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "Crea un altro oggetto dopo questo" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "Crea nuova allocazione magazzino" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "Creato più elementi stock" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "Trova Numero Di Serie" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "Inserisci numero di serie" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "Inserisci un numero di serie" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "Nessun numero di serie corrispondente" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "Trovati più di un risultato corrispondente" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "Conferma l'assegnazione delle scorte" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "Assegnare la scorta al cliente" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "Attenzione: L'operazione di unione non può essere annullata" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "Alcune informazioni andranno perse durante la fusione degli articoli di magazzino" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "La cronologia delle transazioni di magazzino verrà eliminata per gli articoli uniti" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "Le informazioni sulle parti del fornitore verranno eliminate per gli articoli uniti" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "Confermare l'unione degli articoli di magazzino" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "Unire gli articoli di magazzino" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "Trasferisci giacenza" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "Sposta" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "Conta giacenza" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "Conta" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "Rimuovi giacenza" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "Prendi" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "Aggiungi giacenza" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "Aggiungi" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "Elimina Stock" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "La quantità non può essere regolata per le scorte serializzate" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "Specificare la quantità di magazzino" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "Seleziona Elementi Magazzino" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" -msgstr "Devi selezionare almeno un articolo disponibile" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" +msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "Confermare l'adeguamento delle scorte" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "OK" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "FALLITO" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "NESSUN RISULTATO" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "Test OK" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "Aggiungi risultato test" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "Nessun risultato di prova trovato" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "Data del test" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "Modifica del risultato del test" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "In produzione" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "Installato nell'elemento stock" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "Assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "Nessuna giacenza impostata" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "Unisce la giacenza" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "Elimina Stock" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "L'articolo di magazzino è in produzione" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "Articolo di magazzino assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "Articolo stock assegnato al cliente" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "L'articolo di magazzino serializzato è stato assegnato" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "La voce di magazzino è stata completamente assegnata" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "La voce di magazzino è stata parzialmente allocata" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "L'elemento stock è stato installato in un altro articolo" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "L'articolo stock è scaduto" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "Articolo in giacenza prossimo alla scadenza" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "L'articolo stock è stato rifiutato" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "L'articolo di magazzino è andato perso" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "Articolo di magazzino distrutto" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "Fornitore dell'articolo non specificato" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "Valore Scorte" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "Nessun articolo in magazzino corrispondente alla richiesta" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "Caricare sublocazioni" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "Dettagli" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "Informazioni sull'articolo non disponibili" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "L'ordine di acquisto non esiste più" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "L'ordine di vendita non esiste più" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "L'ordine di ritorno non esiste più" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "Il cliente non esiste più" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "L'articolo in magazzino non esiste più" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "Nessun elemento installato" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "Disinstallare l'articolo di magazzino" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "Selezionare l'articolo di magazzino da disinstallare" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "Installare un altro articolo di magazzino in questo articolo" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Gli articoli in magazzino possono essere installati solo se soddisfano i seguenti criteri" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "L'articolo di magazzino si collega a un'articolo che è la distinta base di questo articolo di magazzino" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "L'articolo in stock è attualmente disponibile in magazzino" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "L'articolo di magazzino non è già installato in un altro articolo" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "L'articolo di magazzino è tracciato da un codice di lotto o da un numero di serie" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "Selezionare la parte da installare" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "Ha il codice del progetto" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "Stato dell'ordine" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "In Sospeso" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "Assegnato a me" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "Articolo tracciabile" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "Articolo assemblato" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "Ha scorte disponibili" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "Varianti consentite" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "Prezzo" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "Includi sottoallocazioni/posizioni" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "Includi posizioni" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "Includi sottocategorie" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "Sottoscritto" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "E' Serializzato" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "Numero di serie GTE" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "Numero di serie maggiore di o uguale a" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "Numero di serie LTE" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "Numero di serie inferiore di o uguale a" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "Numero di serie" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "Codice Lotto" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "Elementi attivi" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "Mostra stock per gli articoli attivi" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "L'articolo è un assemblato" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "È assegnato" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "L'elemento è stato posizionato" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "Stock disponibile per l'utilizzo" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "Includi elementi in giacenza nelle sottoallocazioni" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "Mostra gli elementi di magazzino che sono esauriti" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "Mostra gli elementi che sono in giacenza" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "In Produzione" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "Mostra gli elementi in produzione" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "Includi Varianti" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "Includi gli articoli stock per le varianti degli articoli" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "Installato" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "Mostra gli elementi stock che sono installati in un altro elemento" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "Mostra elementi che sono stati assegnati a un cliente" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "Stato magazzino" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "Ha codice lotto" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "Monitorato" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "L'articolo stock è monitorato dal codice lotto o dal numero di serie" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "Ha il prezzo d'acquisto" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "Mostra gli articoli di magazzino che hanno un prezzo di acquisto impostato" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "Data di scadenza precedente" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "Data di scadenza successiva" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "Mostra gli elementi in giacenza scaduti" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "Mostra giacenza prossima alla scadenza" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "Test superato" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "Includi Elementi Installati" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "Stato Build" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "Includi articoli nelle sottocategorie" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "Visualizza articoli attivi" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "Stock disponibile" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "Ha IPN" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "L'articolo possiede un part number interno" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "In giacenza" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "Acquistabile" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "Ha voci d'inventario" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "Esporta Dati Tabella" msgid "Select File Format" msgstr "Seleziona Formato File" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "Caricamento dati" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "righe per pagina" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "Mostra tutte le righe" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "Visualizzo" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "a" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "di" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "righe" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "Nessun risultato corrispondente" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "Mostra/nascondi la paginazione" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "Attiva/disattiva" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "Colonne" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "Tutti" @@ -12617,50 +12778,6 @@ msgstr "Impostazioni e-mail" msgid "Email settings not configured" msgstr "Impostazioni dell'email non configurate" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "Azioni Barcode" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "Opzioni Magazzino" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "Aggiungi alle voci stock selezionate" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "Rimuovi dagli elementi stock selezionati" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "Inventario articoli di magazzino selezionati" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "Sposta gli elementi stock selezionati" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "Unisce gli articoli di magazzino selezionati" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "Unisce la giacenza" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "Ordina articolo selezionato" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "Elimina articoli selezionati" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "Elimina Stock" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "Si" @@ -12693,35 +12810,35 @@ msgstr "Permessi" msgid "Important dates" msgstr "Date Importanti" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Gruppo" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Visualizza" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "Modificare" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 880aabe65c..04d9628f31 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -49,26 +49,26 @@ msgstr "エラーの詳細は管理者パネルで確認できます" msgid "Enter date" msgstr "日付を入力する" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "メモ" @@ -81,47 +81,51 @@ msgstr "値 '{name}' はパターン形式で表示されません" msgid "Provided value does not match required pattern: " msgstr "指定された値が必要なパターンと一致しません: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "パスワードを入力してください" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "新しいパスワードを入力してください。" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "パスワードの確認" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "新しいパスワードの確認" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "古いパスワード" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "メールアドレス(確認用)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "メールアドレスの確認" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "毎回同じメールアドレスを入力する必要があります。" -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "指定されたプライマリEメールアドレスは無効です。" -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "指定されたメールドメインは承認されていません。" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -239,7 +243,7 @@ msgstr "外部リンクが見つかりません。" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "添付ファイル" @@ -247,29 +251,30 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "リンク" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "外部 サイト へのリンク" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "コメント:" @@ -277,13 +282,13 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "ユーザー" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "説明" @@ -383,7 +389,7 @@ msgid "parent" msgstr "親" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -419,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "ギリシャ語" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "英語" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "スペイン語" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "スペイン語(メキシコ)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "ヘブライ語" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "ハンガリー語" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "イタリア語" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "日本語" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "韓国語" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "オランダ語" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "ノルウェー語" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "ポルトガル語" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "ポルトガル語 (ブラジル)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "ロシア語" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "スロベニア語" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "スウェーデン語" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "タイ語" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "ベトナム語" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "中国語" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "メールアドレスが未設定です" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InvenTree システムのヘルスチェックに失敗しました" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "処理待ち" @@ -630,7 +636,7 @@ msgstr "設置済" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "完了" @@ -654,10 +660,10 @@ msgstr "返品済" msgid "In Progress" msgstr "処理中" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "発送済み" @@ -689,7 +695,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "在庫商品を作成しました" @@ -745,7 +751,7 @@ msgstr "親アイテムから分割する" msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "商品在庫をマージしました" @@ -765,7 +771,7 @@ msgstr "組立注文の出力が完了しました" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "顧客に送信されました" @@ -849,83 +855,111 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "システム情報" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "InvenTree について" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "パーツ" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "作成日時" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "組立" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "パーツを割り当てるためにビルドする" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "在庫商品" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "数量" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "在庫商品" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "ステータス" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "注文必須パーツ" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "パーツの注文" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "テンプレート" @@ -2271,10 +2264,10 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "アセンブリ" @@ -2282,8 +2275,8 @@ msgstr "アセンブリ" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "コンポーネント" @@ -2291,7 +2284,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "購入可能" @@ -2299,8 +2292,8 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "追跡可能" @@ -2319,10 +2312,10 @@ msgstr "追跡可能" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "製造元" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "仕入先" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "サプライヤー・パーツ" @@ -3916,129 +3985,121 @@ msgstr "新しいサプライヤー・パーツを作成" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "新しいサプライヤー・パーツ" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "パーツの注文" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "パーツを削除" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "パーツを削除" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "メーカー・パーツ" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "新しいメーカー・パーツを作成" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "新しいメーカ―・パーツ" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "パーツの注文" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "メーカー・パーツの編集" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "仕入先" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "購入金額" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "パーツ" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "カテゴリ" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "新規パーツ" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "新規カテゴリ" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "在庫" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "在庫切れ" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "組立" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "期限切れ" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "期限切れ在庫" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "メーカー・パーツの編集" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "パーツの注文" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "続けて別のパーツを作る" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "許可" msgid "Important dates" msgstr "重要な日付" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "パーミッション設定" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "グループ" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "表示" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "項目を表示する権限" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "項目を追加する権限" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "変更" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "項目を編集する権限" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "項目を削除する権限" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index f4ff874d4c..cbc11f5e6c 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -49,26 +49,26 @@ msgstr "오류 세부 정보는 관리자 패널에서 찾을 수 있습니다." msgid "Enter date" msgstr "날짜 입력" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "메모" @@ -81,47 +81,51 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "비밀번호를 입력하세요" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "새로운 비밀번호를 입력하세요" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "비밀번호 확인" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "새 비밀번호 확인" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "이전 암호" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "이메일 (다시 입력)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "이메일 주소 확인" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "" @@ -239,7 +243,7 @@ msgstr "" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "첨부파일" @@ -247,29 +251,30 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "링크" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "외부 URL로 링크" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "" @@ -277,13 +282,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "사용자" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "이름" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "설명" @@ -383,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -419,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "체코어" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "독일어" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "그리스어" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "영어" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "스페인어" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "스페인어 (멕시코)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "파르시어/페르시아어" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "프랑스어" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "히브리어" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "헝가리어" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "이탈리아어" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "일본어" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "한국어" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "네덜란드어" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "노르웨이어" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "폴란드어" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "러시아어" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "스웨덴어" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "태국어" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "터키어" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "베트남어" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "중국어" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "" @@ -630,7 +636,7 @@ msgstr "" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" @@ -654,10 +660,10 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "" @@ -689,7 +695,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "" @@ -745,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "" @@ -765,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "" @@ -849,83 +855,111 @@ msgstr "비밀번호가 일치해야 합니다" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "시스템 정보" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "외부 링크" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "수량" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "일련번호" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "위치" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "상태" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "구입 가능" @@ -2299,8 +2292,8 @@ msgstr "구입 가능" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "판매 가능" @@ -2308,10 +2301,10 @@ msgstr "판매 가능" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 +msgid "Enable registration" +msgstr "" + +#: common/models.py:1550 +msgid "Enable self-registration for users on the login pages" +msgstr "" + +#: common/models.py:1556 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "" - #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "작성자" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "이미지" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "웹사이트" @@ -3507,303 +3485,387 @@ msgstr "웹사이트" msgid "Company website URL" msgstr "회사 웹사이트 URL" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "주소" - -#: company/models.py:119 -msgid "Company address" -msgstr "회사 주소" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "전화번호" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "이메일" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "회사" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "회사 정보 수정" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "회사 수정" @@ -3856,17 +3918,17 @@ msgstr "URL에서 이미지 다운로드" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "고객" @@ -3874,6 +3936,13 @@ msgstr "고객" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "주소" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "전화번호" @@ -3906,7 +3975,7 @@ msgstr "이미지 다운로드" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "삭제" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "신규 고객" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "새 회사" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "너비 [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "높이 [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "바코드" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "이미 사용 중인 바코드입니다" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "데이터" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "이미지 복사" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "부품 명세서" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "키" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "단가" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "일련번호" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "일련번호가 이미 존재합니다" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "메시지" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "홈페이지" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "InvenTree 문서" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "API 버전" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Python 버전" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Django 버전" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "GitHub에서 코드 보기" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "모바일 앱" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "버전 정보 복사" @@ -9435,14 +9460,6 @@ msgstr "링크 추가" msgid "Add Attachment" msgstr "첨부파일 추가" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "선택" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "삭제" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "부품 명세서 복사" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "일련번호 찾기" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "일련번호를 입력하세요" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "일치하는 일련번호가 없습니다" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "일련번호" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 0af7efebbb..daeb6fce30 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -49,26 +49,26 @@ msgstr "Error details kunnen worden gevonden in het admin scherm" msgid "Enter date" msgstr "Voer datum in" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Opmerkingen" @@ -81,47 +81,51 @@ msgstr "Waarde '{name}' verschijnt niet in patroonformaat" msgid "Provided value does not match required pattern: " msgstr "Opgegeven waarde komt niet overeen met vereist patroon: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Voer wachtwoord in" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Voer een nieuw wachtwoord in" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Wachtwoord bevestigen" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Nieuw wachtwoord bevestigen" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Oude wachtwoord" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "E-mailadres (opnieuw)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "E-mailadres bevestiging" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Er moet hetzelfde e-mailadres ingevoerd worden." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Het opgegeven primaire e-mailadres is ongeldig." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveelheid ingevoerd" @@ -239,7 +243,7 @@ msgstr "Externe link ontbreekt" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Bijlage" @@ -247,29 +251,30 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link naar externe URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Opmerking" @@ -277,13 +282,13 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Gebruiker" @@ -324,53 +329,54 @@ msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Omschrijving" @@ -383,7 +389,7 @@ msgid "parent" msgstr "bovenliggende" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Pad" @@ -419,12 +425,12 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URL van extern afbeeldingsbestand" msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Tsjechisch" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Deens" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Spaans (Mexicaans)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Perzisch" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Hongaars" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugees" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugees (Braziliaans)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Sloveens" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Chinees" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "E-mailbackend niet geconfigureerd" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InvenTree gezondsheidschecks mislukt" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Bezig" @@ -630,7 +636,7 @@ msgstr "Geplaatst" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Voltooid" @@ -654,10 +660,10 @@ msgstr "Retour" msgid "In Progress" msgstr "In Behandeling" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Verzonden" @@ -689,7 +695,7 @@ msgstr "In quarantaine geplaatst" msgid "Legacy stock tracking entry" msgstr "Verouderde volgcode" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Voorraaditem gemaakt" @@ -745,7 +751,7 @@ msgstr "Splits van bovenliggend item" msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" @@ -765,7 +771,7 @@ msgstr "Product voltooid" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Verbruikt door productieorder" @@ -781,7 +787,7 @@ msgstr "Ontvangen onder verkooporder" msgid "Returned against Return Order" msgstr "Geretourneerd onder retourorder" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Naar klant verzonden" @@ -849,83 +855,111 @@ msgstr "Wachtwoordvelden komen niet overeen" msgid "Wrong password provided" msgstr "Onjuist wachtwoord opgegeven" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Systeeminformatie" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Over InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "Toegewezen" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Productieorder" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Productieorders" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Ongeldige keuze voor bovenliggende productie" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referentie" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Productieorder waar deze productie aan is toegewezen" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Onderdeel" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Selecteer onderdeel om te produceren" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Verkooporder Referentie" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Bronlocatie" -#: build/models.py:207 +#: build/models.py:211 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:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Bestemmings Locatie" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Productiehoeveelheid" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Aantal voorraaditems om te produceren" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Voltooide voorraadartikelen" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Productiestatus" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Aanmaakdatum" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Verwachte opleveringsdatum" -#: build/models.py:258 +#: build/models.py:262 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:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Opleveringsdatum" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "voltooid door" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Uitgegeven door" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Verantwoordelijke" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Externe Link" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Bouw prioriteit" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -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:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, 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:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Voorraad item is te veel toegewezen" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Product" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Product om onderdelen toe te wijzen" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Voorraadartikel" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Bron voorraadartikel" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Bron voorraadartikel" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +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:1366 +#, 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:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Voorraad item is te veel toegewezen" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Voorraadartikel" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Bron voorraadartikel" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:261 +#: build/serializers.py:269 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:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Locatie" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Status" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "Toegewezen Voorraad Verwijderen" -#: build/serializers.py:572 +#: build/serializers.py:580 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:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "Overgealloceerde voorraad" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hoe wilt u omgaan met extra voorraaditems toegewezen aan de bouworder" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:649 +#: build/serializers.py:657 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:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:665 +#: build/serializers.py:673 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:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Stuklijstartikel" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 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:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:852 +#: build/serializers.py:859 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:859 +#: build/serializers.py:866 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:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:943 +#: build/serializers.py:947 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:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "Alloceer optionele BOM items om bestelling te bouwen" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Barcode acties" @@ -1618,69 +1668,67 @@ msgstr "Voltooi Productie" msgid "Build Description" msgstr "Productiebeschrijving" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "Er zijn geen productuitvoeren aangemaakt voor deze productieorder" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "Productieorder is gereed om te markeren als voltooid" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Productieorder kan niet worden voltooid omdat er nog producties openstaan" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "Vereiste Producthoeveelheid is nog niet bereikt" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Streefdatum" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "Deze productie was verwacht op %(target)s" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Achterstallig" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Voltooid" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "Voltooide Uitvoeren" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Voltooid" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Verkooporder" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Uitgegeven door" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "Prioriteit" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Verwijder Productieorder" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "Bouworder QR Code" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "Link Barcode aan bouwopdracht" @@ -1729,8 +1777,8 @@ 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:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Bestemming" @@ -1744,21 +1792,21 @@ msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Batch" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Gecreëerd" @@ -1766,147 +1814,106 @@ msgstr "Gecreëerd" msgid "No target date set" msgstr "Geen doeldatum ingesteld" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Voltooid" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Productie niet compleet" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "Onderliggende Productieorders" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Voorraad toewijzen aan Product" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Voorraadtoewijzing ongedaan maken" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Voorraadtoewijzing ongedaan maken" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "Automatisch voorraad toewijzen aan productie" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "Automatisch Toewijzen" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "Handmatig voorraad toewijzen aan productie" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Voorraad Toewijzen" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Vereiste onderdelen bestellen" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Onderdelen bestellen" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "Niet-gevolgde voorraad is volledig toegewezen aan deze Productieorder" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "Niet-gevolgde voorraad is niet volledig toegewezen aan deze Productieorder" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "Geselecteerde items toewijzen" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Deze Productieorder heeft geen bijbehorende niet-gevolgde BOM-artikelen" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "Onvolledige Productieuitvoeren" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "Nieuwe productieuitvoer aanmaken" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "Nieuwe Productieuitvoer" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "Uitvoer Acties" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "Voltooi geselecteerde productieuitvoeren" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "Voltooi uitvoeren" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "Voltooi geselecteerde productieuitvoeren" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "Verwijder uitvoeren" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "Voltooide Productieuitvoeren" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Bijlagen" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Productie notities" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "Toewijzing Voltooid" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "Alle niet gevolgde voorraadartikelen zijn toegewezen" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" +msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Nieuwe Productieorder" @@ -1914,14 +1921,10 @@ msgstr "Nieuwe Productieorder" msgid "Build Order Details" msgstr "Productieorderdetails" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Onvolledige Productieuitvoeren" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "Voltooide Uitvoeren" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "Bijgewerkt" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Sjabloon" @@ -2271,10 +2264,10 @@ msgstr "Sjabloon" msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Samenstelling" @@ -2282,8 +2275,8 @@ msgstr "Samenstelling" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Component" @@ -2291,7 +2284,7 @@ msgstr "Component" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Koopbaar" @@ -2299,8 +2292,8 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Verkoopbaar" @@ -2308,10 +2301,10 @@ msgstr "Verkoopbaar" msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Volgbaar" @@ -2319,10 +2312,10 @@ msgstr "Volgbaar" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Virtueel" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 +msgid "Show Installed Stock Items" +msgstr "" + +#: common/models.py:1472 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1478 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "" - #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "Recente Voorraadtelling" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "Recente Voorraadtelling" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Prijs" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Actief" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "Token" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Geheim" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "Host" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "Koptekst" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "Afbeelding" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Website" @@ -3507,303 +3485,387 @@ msgstr "Website" msgid "Company website URL" msgstr "URL bedrijfswebsite" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Adres" - -#: company/models.py:119 -msgid "Company address" -msgstr "Bedrijfsadres" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Telefoonnummer" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Telefoonnummer voor contact" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "Email" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Contact e-mailadres" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contact" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Contactpunt" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "is klant" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "is leverancier" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "is fabrikant" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Bedrijf" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basis onderdeel" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Onderdeel selecteren" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Fabrikant" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "MPN" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Waarde" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Eenheden" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Parameter eenheden" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Leverancier" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "SKU" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Opmerking" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "basisprijs" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "meerdere" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "Order meerdere" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Beschikbaar" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Inkooporder aanmaken" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Bedrijfsinformatie bewerken" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Bedrijf bewerken" @@ -3856,17 +3918,17 @@ msgstr "Afbeelding downloaden van URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Klant" @@ -3874,6 +3936,13 @@ msgstr "Klant" msgid "Uses default currency" msgstr "Gebruik standaard valuta" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Adres" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Telefoon" @@ -3906,7 +3975,7 @@ msgstr "Afbeelding Downloaden" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Bestel onderdelen" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Verwijder onderdelen" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Verwijder Onderdelen" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Fabrikant onderdelen" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Maak nieuw fabrikant onderdeel" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Nieuw fabrikant onderdeel" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Inkooporders" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Nieuwe inkooporder aanmaken" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nieuwe Inkooporder" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Verkooporders" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Nieuwe inkooporder aanmaken" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Nieuwe Verkooporder" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Opmerkingen Bedrijf" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Leverancierslijst" @@ -4050,17 +4111,17 @@ msgstr "Fabrikanten" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Order onderdeel" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "Fabrikant onderdeel bewerken" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "Fabrikant onderdeel verwijderen" @@ -4080,40 +4141,22 @@ msgstr "Geen fabrikanten informatie beschikbaar" msgid "Suppliers" msgstr "Leveranciers" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Verwijder leveranciersonderdelen" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Verwijderen" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parameters" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Nieuwe Parameter" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Parameter verwijderen" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Parameter toevoegen" @@ -4137,23 +4180,28 @@ msgstr "Toegewezen Voorraadartikelen" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Leveranciersonderdeel" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "Order Onderdeel" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "Nieuw voorraadartikel aanmaken" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nieuw Voorraadartikel" @@ -4205,37 +4253,37 @@ msgstr "Nieuw Voorraadartikel" msgid "Supplier Part Orders" msgstr "Leverancier Onderdelenorders" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Prijsinformatie" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -4261,7 +4309,7 @@ msgstr "Klanten" msgid "New Customer" msgstr "Nieuwe Klant" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Bedrijven" @@ -4269,72 +4317,76 @@ msgstr "Bedrijven" msgid "New Company" msgstr "Nieuw Bedrijf" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Labelnaam" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Label beschrijving" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Label" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "Label template bestand" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Ingeschakeld" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "Label template is ingeschakeld" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Breedte [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "Label breedte, gespecificeerd in mm" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Hoogte [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Filters" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Totaalprijs" @@ -4361,30 +4413,30 @@ msgstr "Totaalprijs" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Link naar externe pagina" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Verwachte datum voor levering van de bestelling. De bestelling wordt achterstallig na deze datum." -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "Aangemaakt Door" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "Gebruiker of groep verantwoordelijk voor deze order" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Orderreferentie" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "Inkooporder status" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "Bedrijf waar de artikelen van worden besteld" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "Leveranciersreferentie" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "Order referentiecode van leverancier" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "ontvangen door" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "Order voltooid op datum" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "Onderdeelleverancier moet overeenkomen met de Inkooporderleverancier" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Verzenddatum" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "verzonden door" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "Order kan niet worden voltooid omdat er geen onderdelen aangewezen zijn" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestelling kan niet worden voltooid omdat er onvolledige verzendingen aanwezig zijn" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "Order kan niet worden voltooid omdat er onvolledige artikelen aanwezig zijn" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "Hoeveelheid artikelen" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "Artikelregel referentie" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "Artikel notities" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "Context" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "Additionele context voor deze regel" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "Stukprijs" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "verwijderd" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "Order" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "Leveranciersonderdeel" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Ontvangen" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Inkoopprijs" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "Aankoopprijs per stuk" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "Zending" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "Regel" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "Artikel" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "De volgende serienummers zijn al toegewezen" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "Ontvang artikelen" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "Ontvang Artikelen" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Order markeren als voltooid" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Order Voltooien" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Order Referentie" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Order Beschrijving" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "Order Status" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "Geen leveranciersinformatie beschikbaar" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "Afgeronde artikelen" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "Incompleet" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Uitgegeven" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "Totale kosten" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "Totale kosten konden niet worden berekend" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Rij verwijderen" @@ -5152,9 +5200,9 @@ msgstr "Inkooporder Artikelen" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Artikel toevoegen" @@ -5165,30 +5213,25 @@ msgstr "Artikel toevoegen" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "Extra Regels" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "Extra Regel Toevoegen" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "Ontvangen Artikelen" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Ordernotities" @@ -5208,29 +5251,29 @@ msgstr "Pakbon afdrukken" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "Klantreferentie" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "Voltooi Verkooporder" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "Deze Verkooporder is niet volledig toegewezen" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Voltooide Verzendingen" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "Verkoooporder Artikelen" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Verzendingen in behandeling" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Acties" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "Nieuwe Verzending" @@ -5311,12 +5353,12 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "In bestelling" @@ -5383,23 +5425,16 @@ msgstr "In bestelling" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "Toegewezen" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "Binnenkomende Inkooporder" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "Uitgaande Verkooporder" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "Geproduceerde voorraad door Productieorder" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "Voorraad vereist voor Productieorder" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standaard locatie" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "Totale Voorraad" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "Beschikbare Voorraad" @@ -5499,916 +5534,913 @@ msgstr "Beschikbare Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN moet overeenkomen met regex-patroon {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Datum" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Stuklijstartikel" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "Categorie verwijderen" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Onderdeel Parameters" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Nieuwe Categorie" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "Verkoopordertoewijzingen" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "Een parameter toevoegen" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "Assemblages" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "Productieordertoewijzingen" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "Onderdeelfabrikanten" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "Fabrikantonderdeel verwijderen" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "Formaat" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "Selecteer bestandsindeling" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "Toegewezen aan Productieorder" msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Overeenkomst gevonden voor streepjescodegegevens" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "Filters inkooporder" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "Verkooporder zoekopdracht filters" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "Stukprijs" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "Totaal" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Serienummer" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "Voorraadlocatie" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "Voorraadlocaties" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "Scan naar Locatie" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "Voorraad tellen" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "Voorraad overzetten" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Product" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "Geen locatie ingesteld" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "Maak nieuwe voorraadlocatie" msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Vereist voor Productieorder" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "Productieorders in Uitvoering" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Achterstallige Productieorders" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Openstaande Inkooporders" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Achterstallige Inkooporders" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Openstaande Verkooporders" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Achterstallige Verkooporders" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Bericht" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "Bericht indienen" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "Inkooporder Instellingen" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "Startpagina" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "De volgende onderdelen hebben een lage vereiste voorraad" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Sluit" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "Voeg Fabrikantgegevens toe" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "Voeg onderdeelfabrikantgegevens toe aan geëxporteerde stuklijst" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "Geen Voorraad Aanwezig" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "Bewerk Productieorder" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "Maak Productieorder" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "Annuleer Productieorder" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "Weet je zeker dat je de productie wilt annuleren?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "Voorraadartikelen zijn toegewezen aan deze productieorder" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "Er staat incomplete productie open voor deze productieorder" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "Productieorder is gereed om als voltooid te markeren" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "Productieorder is onvolledig" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "Voltooi Productieoorder" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "De stuklijst bevat traceerbare onderdelen" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "Productieuitvoeren moeten individueel worden gegenereerd" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "Traceerbare onderdelen kunnen een serienummer hebben" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Voer serienummers in om meerdere enkelvoudige productuitvoeren te genereren" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "Selecteer Productieuitvoeren" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "Voltooi Productieuitvoeren" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "Verwijder Productieuitvoeren" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "Geen productieordertoewijzingen gevonden" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "Locatie is niet opgegeven" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "Voltooi uitvoeren" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "Verwijder uitvoeren" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "Geen actieve productieuitvoeren gevonden" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "Voorraadtoewijzing bewerken" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "Voorraadtoewijzing verwijderen" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "Onvoldoende voorraad beschikbaar" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "Genoeg voorraad beschikbaar" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "Productie voorraad" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "Voorraad order" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "Voorraad toewijzen" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Onderdelen selecteren" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 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:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Specificeer voorraadtoewijzingshoeveelheid" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "Voorraadartikelen toewijzen aan Productieorder" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Geen overeenkomende voorraadlocaties" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "Geen overeenkomende voorraadartikelen" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Voorraadartikelen zullen automatisch worden toegewezen aan de productieorder volgens de aangegeven richtlijnen" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "Productieorder is achterstallig" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" +msgstr "Voorraadtoewijzing bewerken" + +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "Voorraadtoewijzing verwijderen" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "Onvoldoende voorraad beschikbaar" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "Genoeg voorraad beschikbaar" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "Productie voorraad" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "Voorraad order" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "Voorraad toewijzen" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "Fabrikant toevoegen" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "Fabrikantonderdeel toevoegen" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "Fabrikantonderdeel bewerken" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "Leverancier Toevoegen" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "Leveranciersonderdeel Toevoegen" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "Gefabriceerde Onderdelen" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "Verwijder Fabrikantenonderdelen" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Bestel onderdelen" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "Fabrikantonderdeel verwijderen" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "Geen fabrikantenonderdelen gevonden" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "Samengesteld onderdeel" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "Geen parameters gevonden" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "Parameter bewerken" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "Parameter verwijderen" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Verwijder leveranciersonderdelen" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "Laatst bijgewerkt" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Verwijderen" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "Verwijder Regel" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "Geen artikelen gevonden" @@ -10716,363 +10853,355 @@ msgstr "Bewerk regel" msgid "Delete line" msgstr "Verwijder regel" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "Validatie van de BOM markeert ieder artikel als geldig" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "Geen inkooporder gevonden" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "Dit artikel is achterstallig" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "Artikel ontvangen" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "Bewerk Inkooporder" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "Voltooi Inkooporder" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "Order markeren als voltooid?" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "Alle artikelen zijn ontvangen" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "Deze order heeft artikelen die niet zijn gemarkeerd als ontvangen." -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "Na het voltooien van de order zijn de order en de artikelen langer bewerkbaar." -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "Inkooporder annuleren" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "Weet u zeker dat u deze inkooporder wilt annuleren?" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "Deze inkooporder kan niet geannuleerd worden" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "Geef inkooporder uit" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "Te bestellen aantal" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "Nieuwe inkooporder" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "Toevoegen aan inkooporder" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "Geen overeenkomende inkooporders" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "Selecteer artikelen" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "Ten minste één artikel moet worden geselecteerd" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "Order Code" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "Ontvang Artikelen Inkooporder" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "Order is achterstallig" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Artikelen" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "Artikel dupliceren" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "Artikel wijzigen" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "Artikel verwijderen" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "Artikel dupliceren" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "Artikel bewerken" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "Artikel verwijderen" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "Ongeldige Klant" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "Geen overeenkomende artikelen" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "Verkooporder aanmaken" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "Verkooporder bewerken" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "Geen voorraadartikelen toegewezen aan deze zending" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "De volgende voorraadartikelen worden verzonden" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "Verzending Voltooien" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "Verzending Bevestigen" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "Geen verzendingen in behandeling gevonden" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "Verzendingen Voltooien" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "Verkooporder annuleren" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Na annulering van de order kan de order niet meer bewerkt worden." -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "Geen verkooporder gevonden" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "Verzending bewerken" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "Verzending Voltooien" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "Verzending bewerken" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "Geen overeenkomende verzending gevonden" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "Verzendingsreferentie" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "Niet verzonden" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "Volgen" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "Factuur" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "Voeg Verzending toe" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "Bevestig de voorraadtoewijzing" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "Voorraadartikel toewijzen aan Verkooporder" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "Geen verkooporder toewijzingen gevonden" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "Bewerk Voorraadtoewijzing" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "Bevestig Verwijderen" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "Verwijder Voorraadtoewijzing" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "Verzonden aan klant" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "Voorraadlocatie niet gespecificeerd" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "Wijs serienummers toe" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "Koop voorraad" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "Bereken prijs" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "Wijs Serienummers Toe" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "Werk Stukprijs Bij" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "Bewerk Voorraadlocatie" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "Verwijder Voorraadlocatie" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "Toegewezen aan Verkooporder" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "Geen voorraadlocatie ingesteld" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "Voorraadartikel toegewezen aan verkooporder" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "Inkooporder bestaat niet meer" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "Order status" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "Samengesteld onderdeel" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "Onderdeel is een assemblage" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "rijen per pagina" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "Geselecteerde artikelen bestellen" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index fe0f15a916..30241e2d05 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -27,15 +27,15 @@ msgstr "Brukeren har ikke rettigheter til å se denne modellen" #: InvenTree/conversion.py:62 msgid "No value provided" -msgstr "" +msgstr "Ingen verdi angitt" #: InvenTree/conversion.py:84 msgid "Provided value is not a valid number" -msgstr "" +msgstr "Angitt verdi er ikke et gyldig tall" #: InvenTree/conversion.py:86 msgid "Provided value has an invalid unit" -msgstr "" +msgstr "Angitt verdi har en ugyldig enhet" #: InvenTree/conversion.py:88 msgid "Provided value could not be converted to the specified unit" @@ -49,26 +49,26 @@ msgstr "Feildetaljer kan finnes i admin-panelet" msgid "Enter date" msgstr "Oppgi dato" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Notater" @@ -81,47 +81,51 @@ msgstr "Verdi '{name}' vises ikke i mønsterformat" msgid "Provided value does not match required pattern: " msgstr "Angitt verdi samsvarer ikke med påkrevd mønster: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Oppgi passord" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Oppgi nytt passord" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Bekreft passord" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Bekreft nytt passord" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Gammelt passord" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "E-post (gjenta)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Bekreft e-postaddresse" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Du må angi samme e-post hver gang." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Den oppgitte primære e-postadressen er ikke gyldig." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Det oppgitte e-postdomenet er ikke godkjent." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -239,7 +243,7 @@ msgstr "Mangler eksternlenke" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Vedlegg" @@ -247,29 +251,30 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Lenke til ekstern URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Kommentar" @@ -277,13 +282,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Bruker" @@ -324,53 +329,54 @@ msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Beskrivelse" @@ -383,7 +389,7 @@ msgid "parent" msgstr "overkategori" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Sti" @@ -419,12 +425,12 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URLtil ekstern bildefil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Tsjekkisk" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Dansk" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Spansk (Meksikansk)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Persisk" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Ungarsk" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugisisk" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugisisk (Brasil)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Slovensk" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "E-post backend ikke konfigurert" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InvenTree's-systemets helsesjekker mislyktes" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Ventende" @@ -630,7 +636,7 @@ msgstr "Plassert" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Fullført" @@ -654,10 +660,10 @@ msgstr "Returnert" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Sendt" @@ -689,7 +695,7 @@ msgstr "I Karantene" msgid "Legacy stock tracking entry" msgstr "Gammel lagervare sporingsoppføring" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Lagevare opprettet" @@ -745,7 +751,7 @@ msgstr "Skill ut fra overordnet artikkel" msgid "Split child item" msgstr "Skill ut fra underartikkel" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Sammenslåtte lagervarer" @@ -765,7 +771,7 @@ msgstr "Build ordreutg fullført" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Antatt som byggeordre" @@ -781,7 +787,7 @@ msgstr "Mottatt mot innkjøpsordre" msgid "Returned against Return Order" msgstr "Returnert mot returordre" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Sendt til kunde" @@ -849,83 +855,111 @@ msgstr "Passordfeltene må samsvare" msgid "Wrong password provided" msgstr "Feil passord angitt" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformasjon" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "Forbruksvare" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "Valgfritt" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Build ordre" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Build Ordre" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Ugylding valg for overordnet build" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Bygg ordrereferanse" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referanse" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "Kort beskrivelse av produksjonen (valgfritt)" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Overordnet build" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Build order som denne build er tildelt til" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Build order som denne build er tildelt til" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Del" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Velg del å produsere" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Salgsordrereferanse" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Salgsordren denne produksjonen er tildelt til" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Kildeplassering" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Velg plassering å ta lagerbeholdning fra for denne produksjonen (la stå tomt for a ta fra alle lagerplasseringer)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Fullført plassering" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Velg plassering der fullførte artikler vil bli lagret" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Produksjonsmengde" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Antall lagervarer å produsere" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Fullførte artikler" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Antall lagervarer som er fullført" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Produksjonsstatus" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batchkode" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Opprettelsesdato" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Forventet sluttdato" -#: build/models.py:258 +#: build/models.py:262 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:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Fullført dato" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "fullført av" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Utstedt av" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Brukeren som utstede denne prosjekt order" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Ansvarlig" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Produksjonsprioritet" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "Prosjektkode" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggeordre {build} er fullført" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Byggeordre er fullført" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Ingen prosjekt utgang" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Prosjekt utdata er allerede utfylt" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -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:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Lagervaren er overtildelt" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Tildelingsantall må være større enn null" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Mengden må være 1 for serialisert lagervare" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Valgt lagevare ikke funnet i BOM" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Produksjon" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Bygge for å tildele deler" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Lagervare" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Kildelagervare" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Kildelagervare" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Antall" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +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:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Lagervaren er overtildelt" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Tildelingsantall må være større enn null" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Mengden må være 1 for serialisert lagervare" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Lagervare" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Kildelagervare" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Lagervare for montering" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Produksjonsartikkel" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "Produksjonsartikkel samsvarer ikke med overordnet produksjon" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med produksjonsordredel" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Denne produksjonsartikkelen er allerede fullført" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "Denne produksjonsartikkelen er ikke fullt tildelt" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Angi antall for produksjonsartikkel" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummer" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Plassering" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Status" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "Fjern tildelt lagerbeholdning" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "Trekk fra all lagerbeholdning som allerede er tildelt denne produksjonen" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige artikler" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle produksjonsartikler som ikke er fullført" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "Ikke tillatt" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne produksjonsordren" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "Fjern tildeling før produksjonsordren fullføres" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "Overtildelt lagerbeholdning" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt produksjonsordren" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "Noen lagervarer har blitt overtildelt" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Godta uferdig" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "Godta at nødvendig antall fullførte produksjonsartikler ikke er nådd" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Nødvendig produksjonsmengde er ikke nådd" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Stykklisteartikkel" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "Produksjonsartikkel" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "Produksjonsartikkel må peke til samme produksjon" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part må peke på den samme delen som produksjonsordren" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "Denne lagervaren er allerede tildelt til denne produksjonsartikkelen" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerplassering hvor deler skal hentes (la stå tomt for å ta fra alle plasseringer)" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Eksluderer plassering" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte plasseringen" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "Utskiftbar lagerbeholdning" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Erstatning av lagerbeholdning" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "Valgfrie artikler" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie stykklistevarer til produksjonsordre" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Strekkodehandlinger" @@ -1618,69 +1668,67 @@ msgstr "Fullfør Produksjon" msgid "Build Description" msgstr "Produksjonsbeskrivelse" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "Ingen produksjonsartikler har blitt opprettet for produksjonsordren" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "Produksjonsordren er klar til å merkes som fullført" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Produksjonsordren kan ikke fullføres på grunn av utestående artikler" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "Nødvendig produksjonsantall er ikke oppnådd enda" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Måldato" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "Denne produksjonsordren forfalt %(target)s" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Forfalt" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Fullført" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "Fullførte byggeresultater" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Fullført" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Salgsordre" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Utstedt av" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "Prioritet" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Slett Produksjonsordre" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "Produksjonsordrens QR-kode" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "Koble Strekkode til Produksjonsordre" @@ -1729,8 +1777,8 @@ msgstr "Lagerkilde" 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:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Destinasjon" @@ -1744,21 +1792,21 @@ msgstr "Tildelte deler" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Parti" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Opprettet" @@ -1766,147 +1814,106 @@ msgstr "Opprettet" msgid "No target date set" msgstr "Ingen måldato satt" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Fullført" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Produksjon ikke fullført" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "Underordnede Produksjonsordrer" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Tildel Lagerbeholdning til Produksjon" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Fjern lager allokering" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Fjern lager allokering" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "Automatisk tildel lagerbeholdning til produksjon" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "Automatisk tildeling" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "Manuelt tildel lagerbeholdning til produksjon" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Tildele lager" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Bestill nødvendige deler" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Bestill deler" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "Usporet lagerbeholdning er fullt tildelt for Produksjonsordren" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "Usporet lagerbeholdning er ikke fullt tildelt for Produksjonsordren" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "Tildel valgte varer" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Produksjonsordren har ingen tilknyttede usporede stykklisteartikler" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "Ufullstendige Produksjonsartikler" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "Opprett ny produksjonsartikkel" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "Ny Produksjonsartikkel" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "Artikkelhandlinger" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "Fullfør valgte produksjonsartikler" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "Fullfør artikler" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "Slett valgte produksjonsartikler" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "Slett resultat" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "Fullførte byggeresultater" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Vedlegg" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Bygg notater" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "Tildeling fullført" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "Alle usporbar lagervarer har tildelt" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" +msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Ny byggeordre" @@ -1914,14 +1921,10 @@ msgstr "Ny byggeordre" msgid "Build Order Details" msgstr "Byggordre detaljer" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Ufullstendige resultater" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "Fullførte byggeresultater" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "Oppdatert" msgid "Timestamp of last update" msgstr "Tidsstempel for forrige oppdatering" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "Prosjektkode" - #: common/models.py:105 msgid "Unique project code" msgstr "Unik prosjektkode" @@ -2261,9 +2254,9 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Mal" @@ -2271,10 +2264,10 @@ msgstr "Mal" msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Sammenstilling" @@ -2282,8 +2275,8 @@ msgstr "Sammenstilling" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Komponent" @@ -2291,7 +2284,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Kjøpbar" @@ -2299,8 +2292,8 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Salgbar" @@ -2308,10 +2301,10 @@ msgstr "Salgbar" msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Sporbar" @@ -2319,10 +2312,10 @@ msgstr "Sporbar" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Virtuelle" @@ -2354,7 +2347,7 @@ msgstr "Innledende lagerbeholdningsdata" msgid "Allow creation of initial stock when adding a new part" msgstr "Tillat oppretting av innledende lagerbeholdning når en ny del opprettes" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Innledende leverandørdata" @@ -2603,181 +2596,181 @@ msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" #: common/models.py:1471 +msgid "Show Installed Stock Items" +msgstr "" + +#: common/models.py:1472 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1478 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Required pattern for generating Return Order reference field" msgstr "Påkrevd mønster for å generere returordrereferansefelt" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "Gruppe nye brukere blir tilknyttet ved registrering" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle utvidelser er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "Sjekk utvidelsessignaturer" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "Kontroller og vis signaturer for utvidelser" - #: common/models.py:1628 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" @@ -2850,7 +2843,7 @@ msgstr "Rapportslettingsintervall" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "Antall nye deler" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "Antall nye deler som skal vises på startsiden" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte stykklister" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "Antall nylig lagerbeholdning" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "Antall nylige lagervarer som skal vises på startsiden" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO forsendelser på startsiden" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Vis PDF-etiketter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Vis PDF-rapporter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "Ekskluder lagervarer som ikke er tilgjengelige fra forhåndsvisningsvinduet for søk" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "Antall resultater å vise i hver seksjon av søkeresultatsforhåndsvisningen" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for strenger vist i tabeller" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Pris" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Aktiv" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "Sjetong" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "Vert" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "Tittel" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "Id" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Forfatter" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "Les" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "Er dette nyhetselementet lest?" msgid "Image" msgstr "Bilde" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "Bildefil" @@ -3499,7 +3477,7 @@ msgstr "Beskrivelse av firmaet" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Nettside" @@ -3507,303 +3485,387 @@ msgstr "Nettside" msgid "Company website URL" msgstr "Bedriftens nettside URL" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Adresse" - -#: company/models.py:119 -msgid "Company address" -msgstr "Firmaet adresse" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Kontakt-telefonnummer" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "E-post" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Kontakt e-post" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Kontakt" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Kontaktpunkt" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "er kunde" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "Selger du varer til dette firmaet?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "er leverandør" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "Kjøper du varer fra dette firmaet?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "er produsent" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Firma" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Basisdel" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Velg del" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Produsent" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Velg produsent" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "MPN" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Produsentens varenummer" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "URL for ekstern produsentdel-lenke" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "Produsentens delbeskrivelse" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Produsentdeler" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Parameternavn" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Verdi" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Parameterverdi" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Enheter" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Parameterenheter" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Leverandør" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "SKU-kode" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "Velg produsentdel" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "URL for ekstern leverandørdel-lenke" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Notat" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift på lager)" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Emballasje" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "Delemballasje" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "Pakkeantall" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "flere" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "Bestill flere" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Tilgjengelig" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "Antall tilgjengelig fra leverandør" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "Tilgjengelighet oppdatert" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "Dato for siste oppdatering av tilgjengelighetsdata" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "Standardvaluta brukt for denne leverandøren" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Opprett Innkjøpsordre" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Rediger firmainformasjon" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Rediger Firma" @@ -3856,17 +3918,17 @@ msgstr "Last ned bilde fra URL" msgid "Delete image" msgstr "Slett bilde" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Kunde" @@ -3874,6 +3936,13 @@ msgstr "Kunde" msgid "Uses default currency" msgstr "Bruker standardvaluta" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Adresse" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Telefon" @@ -3906,7 +3975,7 @@ msgstr "Last ned Bilde" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Leverandørdeler" @@ -3916,129 +3985,121 @@ msgstr "Opprett ny leverandørdel" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Ny leverandørdel" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Bestill deler" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Slett deler" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Slett deler" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Produsentdeler" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Opprett ny produsentdel" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Ny Produsentdel" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Leverandørs lagerbeholdning" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Innkjøpsordrer" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Opprett ny innkjøpsordre" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Ny innkjøpsordre" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Salgsordre" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Opprett ny salgsordre" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Ny salgsordre" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "Tildelt lagerbeholdning" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "Returordrer" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "Opprett ny returordre" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "Ny Returordre" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Notater til firma" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "Firmakontakter" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "Legg til Kontakt" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Leverandørliste" @@ -4050,17 +4111,17 @@ msgstr "Produsenter" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Bestill del" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "Endre produsentdel" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "Slett produsentdel" @@ -4080,40 +4141,22 @@ msgstr "Ingen produsentinformasjon tilgjengelig" msgid "Suppliers" msgstr "Leverandører" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Slett leverandørdeler" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Slett" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parametere" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Nytt Parameter" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Slett parametere" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Legg til Parameter" @@ -4137,23 +4180,28 @@ msgstr "Tildelte lagervarer" msgid "Contacts" msgstr "Kontakter" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Leverandørdel" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "Handlinger for leverandørdeler" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "Bestill del" @@ -4164,13 +4212,13 @@ msgstr "Oppdater Tilgjengelighet" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "Rediger Leverandørdel" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "Dupliser Leverandørdel" @@ -4197,7 +4245,7 @@ msgstr "Opprett ny lagervare" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Ny Lagervare" @@ -4205,37 +4253,37 @@ msgstr "Ny Lagervare" msgid "Supplier Part Orders" msgstr "Leverandørdelordre" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Prisinformasjon" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "Legg til Prisbrudd" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "Leverandørdel-QR-kode" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "Koble strekkode til Leverandørdel" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "Oppdater Delens Tilgjengelighet" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Lagervarer" @@ -4261,7 +4309,7 @@ msgstr "Kunder" msgid "New Customer" msgstr "Ny Kunde" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Firmaer" @@ -4269,72 +4317,76 @@ msgstr "Firmaer" msgid "New Company" msgstr "Nytt Firma" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Etikettnavn" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Etikettbeskrivelse" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Etikett" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "Etikett-malfil" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Aktivert" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "Etikettmal er aktiver" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Bredde [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "Etikettbredde, spesifisert i mm" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Høyde [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "Etiketthøyde, spesifisert i mm" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Filnavnmønster" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "Mønster for å generere etikettens filnavn" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Søkefilter (kommaseparert liste over nøkkel=verdi-par)," -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Filtre" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Spørringsfiltre (kommaseparert liste over nøkkel=verdi-par" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Spørringsfilter deler (kommaseparert liste over nøkkel=verdi-par)" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "QR-kode" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Total pris" @@ -4361,30 +4413,30 @@ msgstr "Total pris" msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "Returordre" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Ukjent" @@ -4392,11 +4444,11 @@ msgstr "Ukjent" msgid "Total price for this order" msgstr "Total pris for denne ordren" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "Ordre valuta" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "Valuta for denne ordren (la stå tom for å bruke firmastandard)" @@ -4408,492 +4460,496 @@ msgstr "Kontakten samsvarer ikke med valgt firma" msgid "Order description (optional)" msgstr "Ordrebeskrivelse (valgfritt)" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Lenke til ekstern side" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Forventet dato for levering av ordre. Bestillingen vil være forfalt etter denne datoen." -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "Opprettet av" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "Bruker eller gruppe ansvarlig for ordren" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "Kontaktpunkt for denne ordren" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Ordrereferanse" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "Status for innkjøpsordre" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "Firma som varene blir bestilt fra" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "Leverandørreferanse" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "Leverandør ordrereferanse" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "mottatt av" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "Utgivelsesdato" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "Dato bestilling ble sendt" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "Dato ordre ble fullført" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "Delleverandør må matche PO-leverandør" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Leveringsdato" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "sendt av" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "Bestillingen kan ikke fullføres da ingen deler er tilordnet" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "Kun en åpen ordre kan merkes som fullført" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Bestillingen kan ikke fullføres da det finnes ufullstendige varepartier" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "Denne ordren kan ikke fullføres da det fortsatt er ufullstendige artikler" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "Antall" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "Linje referanse" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "Linje notat" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordren)" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "Kontekst" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "Ytterligere kontekst for denne linjen" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "Enhetspris" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "Delens leverandør må samsvare med leverandør" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "slettet" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "Ordre" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "Leverandørdel" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Mottatt" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Innkjøpspris" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "Enhet-innkjøpspris" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan ikke tildele lagervare til en linje med annen del" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "Linje" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "Artikkel" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Utfall" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "Ordren er ikke åpen" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "Innkjøpsvaluta" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "Leverandørdel må angis" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "Innkjøpsordre må angis" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "Leverandør må samsvare med innkjøpsordre" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "Ordrelinje" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "Linjeelementet samsvarer ikke med innkjøpsordre" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Strekkode" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "Skannet strekkode" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "Heltallsverdi må angis for sporbare deler" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "Målplassering må angis" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "Følgende serienummer er allerede tildelt" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "Artikler kan bare mottas mot ordrer som pågår" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "Valuta for linje" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "Send ordre" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "Motta artikler" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "Motta Artikler" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Merk ordren som fullført" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Fullfør ordre" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Ordrereferanse" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Ordrebeskrivelse" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "Ordrestatus" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "Ingen leverandørinformasjon tilgjengelig" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "Fullførte elementer" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "Ufullstendig" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "Total kostnad kunne ikke beregnes" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "Innkjøpsordre-QR-kode" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "Koble strekkode til Innkjøpsordre" @@ -5085,13 +5133,13 @@ msgstr "Duplikatvalg" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Fjern rad" @@ -5152,9 +5200,9 @@ msgstr "Innkjøpsordreartikler" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Legg til linjeelement" @@ -5165,30 +5213,25 @@ msgstr "Legg til linjeelement" msgid "Receive Line Items" msgstr "Motta linjeelementer" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "Slett linjeelementer" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "Ekstralinjer" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "Legg til Ekstralinje" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "Mottatte artikler" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Ordrenotater" @@ -5208,29 +5251,29 @@ msgstr "Skriv ut pakkeliste" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "Kundereferanse" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "Total kostnad" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "Returordre-QR-kode" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "Koble strekkode til Returordre" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "Send artikler" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "Fullfør Salgsordre" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "Salgsordren er ikke fullstendig tildelt" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Fullførte forsendelser" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "Salgsordre-QR-kode" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "Koble strekkode til Salgsordre" @@ -5274,18 +5317,17 @@ msgstr "Koble strekkode til Salgsordre" msgid "Sales Order Items" msgstr "Salgsordreartikler" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Ventende forsendelser" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Handlinger" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "Ny forsendelse" @@ -5311,12 +5353,12 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Deler" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "Standard nøkkelord for deler i denne kategorien" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "Ikon" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Del '{p1}' er brukt i stykklisten til '{p2}' (rekursivt)" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Internt delnummer må matche regex-mønster {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "Delnavn" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Kategori" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "Delkategori" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "Internt delnummer" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "Kontrollsum for stykkliste" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "Lagret sjekkliste-kontrollsum" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "Bruker ansvarlig for denne delen" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "Minimal stykklistekostnad" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "Maksimal stykklistekostnad" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "Antall" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Dato" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Rapport" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "Test med dette navnet finnes allerede for denne delen" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "Data" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "Nivå" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "Stykklistenivå" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Stykklisteartikkel" + +#: part/models.py:3808 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i stykkliste" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "Stykklisteantall for denne stykklisteartikkelen" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "Valgfritt" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "Denne stykklisteartikkelen er valgfri" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "Forbruksvare" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne sykklisteartikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "Stykklisteartikkel-referanse" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "Stykklisteartikkel-notater" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "Stykklistelinje kontrollsum" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Godkjent" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "Denne stykklisteartikkelen er godkjent" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne stykklisteartikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne stykklisteartikkelen" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "Stykklisteartikkel-erstatning" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "Overordnet stykklisteartikkel" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Angi initiell lagermengde for denne delen. Hvis antall er null, er ingen lagerbeholdning lagt til." -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM produkter før kopiering" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "Inkluder arvet" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM elementer som er arvet fra mal-deler" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM elementer dupliseres" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "Varsel om lav lagerbeholdning" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigurerte minimumsnivået" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "Totalt Antall" @@ -6461,14 +6493,6 @@ msgstr "Stykklisten for %(part)s ble sist sjekket av %(checker)s den %( msgid "The BOM for %(part)s has not been validated." msgstr "Stykklisten for %(part)s er ikke godkjent." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "Stykklistehandlinger" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "Slett Artikler" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "Utfør lagertelling for denne delkategorien" @@ -6505,7 +6529,7 @@ msgstr "Slett Kategori" msgid "Top level part category" msgstr "Toppnivå delkategori" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Underkategorier" @@ -6518,33 +6542,20 @@ msgstr "Deler (inkludert underkategorier)" msgid "Create new part" msgstr "Opprett ny del" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "Ny Del" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "Valg" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Sett kategori" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Sett Kategori" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Delparametere" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "Opprett ny delkategori" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Ny Kategori" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "Oppdater planleggingsdata" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Oppdater" @@ -6592,7 +6603,7 @@ msgstr "Legg til lagertellingsinformasjon" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "Lagertelling" @@ -6604,101 +6615,101 @@ msgstr "Deltestmaler" msgid "Add Test Template" msgstr "Legg til Testmal" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "Salgsordretildelinger" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "Delnotater" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "Delvarianter" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "Opprett ny variant" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "Ny Variant" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "Legg til ny parameter" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Relaterte Deler" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "Stykklistehandlinger" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "Tildelt til Salgsordrer" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "Kan Produsere" @@ -6858,8 +6869,8 @@ msgstr "Kan Produsere" msgid "Minimum stock level" msgstr "Minimalt lagerbeholdningsnivå" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "Del-QR-kode" msgid "Link Barcode to Part" msgstr "Koble strekkode til Del" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "Varianter" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Lagerbeholdning" @@ -6989,9 +7000,9 @@ msgstr "Oppdater delprising" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "Sist oppdatert" @@ -7054,12 +7065,12 @@ msgstr "Salgsprising" msgid "Add Sell Price Break" msgstr "Legg til salgsprisbrudd" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "Ingen lagerbeholdning" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Lav lagerbeholdning" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Treff funnet for strekkodedata" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "Produksjonsfiltre" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Produksjons-søkefilter (kommaseparert liste over nøkkel=verdi-par" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "Delfiltre" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Del-søkefilter (kommaseparert liste over nøkkel=verdi-par" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "Innkjøpsordre-søkefilter" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "Salgsordre-søkefilter" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "Returordre-søkefilter" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "Snutt" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "Rapportsnuttfil" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "Filbeskrivelse for snutt" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "Ressurs" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "Rapportressursfil" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "Ressursfilbeskrivelse" @@ -7475,8 +7486,8 @@ msgstr "Leverandør ble slettet" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "Enhetspris" @@ -7488,23 +7499,23 @@ msgstr "Ekstra linjeelementer" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Serienummer" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "Testresultater" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "Test" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "Serienumre må være en liste over tall" msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" @@ -7849,7 +7860,7 @@ msgstr "Lagervare er for tiden i produksjon" msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "Duplisert lagervare" @@ -7901,132 +7912,141 @@ msgstr "Vedlegg til testresultat" msgid "Test notes" msgstr "Testnotater" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "Serienummeret er for høyt" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "Angi antall lagervarer som skal serialiseres" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "Til Lagerplassering" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "Valgfritt notatfelt" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummer kan ikke tilordnes denne delen" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "Velg lagervare å montere" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "Lagervaren er utilgjengelig" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "Valgt del er ikke i stykklisten" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "Lagerplassering for den avinstallerte artikkelen" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "Legg til transaksjonsnotat (valgfritt)" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "Lagervaren er utilgjengelig" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "Valgt del er ikke i stykklisten" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "Lagerplassering for den avinstallerte artikkelen" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "Velg del å konvertere lagervare til" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "Valgt del er ikke et gyldig alternativ for konvertering" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "Lagerplassering for returnert artikkel" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Produksjon" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "Tilgjengelig antall" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "Ingen plassering satt" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "Denne lagervaren utløp %(item.expiry_date)s" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "Utløpt" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Denne lagervaren utløper %(item.expiry_date)s" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "Foreldet" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "Ingen lagertelling utført" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "Opprett ny lagerplassering" msgid "New Location" msgstr "Ny plassering" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "Skannet lagerbeholder til denne plasseringen" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "Lagerplassering-QR-kode" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "Koble strekkode til Lagerplassering" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "Innstillinger for Utvidelser" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Endring av innstillingene nedenfor krever at du umiddelbart starter serveren på nytt. Ikke endre under aktiv bruk." -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "Utvidelser" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Installer Utvidelse" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Eksterne utvidelser er ikke aktivert for denne InvenTree-installasjonen" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "Utvidelse feilstack" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "Stadium" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Melding" @@ -8767,14 +8795,6 @@ msgstr "Commit-hash" msgid "Commit Message" msgstr "Commit-melding" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "Signaturstatus" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "Signaturnøkkel" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "Innstillinger for Innkjøpsordre" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "Oppdatert" msgid "Update Available" msgstr "Oppdatering er tilgjengelig" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "InvenTree-dokumentasjon" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "API-versjon" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Python-versjon" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Django-versjon" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "Vis koden på GitHub" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "Følgende deler har for lav lagerbeholdning" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "Antall som kreves" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk på følgende lenke for å se denne delen" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "Minimum antall" @@ -9573,23 +9590,35 @@ msgstr "Feilkode" msgid "All selected attachments will be deleted" msgstr "Alle valgte vedlegg vil bli slettet" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "Ingen vedlegg funnet" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "Rediger vedlegg" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "Opplastet dato" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "Rediger vedlegg" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "Slett vedlegg" @@ -9646,7 +9675,7 @@ msgstr "Dette vil fjerne lenken til den tilknyttede strekkoden" msgid "Unlink" msgstr "Koble fra" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "Fjern lagervare" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "Inkluderer erstatningsbeholdning" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "Forbruksvare" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "Godkjenn stykklisteartikkel" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "Denne linjen er godkjent" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "Rediger erstatningsdeler" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "Rediger stykklisteartikkel" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "Slett stykklisteartikkel" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "Vis stykkliste" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "Ingen stykklisteartikler funnet" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "Påkrevd del" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "Arvet fra overordnet stykkliste" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "Rediger produksjonsordre" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "Opprett Produksjonsordre" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "Kanseller Produksjonsordre" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "Er du sikker du vil kansellere produksjonen?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "Lagervarer har blitt tildelt til denne Produksjonsordren" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "Det er fortsatt ufullstendige artikler i denne produksjonsordren" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "Produksjonsordren er klar til å fullføres" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "Denne produksjonsordren kan ikke fullføres da det fortsatt er ufullstendige artikler" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "Produksjonsordren er ufullstendig" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "Fullføre Produksjonsordre" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "Neste tilgjengelige serienummer" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "Siste serienummer" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "Stykklisten inneholder sporbare deler" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "Produksjonsartikler må genereres individuelt" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "Sporbare varer kan ha serienummer angitt" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Angi serienumre for å generere flere single produksjonsartikler" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "Opprett Produksjonsartikkel" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "Tildel lagervarer til denne produksjonsartikkelen" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" -msgstr "Fjern tildelt lagerbeholdning fra produksjonsartikkel" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" +msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "Fullfør Produksjonsartikkel" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "Slett Produksjonsartikkel" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" -msgstr "Er du sikker på at du ønsker å fjerne tildelte lagervarer fra denne produksjonen?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" +msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" -msgstr "Fjern tildelte lagervarer" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" +msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "Velg Produksjonsartikler" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "Minst en produksjonsartikkel må velges" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "Artikkel" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "Fullfør Produksjonsartikler" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "Slett Produksjonsartikler" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "Ingen tildelinger til produksjonsordre funnet" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "Plassering ikke angitt" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "Fullfør artikler" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "Slett resultat" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "Ingen aktive produksjonsartikler funnet" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" -msgstr "Tildelt lagerbeholdning" - -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" -msgstr "Ingen sporede stykklisteartikler for denne produksjonen" - -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "Fullførte Tester" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "Ingen påkrevde tester for denne produksjonen" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "Rediger lagertildeling" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "Slett lagertildeling" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "Rediger tildeling" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "Slett tildeling" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "Erstatningsdeler tilgjengelig" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "Antall per" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" +msgstr "Rediger lagertildeling" + +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "Slett lagertildeling" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "Rediger tildeling" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "Slett tildeling" + +#: templates/js/translated/build.js:2384 +msgid "build line" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "Sporbar del" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "Alle valgte leverandørdeler vil slettes" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Bestill deler" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "Ingen produsentdeler funnet" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "Maldel" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "Sammenstilt del" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "Ingen parametere funnet" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "Rediger parameter" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "Slett parameter" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "Rediger Parameter" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "Slett Parameter" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Slett leverandørdeler" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "Ingen leverandørdeler funnet" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "Tilgjengelighet" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "Rediger leverandørdel" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "Slett leverandørdel" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "Slett Prisbrudd" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "Rediger Prisbrudd" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "Ingen informasjon om prisbrudd funnet" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "Sist oppdatert" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "Rediger prisbrudd" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "Slett prisbrudd" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "sant" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "usant" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "Velg filter" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "Skriv ut etiketter" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "Skriv ut rapporter" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "Last ned tabelldata" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "Last tabelldata på nytt" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "Legg til nytt filter" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "Fjern alle filtre" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "Opprett filter" @@ -10497,6 +10620,12 @@ msgstr "Slett-operasjon ikke tillatt" msgid "View operation not allowed" msgstr "Vis-operasjon ikke tillatt" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Slett" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "Holde dette skjemaet åpent" @@ -10514,23 +10643,23 @@ msgstr "Skjemafeil eksisterer" msgid "No results found" msgstr "Ingen resultater funnet" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "Søker" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "Tøm inndata" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "Filkolonne" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "Feltnavn" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "Velg Kolonner" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "Velg skriver" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "Del opprettet" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "Rediger del" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "Del redigert" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "Opprett delvariant" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "Aktiv del" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "Delen kan ikke slettes ettersom den er aktiv" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "Sletting av denne delen kan ikke angres" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "Eventuelle lagervarer for denne delen vil bli slettet" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "Denne delen vil bli fjernet fra eventuelle stykklister" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "All produsent- og leverandørinformasjon for denne delen vil bli slettet" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "Slett del" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "Du abonnerer på varsler for denne artikkelen" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "Du abonnerer nå på varsler for denne artikkelen" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "Abonner på varsler for denne artikkelen" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "Du har avsluttet abonnementet på varsler for denne artikkelen" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "Godkjenning av stykkliste vil merke hvert linjeelement som godkjent" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "Godkjenn Stykkliste" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "Godkjente Stykkliste" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "Kopier Stykkliste" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "Lite lager" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "Ingen varer på lager" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "Etterspørsel" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "Enhet" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "Sporbar del" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "Virtuell del" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "Abonnert del" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "Salgbar del" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Sett kategori" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index e8730fffa6..a5e76d9f48 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -49,26 +49,26 @@ msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym" msgid "Enter date" msgstr "Wprowadź dane" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Uwagi" @@ -81,47 +81,51 @@ msgstr "Wartość '{name}' nie pojawia się w formacie wzoru" msgid "Provided value does not match required pattern: " msgstr "Podana wartość nie pasuje do wymaganego wzoru: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Wprowadź hasło" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Wprowadź nowe hasło" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Potwierdź hasło" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Potwierdź nowe hasło" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Stare hasło" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Adres email (ponownie)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Potwierdzenie adresu email" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Należy ponownie wpisać ten sam adres e-mail." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Podany podstawowy adres e-mail jest nieprawidłowy." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Podany e-mail domeny nie został zatwierdzony." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -239,7 +243,7 @@ msgstr "Brak zewnętrznego odnośnika" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Załącznik" @@ -247,29 +251,30 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Komentarz" @@ -277,13 +282,13 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Użytkownik" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Opis" @@ -383,7 +389,7 @@ msgid "parent" msgstr "nadrzędny" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Ścieżka" @@ -419,12 +425,12 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "Adres URL zdalnego pliku obrazu" msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Czeski" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Duński" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Hiszpański (Meksyk)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Perski" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Węgierski" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugalski" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugalski (Brazylijski)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Słoweński" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Chiński" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Nie skonfigurowano backendu e-mail" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Sprawdzanie poziomu zdrowia InvenTree nie powiodło się" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "W toku" @@ -630,7 +636,7 @@ msgstr "Umieszczony" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Zakończono" @@ -654,10 +660,10 @@ msgstr "Zwrócone" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Wysłane" @@ -689,7 +695,7 @@ msgstr "Poddany kwarantannie" msgid "Legacy stock tracking entry" msgstr "Starsze śledzenie wpisów stanu magazynowego" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Utworzono element magazynowy" @@ -745,7 +751,7 @@ msgstr "Podziel z pozycji nadrzędnej" msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" @@ -765,7 +771,7 @@ msgstr "Dane wyjściowe kolejności kompilacji ukończone" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Zużyte przez kolejność kompilacji" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Wyślij do klienta" @@ -849,83 +855,111 @@ msgstr "Hasła muszą być zgodne" msgid "Wrong password provided" msgstr "Podano nieprawidłowe hasło" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Informacja systemowa" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "Opcjonalne" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "Przydzielono" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Zlecenia budowy" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Nieprawidłowy wybór kompilacji nadrzędnej" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referencja" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Zamówienie budowy, do którego budowa jest przypisana" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Komponent" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Wybierz część do budowy" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Odwołanie do zamówienia sprzedaży" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Lokalizacja źródła" -#: build/models.py:207 +#: build/models.py:211 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:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Lokalizacja docelowa" -#: build/models.py:216 +#: build/models.py:220 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:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Ilość do stworzenia" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Ilość przedmiotów do zbudowania" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Ukończone elementy" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Status budowania" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Data zakończenia" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Wydany przez" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Odpowiedzialny" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Alokowana ilość musi być większa niż zero" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Nie znaleziono wybranego elementu magazynowego w BOM" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Budowa" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Element magazynowy" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Lokalizacja magazynowania przedmiotu" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Lokalizacja magazynowania przedmiotu" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Ilość" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Alokowana ilość musi być większa niż zero" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Element magazynowy" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Lokalizacja magazynowania przedmiotu" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Lokalizacja" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Status" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Element BOM" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Magazyn, z którego mają być pozyskane elementy (pozostaw puste, aby pobrać z dowolnej lokalizacji)" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Akcje kodów kreskowych" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Data docelowa" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Zaległe" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Zakończone" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Zakończone" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Zamówienie zakupu" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Dodane przez" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Przeznaczenie" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Partia" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Utworzony" @@ -1766,147 +1814,106 @@ msgstr "Utworzony" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Zakończone" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Budowa niezakończona" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Przydziel zapasy do budowy" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Cofnij przydział zapasów" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Cofnij przydział zapasów" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "Automatyczne przypisywanie" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Przydziel zapasy" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Zamów wymagane komponenty" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Zamów komponent" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Załączniki" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Notatki tworzenia" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Nowe zlecenie budowy" @@ -1914,14 +1921,10 @@ msgstr "Nowe zlecenie budowy" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Szablon" @@ -2271,10 +2264,10 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Złożenie" @@ -2282,8 +2275,8 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Komponent" @@ -2291,7 +2284,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -2299,8 +2292,8 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -2308,10 +2301,10 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Możliwość śledzenia" @@ -2319,10 +2312,10 @@ msgstr "Możliwość śledzenia" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Wirtualny" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1542 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1543 +#: common/models.py:1550 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:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1578 +#: common/models.py:1585 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:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" -msgstr "" - #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Cena" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Aktywny" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Sekret" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "Zawartość" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "Obraz" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "Opis firmy" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Strona WWW" @@ -3507,303 +3485,387 @@ msgstr "Strona WWW" msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Adres" - -#: company/models.py:119 -msgid "Company address" -msgstr "Adres firmy" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "Adres E-Mail" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Kontakt" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "jest klientem" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "jest dostawcą" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "jest producentem" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Firma" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Wartość" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Jednostki" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Uwaga" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Dostępne" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "Domyślna waluta używana dla tego dostawcy" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Utwórz zamówienie zakupu" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Edytuj firmę" @@ -3856,17 +3918,17 @@ msgstr "Pobierz obraz z adresu URL" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Klient" @@ -3874,6 +3936,13 @@ msgstr "Klient" msgid "Uses default currency" msgstr "Używa domyślnej waluty" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Adres" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Telefon" @@ -3906,7 +3975,7 @@ msgstr "Pobierz obraz" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Komponenty dostawcy" @@ -3916,129 +3985,121 @@ msgstr "Utwórz nowego dostawcę części" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Nowy dostawca części" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Zamów komponenty" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Usuń części" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Usuń części" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Części producenta" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Utwórz nową część producenta" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Nowa część producenta" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Zapasy dostawcy" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Zamówienia zakupu" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Utwórz nowe zamówienie zakupu" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Nowe zamówienie zakupu" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Utwórz nowe zlecenie sprzedaży" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Notatki firmy" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Lista dostawców" @@ -4050,17 +4111,17 @@ msgstr "Producenci" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Zamów komponent" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "Edytuj komponent producenta" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "Usuń komponent producenta" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "Dostawcy" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Usuń" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parametry" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Nowy parametr" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Usuń parametry" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Dodaj parametr" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "Zamów komponent" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "Utwórz nowy towar" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nowy towar" @@ -4205,37 +4253,37 @@ msgstr "Nowy towar" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Informacja cenowa" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Towary" @@ -4261,7 +4309,7 @@ msgstr "Klienci" msgid "New Customer" msgstr "Nowy klient" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Firmy" @@ -4269,72 +4317,76 @@ msgstr "Firmy" msgid "New Company" msgstr "Nowa firma" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Nazwa etykiety" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Opis etykiety" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Etykieta" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Aktywne" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Szerokość [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Wysokość [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Filtry" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Cena całkowita" @@ -4361,30 +4413,30 @@ msgstr "Cena całkowita" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "Utworzony przez" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "Status zamówienia zakupu" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "odebrane przez" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "Zamówienie" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Odebrane" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "Linia" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "Komponent" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Kod kreskowy" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Oznacz zamówienie jako zakończone" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Kompletne zamówienie" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Numer zamówienia" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Opis zamówienia" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "Status zamówienia" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "Niekompletny" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Wydany" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "Duplikuj wybrane" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Usuń wiersz" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Dodaj element zamówienia" @@ -5165,30 +5213,25 @@ msgstr "Dodaj element zamówienia" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "Otrzymane elementy" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Notatki zamówień" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "Całkowity Koszt" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Oczekujące przesyłki" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Akcje" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "Nowa wysyłka" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nazwa komponentu" @@ -5325,19 +5367,19 @@ msgstr "Nazwa komponentu" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "Wersja" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "Na stanie" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "W Zamówieniu" @@ -5383,23 +5425,16 @@ msgstr "W Zamówieniu" msgid "Used In" msgstr "Użyte w" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "Przydzielono" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Części" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "IPN komponentu" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "Ważny" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "Dostępna ilość" @@ -5499,916 +5534,913 @@ msgstr "Dostępna ilość" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "Kategorie części" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, 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:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN musi być zgodny z wyrażeniem regularnym {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Kategoria" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1003 +#: part/models.py:1004 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:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1029 +#: part/models.py:1030 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:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Data" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Wymagane" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "Dane" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "Poziom" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Element BOM" + +#: part/models.py:3808 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "Opcjonalne" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "Usuń elementy" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "Usuń kategorię" msgid "Top level part category" msgstr "Kategoria najwyższego poziomu" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Podkategorie" @@ -6518,33 +6542,20 @@ msgstr "Części (w tym podkategorie)" msgid "Create new part" msgstr "Utwórz nową część" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "Nowy komponent" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "Opcje" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Ustaw kategorię" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Ustaw kategorię" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Parametry części" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "Stwórz nową kategorię komponentów" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Nowa kategoria" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Odśwież" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "Warianty Części" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "Utwórz nowy wariant" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "Nowy wariant" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Powiązane części" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "Dodaj powiązane" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Zestawienie materiałowe" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "Akcje eksportu" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "Eksportuj BOM" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "Drukuj raport BOM" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "Wgraj BOM" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "Weryfikuj BOM" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "Dodaj część do BOM" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "Złożenia" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "Dostawcy Części" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "Producenci części" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "Powiązane części" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "Dodaj powiązaną część" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "Wybierz format pliku" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "Nieaktywny" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "Przypisane do zamówień sprzedaży" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "Kod QR części" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "Warianty" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "Brak w magazynie" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Mała ilość w magazynie" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Znaleziono wyniki dla danych kodu kreskowego" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "Konfiguracja wtyczki" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "Konfiguracja wtyczek" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "Klucz" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "Klucz wtyczki" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "Nazwa wtyczki" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "Czy wtyczka jest aktywna" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Wtyczka" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "Cena jednostkowa" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "Razem" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Numer Seryjny" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "Zainstalowane elementy" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "Numer seryjny" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "Data ważności" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "Lokacje stanu magazynowego" @@ -7670,8 +7681,8 @@ msgstr "Wybierz właściciela" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "Skanuj do lokacji" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "Akcje druku" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "Przelicz stan magazynowy" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "Usuń stan magazynowy" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "Przenieś stan magazynowy" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Budowa" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Element nadrzędny" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "Lokacje nie są ustawione" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "Termin minął" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "Indeks" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "Obserwowane elementy" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "Obserwowane kategorie" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "Najnowsze części" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Wyczerpane stany magazynowe" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Zaległe zlecenia budowy" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Trwające zlecenia zakupu" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Zaległe zlecenia zakupu" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Trwające zlecenia sprzedaży" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Zaległe zlecenia sprzedaży" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "Wtyczki" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Instaluj wtyczkę" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "Błąd stosu wtyczki" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "Etap" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "Wiadomość" @@ -8767,14 +8795,6 @@ msgstr "Hash commitu" msgid "Commit Message" msgstr "Wiadomość commitu" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "Status podpisu" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "Klucz podpisu" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "Nie znaleziono szablonów parametrów kategorii" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "Edytuj szablon" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "Usuń szablon" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "Strona główna" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "Aktualna" msgid "Update Available" msgstr "Dostępna aktualizacja" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "Dokumentacja InvenTree" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "Wersja interfejsu API" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Wersja Pythona" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Wersja Django" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "Zobacz kod na GitHub" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "Autorzy" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "Aplikacja mobilna" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "Prześlij raport o błędzie" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "skopiuj do schowka" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "kopiuj informacje o wersji" @@ -9435,14 +9460,6 @@ msgstr "Dodaj link" msgid "Add Attachment" msgstr "Dodaj załącznik" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "Skaner kodów" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -9573,23 +9590,35 @@ msgstr "Kod błędu" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "Nie znaleziono załączników" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "Edytuj załącznik" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "Data przesłania" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "Edytuj załącznik" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "Usuń załącznik" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "Rozłącz" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "Wyświetl dane wiersza" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "Dane wiersza" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Zamknij" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "Pobierz szablon BOM-u" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "Poziomy" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "Dodaj zamiennik" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "Zobacz BOM" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "Czy na pewno przerwać tę budowę?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "Ostatni numer seryjny" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "Utwórz zlecenie budowy" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "Wyjście" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "Ilość za" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Wybierz części" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "Wybierz" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "Brak informacji o użytkowniku" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "Dodaj producenta" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "Dodaj część producenta" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "Dodaj dostawcę" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "Dodaj nową firmę" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "Usuń parametry" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Zamów komponenty" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "Nie znaleziono parametrów" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "Edytuj Parametr" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "Usuń parametr" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "Edytuj przedział cenowy" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "Ostatnio aktualizowane" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "Edytuj przedział cenowy" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "prawda" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "fałsz" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "Wybierz filtr" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "Dodaj nowy filtr" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "Wyczyść wszystkie filtry" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "Utwórz filtr" @@ -10497,6 +10620,12 @@ msgstr "Operacja usuwania nie jest dozwolona" msgid "View operation not allowed" msgstr "Operacja przeglądania nie jest dozwolona" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Usuń" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "Pozostaw ten formularz otwarty" @@ -10514,23 +10643,23 @@ msgstr "Istnieją błędy formularza" msgid "No results found" msgstr "Nie znaleziono wyników" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "Wyszukiwanie" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "Wyczyść wejście" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "Kolumna pliku" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "Nazwa pola" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "Wybór Kolumn" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "Atrybuty części" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "Utwórz nową kategorię części" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "Edytuj kategorię części" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "Czy na pewno chcesz usunąć tę kategorię części?" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "Utwórz część" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "Utwórz kolejną część po tej" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "Część utworzona pomyślnie" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "Edytuj część" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "Część zmodyfikowana" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "Utwórz wariant części" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "Masz włączone powiadomienia dla tej części" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "Włącz powiadomienia dla tej części" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "Zostałeś wypisany z powiadomień dla tej części" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "Obserwowane części" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "Nie znaleziono wariantów" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "Nie znaleziono szablonów parametrów części" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "Nie znaleziono części" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "Brak kategorii" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "Wyświetl jako listę" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "Wyświetl jako siatkę" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "Ustaw kategorię części" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Ustaw kategorię" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "Brak kategorii" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "Wyświetl jako listę" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" -msgstr "" +msgid "Display as grid" +msgstr "Wyświetl jako siatkę" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "Wyświetl jako drzewo" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "Obserwowana kategoria" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "Edytuj zamówienie zakupu" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "Oznacz zamówienie jako zakończone?" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "Kod zamówienia" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "Ilość do otrzymania" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "Potwierdź odbiór elementów" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Przedmioty" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "Nieprawidłowy klient" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "Nie znaleziono zamówień sprzedaży" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "Kompletna wysyłka" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "Nie odnaleziono pasujących przesyłek" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "Numer referencyjny przesyłki" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "Nie wysłano" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "Śledzenie" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "Potwierdź przydział zapasów" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "Cena zakupu" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "Oblicz cenę" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "Czy na pewno chcesz skasować tą lokację?" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "Czy na pewno chcesz usunąć tą część?" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "Przenieś" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "Weź" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "Dodaj" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "Usuń stan magazynowy" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "Wybierz przedmioty magazynowe" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "BRAK WYNIKÓW" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "Dodaj wynik testu" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "W produkcji" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "Scal stany magazynowe" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "Usuń stan magazynowy" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "Szczegóły" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "Lokalizacja już nie istnieje" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "Zamówienie zakupu już nie istnieje" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "Klient już nie istnieje" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "Element magazynowy już nie istnieje" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "Usunięto" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "Status zamówienia" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "Przypisane do mnie" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "Uwzględnij podlokalizacje" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "Obesrwowane" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "Numer seryjny" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "Kod partii" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "Aktywne części" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "Część jest zespołem" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "Jest przydzielony" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "Przedmiot został przydzielony" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "W produkcji" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "Obejmuje warianty" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "Zainstalowane" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "Posiada cenę zakupu" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "Test pomyślny" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "Pokaż aktywne części" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "Posiada IPN" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "Część posiada wewnętrzny numer części" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "Możliwość zakupu" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "Eksportuj dane tabeli" msgid "Select File Format" msgstr "Wybierz format pliku" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "Wczytywanie danych" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "wierszy na stronę" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "Pokaż wszystkie wiersze" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "Pokazywane" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "do" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "z" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "wierszy" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "Brak pasujących wyników" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "Ukryj/Pokaż stronicowanie" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "Przełącz" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "Kolumny" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "Wszystkie" @@ -12616,50 +12777,6 @@ msgstr "Ustawienia e-maila" msgid "Email settings not configured" msgstr "Ustawienia e-mail nie zostały skonfigurowane" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "Akcje kodów kreskowych" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "Opcje magazynowe" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "Dodaj do wybranych produktów magazynowych" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "Usuń z wybranych przedmiotów magazynowych" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "Przenieś wybrane przedmioty magazynowe" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "Połącz wybrane przedmioty magazynowe" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "Scal stany magazynowe" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "Zamów wybrane elementy" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "Usuń zaznaczone elementy" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "Usuń stan magazynowy" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "Tak" @@ -12692,35 +12809,35 @@ msgstr "Uprawnienia" msgid "Important dates" msgstr "Ważne daty" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Grupa" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Widok" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "Zmień" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index b2ef83de5b..db9c8fe888 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -49,26 +49,26 @@ msgstr "Detalhes do erro podem ser encontrados no painel de administrador" msgid "Enter date" msgstr "Insira uma Data" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Anotações" @@ -81,47 +81,51 @@ msgstr "Valor '{name}' não está no formato correto" msgid "Provided value does not match required pattern: " msgstr "O valor fornecido não corresponde ao padrão exigido: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Digite a senha" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Insira uma nova senha" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Confirmar senha" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Confirmar nova senha" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Senha atual" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "E-mail (novamente)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Confirmação do endereço de email" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Voce precisa digital o mesmo email." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "O endereço primário de e-mail não é válido." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "O domínio de e-mail providenciado não foi aprovado." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Quantidade invalida" @@ -239,7 +243,7 @@ msgstr "Link externo nao encontrado" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Anexo" @@ -247,29 +251,30 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link para URL externa" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Comentario" @@ -277,13 +282,13 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Usuario" @@ -324,53 +329,54 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental" msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Descricao" @@ -383,7 +389,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Caminho" @@ -419,12 +425,12 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URL do arquivo de imagem remoto" msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Tcheco" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Dinamarquês" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Alemão" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Grego" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Inglês" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Espanhol" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Espanhol (Mexicano)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Persa" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "Finlandês" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Francês" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebraico" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Húngaro" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japonês" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Holandês" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norueguês" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polonês" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Português" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Português (Brasileiro)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Esloveno" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Sueco" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Tailandês" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Chinês" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Falha em verificar o histórico do trabalhador" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Serviço de fundo do e-mail não foi configurado" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Verificação de saúde do sistema InvenTree falhou" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Pendente" @@ -630,7 +636,7 @@ msgstr "Colocado" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Completado" @@ -654,10 +660,10 @@ msgstr "Retornado" msgid "In Progress" msgstr "Em Progresso" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Enviado" @@ -689,7 +695,7 @@ msgstr "Em quarentena" msgid "Legacy stock tracking entry" msgstr "Entrada de rastreamento de estoque antiga" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Item de estoque criado" @@ -745,7 +751,7 @@ msgstr "Separado do Item Paternal" msgid "Split child item" msgstr "Separar o Item filho" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Itens de estoque mesclados" @@ -765,7 +771,7 @@ msgstr "Criação do pedido de produção completado" msgid "Build order output rejected" msgstr "Saída do pedido de produção rejeitada" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Usado na ordem de produção" @@ -781,7 +787,7 @@ msgstr "Recebido referente ao Pedido de Compra" msgid "Returned against Return Order" msgstr "Devolvido contra Pedido de Retorno" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Enviado ao cliente" @@ -849,83 +855,111 @@ msgstr "Os campos de senha devem coincidir" msgid "Wrong password provided" msgstr "Senha incorreta fornecida" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Informação do Sistema" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Sobre o InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "Consumível" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "Opcional" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "Alocado" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Ondem de Produção" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Ordens de Produções" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Escolha de Produção parental inválida" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referência" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "Breve descrição da produção (opcional)" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Produção Progenitor" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Ordem de produção para qual este serviço está alocado" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Peça" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Selecionar peça para produção" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Referência do pedido de venda" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Ordem de Venda para qual esta produção está alocada" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Local de Origem" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Selecione a localização para pegar do estoque para esta produção (deixe em branco para tirar a partir de qualquer local de estoque)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Local de Destino" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Selecione o local onde os itens concluídos serão armazenados" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Quantidade de Produção" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Número de itens em estoque para produzir" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Itens concluídos" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Número de itens em estoque concluídos" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Progresso da produção" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Código de Lote" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Criado em" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Data alvo final" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Data de conclusão" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "Concluído em" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Emitido em" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Usuário que emitiu esta ordem de produção" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Responsável" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "Usuário ou grupo responsável para esta ordem de produção" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Link Externo" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "Prioridade de Produção" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "Prioridade desta ordem de produção" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "Código do projeto" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "O Pedido de produção {build} foi concluído!" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde à Ordem de Produção" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Quantidade não pode ser maior do que a quantidade de saída" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis" +#: build/models.py:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "O item do estoque está sobre-alocado" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Quantidade alocada deve ser maior que zero" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Quantidade deve ser 1 para estoque serializado" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Item do estoque selecionado não encontrado na LDM" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Produção" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Faça uma Produção para atribuir peças" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Item de estoque" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Origem do item em estoque" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Origem do item em estoque" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "O item do estoque está sobre-alocado" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Quantidade alocada deve ser maior que zero" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Quantidade deve ser 1 para estoque serializado" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Item de estoque" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Origem do item em estoque" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Destino do Item do Estoque" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Saída da Produção" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "Saída de produção não coincide com a produção progenitora" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "Peça de saída não coincide com a peça da ordem de produção" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Esta saída de produção já foi concluída" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "A saída de produção não está completamente alocada" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Entre a quantidade da saída de produção" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "Quantidade inteira necessária para peças rastreáveis" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Números de Série" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Digite os números de série para saídas de produção" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "Alocar Números de Série Automaticamente" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Local" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "Local de estoque para saídas recicladas" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "Descartar alocações" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Situação" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "Aceitar Alocação Incompleta" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "Remover Estoque Alocado" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "Subtrair qualquer estoque que já tenha sido alocado para esta produção" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "Remover Saídas Incompletas" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "Não permitido" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por esta ordem de produção" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar esta ordem de produção" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "Estoque sobrealocado" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Como deseja manejar itens de estoque extras atribuídos a ordem de produção" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrealocados" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta produção" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceitar que o número requerido de saídas de produção não foi concluído" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Quantidade de produção requerida não foi concluída" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "Item LDM" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "Saída da Produção" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "bin_item.part deve indicar a mesma peça da ordem de produção" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "Saída de produção deve ser definida para alocação de peças rastreadas" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Saída de produção deve ser definida para alocação de peças não rastreadas" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "O item em estoque já foi alocado para essa saída de produção" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Local de estoque onde peças serão extraídas (deixar em branco para qualquer local)" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "Local não incluso" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "Não incluir itens de estoque deste local" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "Estoque permutável" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Itens de estoque em múltiplos locais pode ser permutável" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "Substituir Estoque" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens LDM opcionais para a ordem de produção" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Ações de código de barras" @@ -1618,69 +1668,67 @@ msgstr "Concluir produção" msgid "Build Description" msgstr "Descrição da produção" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "Nenhuma saída de produção foi criada para esta ordem de serviço" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "Ordem de produção está pronta para ser marcada como concluída" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Ordem de produção não pode ser concluída, os resultados pendentes permanecem" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "A quantidade de produção necessária ainda não foi concluída" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Data alvo" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "Essa produção expirou em %(target)s" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Expirou" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Concluído" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "Saídas Concluídas" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Concluído" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Pedido de Venda" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Emitido por" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "Prioridade" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Excluir Ordem de Produção" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "QR Code do Pedido de Produção" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "Vincular código de barras ao Pedido de Produção" @@ -1729,8 +1777,8 @@ msgstr "Origem do estoque" msgid "Stock can be taken from any available location." msgstr "O estoque pode ser tirado de qualquer local disponível." -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Destino" @@ -1744,21 +1792,21 @@ msgstr "Peças alocadas" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Lote" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Criado" @@ -1766,147 +1814,106 @@ msgstr "Criado" msgid "No target date set" msgstr "Sem data alvo definida" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Concluído" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Produção não concluída" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "Pedido de Produção Filho" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Alocar Estoque para Produção" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Estoque não alocado" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Estoque não Alocado" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "Alocar o estoque para produção automaticamente" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "Alocar automaticamente" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "Alocar estoque para a produção manualmente" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Alocar estoque" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Pedir peças necessárias" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Pedir Peças" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "Estoque não rastreável foi totalmente alocado para este Pedido de Produção" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "Estoque não rastreável não foi totalmente alocado para este Pedido de Produção" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "Alocar itens selecionados" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Esse Pedido de Produção não possuí nenhum item não rastreável associado à LDM" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "Saída de Produção Incompletas" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "Criar nova saída de produção" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "Nova saída de produção" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "Ações de saídas" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "Concluir saídas de produções selecionados" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "Saídas concluídas" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "Excluir saídas de produções selecionados" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "Exlcuir saídas" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "Saídas de Produção concluídas" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Anexos" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Notas de produção" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "Alocação Concluída" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "Todos os itens não rastreáveis foram alocados" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" +msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Novo Pedido de Produção" @@ -1914,14 +1921,10 @@ msgstr "Novo Pedido de Produção" msgid "Build Order Details" msgstr "Detalhes do Pedido de Produção" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Saídas Incompletas" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "Saídas Concluídas" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "Atualizado" msgid "Timestamp of last update" msgstr "Tempo da última atualização" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "Código do projeto" - #: common/models.py:105 msgid "Unique project code" msgstr "Código único do projeto" @@ -2261,9 +2254,9 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Modelo" @@ -2271,10 +2264,10 @@ msgstr "Modelo" msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Montagem" @@ -2282,8 +2275,8 @@ msgstr "Montagem" msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Componente" @@ -2291,7 +2284,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Comprável" @@ -2299,8 +2292,8 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Vendível" @@ -2308,10 +2301,10 @@ msgstr "Vendível" msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Rastreável" @@ -2319,10 +2312,10 @@ msgstr "Rastreável" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Virtual" @@ -2354,7 +2347,7 @@ msgstr "Dados Iniciais de Estoque" msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "Dados Iniciais de Fornecedor" @@ -2603,181 +2596,181 @@ msgid "Stock location default icon (empty means no icon)" msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" #: common/models.py:1471 +msgid "Show Installed Stock Items" +msgstr "" + +#: common/models.py:1472 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1478 msgid "Build Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Produção" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Required pattern for generating Build Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Enable Return Orders" msgstr "Ativar Pedidos de Devolução" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Enable return order functionality in the user interface" msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Return Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Devolução" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Required pattern for generating Return Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Devolução" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Edit Completed Return Orders" msgstr "Editar os Pedidos de Devolução Concluídos" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Sales Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Venda" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Required pattern for generating Sales Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Default Shipment" msgstr "Envio Padrão de Pedidos de Venda" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Edit Completed Sales Orders" msgstr "Editar os Pedidos de Vendas concluídos" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Purchase Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Compras" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "Editar Pedidos de Compra Concluídos" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "Habitar esquecer senha" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "Habilitar cadastro" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable self-registration for users on the login pages" msgstr "Ativar auto-registro para usuários na página de entrada" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "Ativar SSO" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "Ativar SSO na página de acesso" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "Ativar registro SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Ativar auto-registro por SSO para usuários na página de entrada" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "Email obrigatório" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "Exigir do usuário o e-mail no cadastro" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "Auto-preencher usuários SSO" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "Enviar email duplo" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "No registro pedir aos usuários duas vezes pelo email" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "Senha duas vezes" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "No registro pedir aos usuários duas vezes pela senha" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "Domínios permitidos" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "Grupo no cadastro" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "Grupo ao qual novos usuários são atribuídos no registro" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "Forçar AMF" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "Os usuários devem usar uma segurança multifator." -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "Checar extensões no início" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "Checar assinaturas de extensões" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "Checar e mostrar assinaturas das extensões" - #: common/models.py:1628 msgid "Enable URL integration" msgstr "Ativar integração URL" @@ -2850,7 +2843,7 @@ msgstr "Intervalo para Excluir o Relatório" msgid "Stocktake reports will be deleted after specified number of days" msgstr "Relatórios de balanço serão apagados após um número de dias especificado" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "Mostrar as peças mais recentes na página inicial" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "Contagem de peças recentes" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "Número de peças recentes para mostrar no índice" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Mostrar LDMs não validadas" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar LDMs que aguardam validação na página inicial" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "Mostrar alterações recentes de estoque" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar itens de estoque alterados recentemente na página inicial" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "Contagem de Estoque Recente" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "Número recentes itens do estoque para mostrar no índice" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Mostrar baixo estoque" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Mostrar itens de baixo estoque na página inicial" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "Mostrar estoque esgotado" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "Mostrar itens sem estoque na página inicial" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Mostrar estoque necessário" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "Mostrar itens de estoque necessários para produções na tela inicial" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "Mostrar estoque expirado" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "Mostrar expirados itens em estoque na tela inicial" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "Mostrar estoque inativo" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "Mostrar estoque inativo na tela inicial" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "Mostrar produções pendentes" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "Mostrar produções pendentes na tela inicial" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "Mostrar produções atrasadas" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "Mostrar produções atrasadas na tela inicial" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "Mostrar pedidos de compra pendentes" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "Mostrar Pedidos de Compra atrasados" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "Mostrar pedidos de vendas pendentes" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "Mostrar Pedidos de Venda atrasados" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "Mostrar remessas de OV pendentes" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "Mostrar envios OV pendentes na tela inicial" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "Mostrar notícias" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "Mostrar notícias na tela inicial" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "Mostrar etiqueta em linha" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Mostrar etiquetas em PDF no navegador, ao invés de baixar o arquivo" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "Impressora de etiquetas padrão" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "Configurar qual impressora de etiqueta deve ser selecionada por padrão" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "Mostrar relatório em linha" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Mostrar relatórios em PDF no navegador, ao invés de baixar o arquivo" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Procurar Peças" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "Mostrar peças na janela de visualização de pesquisa" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "Buscar Peças do Fornecedor" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "Buscar peças do fabricante" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "Ocultar peças inativas" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "Não incluir peças inativas na janela de visualização de pesquisa" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "Pesquisar Categorias" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "Pesquisar Estoque" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "Ocultar itens do estoque indisponíveis" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "Não incluir itens de estoque que não estão disponíveis na janela de visualização de pesquisa" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "Procurar Locais" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "Pesquisar empresas" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "Mostrar empresas na janela de visualização de pesquisa" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "Procurar Pedidos de Produção" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "Mostrar Pedido de Compras" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "Não incluir Pedidos de Compras Inativos" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "Não incluir pedidos de compras inativos na janela de visualização de pesquisa" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "Procurar Pedidos de Vendas" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "Não Incluir Pedidos de Compras Inativas" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "Não incluir pedidos de vendas inativos na janela de visualização de pesquisa" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "Procurar Pedidos de Devolução" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "Não Incluir Pedidos de Devolução Inativas" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "Não incluir pedidos de devolução inativos na janela de visualização de pesquisa" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "Mostrar Resultados Anteriores" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "Número de resultados mostrados em cada seção da janela de visualização de pesquisa" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "Pesquisa de Regex" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "Permitir expressôes comuns nas conultas de pesquisas" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "Busca de Palavras Inteira" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "Pesquisa retorna que palavra inteira coincide" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "A posição do Navbar é fixa no topo da tela" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Preço" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Ativo" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "Token" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "Segredo" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "Servidor" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "Corpo" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "Id" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumo" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "Lida" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "Esta notícia do item foi lida?" msgid "Image" msgstr "Imagem" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "Arquivo de imagem" @@ -3499,7 +3477,7 @@ msgstr "Descrição da empresa" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Página Web" @@ -3507,303 +3485,387 @@ msgstr "Página Web" msgid "Company website URL" msgstr "URL do Site da empresa" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Endereço" - -#: company/models.py:119 -msgid "Company address" -msgstr "Endereço da empresa" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Número de telefone" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Número de telefone do contato" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "Email" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Endereço de e-mail do contato" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Contato" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Ponto de contato" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Link para informações externas da empresa" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "é cliente" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "Você vende itens para esta empresa?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "é fornecedor" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "Você compra itens desta empresa?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "é fabricante" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Esta empresa fabrica peças?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Moeda padrão utilizada para esta empresa" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Empresa" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Peça base" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Selecionar peça" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "NPF" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "Descrição da peça do fabricante" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Peça do Fabricante" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Nome do parâmetro" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Valor" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Valor do Parâmetro" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Unidades" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Unidades do parâmetro" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Fornecedor" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "Código (SKU)" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "Selecionar peça do fabricante" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Anotação" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "preço base" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Embalagem" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "Embalagem de peças" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "Quantidade de embalagens" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "múltiplo" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "Pedir múltiplos" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Disponível" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "Quantidade disponível do fornecedor" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "Disponibilidade Atualizada" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "Data da última atualização da disponibilidade dos dados" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "Moeda padrão utilizada para este fornecedor" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Criar Pedido de compra" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Editar Informações da Empresa" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Editar Empresa" @@ -3856,17 +3918,17 @@ msgstr "Baixar imagem do URL" msgid "Delete image" msgstr "Excluir imagem" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Cliente" @@ -3874,6 +3936,13 @@ msgstr "Cliente" msgid "Uses default currency" msgstr "Usar moeda padrão" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Endereço" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Telefone" @@ -3906,7 +3975,7 @@ msgstr "Baixar Imagem" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Peças do Fornecedor" @@ -3916,129 +3985,121 @@ msgstr "Criar nova peça do fornecedor" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Nova peça do fornecedor" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Pedir peças" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Excluir peças" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Excluir Peças" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Fabricantes de peças" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Criar novo fabricante de peça" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Nova peça do fabricante" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Estoque do Fornecedor" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Pedidos de compra" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Criar novo pedido de compra" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Novo Pedido de Compra" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Pedidos de vendas" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Criar novo pedido de venda" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Novo Pedido de Venda" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "Estoque Atribuído" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "Pedidos de Devolução" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "Criar novo pedido de devolução" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "Novo Pedido de Devolução" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Notas da Empresa" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "Contato da Empresa" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "Adicionar Contato" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Lista de fornecedores" @@ -4050,17 +4111,17 @@ msgstr "Fabricantes" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Pedir peça" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "Editar peça do fabricante" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "Excluir peça do fabricante" @@ -4080,40 +4141,22 @@ msgstr "Nenhuma informação do fabricante disponível" msgid "Suppliers" msgstr "Fornecedores" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Excluir peças do fornecedor" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Excluir" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Parâmetros" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Novo parâmetro" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Excluir parâmetros" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Adicionar parâmetro" @@ -4137,23 +4180,28 @@ msgstr "Itens de Estoque atribuídos" msgid "Contacts" msgstr "Contatos" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Fornecedor da Peça" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "Ações de peças do fornecedor" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "Pedir Peça" @@ -4164,13 +4212,13 @@ msgstr "Atualizar disponibilidade" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "Editar Fornecedor da Peça" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "Duplicar Peça do Fornecedor" @@ -4197,7 +4245,7 @@ msgstr "Criar novo item de estoque" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Novo item de estoque" @@ -4205,37 +4253,37 @@ msgstr "Novo item de estoque" msgid "Supplier Part Orders" msgstr "Pedidos de peças do fornecedor" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Informações de Preço" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "Adicionar parcela de preço" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "QR Code da Peça do Fornecedor" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "Vincular Código de Barras à Parte do Fornecedor" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "Atualizar disponibilidade de peças" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Itens de Estoque" @@ -4261,7 +4309,7 @@ msgstr "Clientes" msgid "New Customer" msgstr "Novo Cliente" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Empresas" @@ -4269,72 +4317,76 @@ msgstr "Empresas" msgid "New Company" msgstr "Nova Empresa" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Nome da etiqueta" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Descrição da etiqueta" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Etiqueta" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "Arquivo de modelo de etiqueta" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Habilitado" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "Modelo de Etiqueta Habilitado" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Largura [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "Largura da etiqueta, em mm" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Altura [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Padrão de Nome de Arquivo" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "Padrão para gerar nomes do arquivo das etiquetas" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "Filtros de consulta (lista de valores separados por vírgula)," -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Filtros" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta (lista de valores separados por vírgula" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "Filtros de consulta de peça (lista de valores separados por vírgula)" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "Código QR" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Preço Total" @@ -4361,30 +4413,30 @@ msgstr "Preço Total" msgid "No matching purchase order found" msgstr "Nenhum pedido de compra correspondente encontrado" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Pedido de Compra" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "Devolver pedido" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "Desconhecido" @@ -4392,11 +4444,11 @@ msgstr "Desconhecido" msgid "Total price for this order" msgstr "Preço total deste pedido" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "Moeda do pedido" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "Moeda para este pedido (deixe em branco para usar o padrão da empresa)" @@ -4408,492 +4460,496 @@ msgstr "O contato não corresponde à empresa selecionada" msgid "Order description (optional)" msgstr "Descrição do pedido (opcional)" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "Selecione o código do projeto para este pedido" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Link para página externa" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "Data esperada para entrega do pedido. A ordem estará atrasada após esta data." -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "Criado por" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "Usuário ou grupo responsável para este pedido" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "Ponto de contato para este pedido" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Referência do pedido" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "Situação do pedido de compra" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "Empresa da qual os itens estão sendo encomendados" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "Referencia do fornecedor" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "Código de referência do pedido fornecedor" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "recebido por" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "Data de emissão" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "Dia que o pedido foi feito" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "Dia que o pedido foi concluído" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "Fornecedor de peça deve corresponder a fornecedor da OC" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "Empresa para qual os itens foi vendidos" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "Referência do Cliente " -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "Data de Envio" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "enviado por" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "O pedido não pode ser concluído, pois nenhuma parte foi atribuída" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "Apenas um pedido aberto pode ser marcado como completo" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "Pedido não pode ser concluído, pois, há envios incompletos" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "Pedido não pode ser concluído, pois, há itens na linha incompletos" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "Quantidade do item" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "Referência do Item em Linha" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "Observações do Item de Linha" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo a partir da ordem)" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "Contexto" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "Contexto adicional para esta linha" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "Preço Unitário" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "A peça do fornecedor deve corresponder ao fornecedor" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "excluído" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "Pedido" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "Fornecedor da Peça" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "Recebido" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Preço de Compra" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "Preço unitário de compra" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "Onde o Comprador quer que este item seja armazenado?" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "Peça virtual não pode ser atribuída a um pedido de venda" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "Apenas peças vendáveis podem ser atribuídas a um pedido de venda" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Preço de Venda" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "Preço de venda unitário" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "Quantidade enviada" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "Verificado por" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "Remessa" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "Número do Envio" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "Número de Rastreamento" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "Informação de rastreamento da remessa" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "Número da Fatura" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "Número de referência para fatura associada" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "O pedido já foi enviado" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "Remessa não foi alocada nos itens de estoque" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "O item do estoque não foi atribuído" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "Não é possível alocar o item de estoque para uma linha de uma peça diferente" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "Não é possível alocar uma linha sem uma peça" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "Pedidos de venda não coincidem com a remessa" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "Remessa não coincide com pedido de venda" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "Linha" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "Item" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "Selecione o item de estoque para alocar" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "Insira a quantidade de atribuição de estoque" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "Referência de Pedidos de Devolução" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "Empresa da qual os itens estão sendo retornados" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "Estado do pedido de retorno" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "Somente itens da série podem ser devolvidos" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "Selecione o item a ser devolvido pelo cliente" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "Data de Recebimento" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "Data que o pedido a ser devolvido foi recebido" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Despesa/gastos" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "Gastos com esta linha de itens" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "Gastos para reparar e/ou devolver esta linha de itens" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "O pedido não está aberto" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "Moeda de preço de compra" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "A peça do fornecedor deve ser especificada" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "O pedido de compra deve ser especificado" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "O fornecedor deve corresponder o pedido de compra" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "Itens de linha" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "O item de linha não corresponde ao pedido de compra" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "Digite o número de série para itens de estoque recebidos" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "Código de barras lido" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "Código de barras já em uso" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "Quantidade inteira deve ser fornecida para peças rastreáveis" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "Loca de destino deve ser especificado" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "Nenhuma correspondência encontrada para os seguintes números de série" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "Os seguintes números de série já estão alocados" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "Devolver item do pedido" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "Item do pedido não bate com a ordem de devolução" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "Item do pedido já foi recebido" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "Itens só podem ser recebidos de pedidos em processamento" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "Tipo de moeda para o item do pedido" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "Emitir Pedido" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "Receber itens" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "Receber Itens" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Marcar pedido como concluído" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "Completar Pedido" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "Referência do Pedido" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "Descrição do Pedido" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "Situação do pedido" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "Nenhuma informação do fornecedor disponível" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "Itens de Linha Concluídos" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "Incompleto" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "Emitido" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "Custo total" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "O custo total não pôde ser calculado" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "Código QR do pedido" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "Vincular o código de barras ao pedido" @@ -5085,13 +5133,13 @@ msgstr "Duplicar seleção" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Remover linha" @@ -5152,9 +5200,9 @@ msgstr "Itens do Pedido de Compra" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Adicionar item de linha" @@ -5165,30 +5213,25 @@ msgstr "Adicionar item de linha" msgid "Receive Line Items" msgstr "Receber os itens do pedido" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "Excluir Itens de Linha" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "Linhas Extra" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "Adicionar Linha Extra" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "Itens Recebidos" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Notas do Pedido" @@ -5208,29 +5251,29 @@ msgstr "Imprimir lista de pacotes" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "Referência do Cliente" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "Custo Total" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "Código QR da guia de devolução" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "Vincular Código de Barras a Pedido de Devolução" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "Enviar itens" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "Concluir Pedido de Venda" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "Este Pedido de Venda não foi totalmente alocado" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "Envios concluídos" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "Código QR da venda" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "Código de barras da venda" @@ -5274,18 +5317,17 @@ msgstr "Código de barras da venda" msgid "Sales Order Items" msgstr "Itens do Pedido de Venda" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Envios Pendentes" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Ações" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "Nova Remessa" @@ -5311,12 +5353,12 @@ msgstr "Atualizado {part} unid.-preço para {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID da Peça" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome da Peça" @@ -5325,19 +5367,19 @@ msgstr "Nome da Peça" msgid "Part Description" msgstr "Descrição da Peça" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "Revisão" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Palavras chave" @@ -5358,24 +5400,24 @@ msgstr "ID Local Padrão" msgid "Default Supplier ID" msgstr "ID de Fornecedor Padrão" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Estoque Mínimo" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "Em Estoque" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "No pedido" @@ -5383,23 +5425,16 @@ msgstr "No pedido" msgid "Used In" msgstr "Usado em" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "Alocado" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "Produzindo" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Custo Máximo" @@ -5416,13 +5451,13 @@ msgstr "Nome Paternal" msgid "Category Path" msgstr "Caminho da Categoria" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Peças" @@ -5439,7 +5474,7 @@ msgstr "ID Item LDM" msgid "Parent IPN" msgstr "IPN Paternal" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "IPN da Peça" @@ -5453,35 +5488,35 @@ msgstr "Preço Mínimo" msgid "Maximum Price" msgstr "Preço Máximo" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "Pedido de compra recebido" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "Pedidos de Venda Feitos" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "Estoque produzido por Ordem de Produção" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "Estoque obrigatório para Pedido de Produção" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "Válido" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Local Padrão" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "Estoque Total" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "Estoque Disponível" @@ -5499,916 +5534,913 @@ msgstr "Estoque Disponível" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "Categorias de Peça" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "Estrutural" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas." -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "Palavras-chave Padrão" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "Palavras-chave padrão para peças nesta categoria" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "Ícone" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "Ícone (opcional)" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "Escolha inválida para peça parental" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Parte '{p1}' é usada na LDM para '{p2}' (recursiva)" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corresponder ao padrão regex {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "Item em estoque com este número de série já existe" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "Uma parte com este Nome, IPN e Revisão já existe." -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Categoria" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "Fornecedor padrão da peça" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "Validade (em dias) para itens do estoque desta peça" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "Essa peça pode ser construída a partir de outras peças?" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "Essa peça pode ser usada para construir outras peças?" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "Esta é uma peça virtual, como um software de produto ou licença?" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "Usuário responsável por esta peça" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "Número de entradas de estoques individuais no momento do balanço" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "Data" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Reportar" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "Modelos de teste só podem ser criados para peças rastreáveis" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "O teste com este nome já existe para esta peça" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Requerido" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "Este teste requer um valor ao adicionar um resultado de teste?" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "Dados" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "Nível" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "Item LDM" + +#: part/models.py:3808 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "Opcional" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "Consumível" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Validado" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "O item da LDM foi calidado" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da LDM é herdado por LDMs para peças variáveis" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Permitir variações" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "A peça de substituição não pode ser a mesma que a peça mestre" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacionamento da peça não pode ser criada com ela mesma" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "Atualizar Peças" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "Atualizar peças especificadas com dados de estoque calculados" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "Função de Balanço de Estoque não está ativada" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluir itens LDM que são herdados de peças modelo" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "Limpar LDM Existente" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "Apagar itens LDM existentes antes de carregar" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "Nenhuma coluna de peça especificada" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "Múltiplas peças correspondentes encontradas" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "Nenhuma peça correspondente encontrada" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "Peça não está designada como componente" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "Quantidade não foi fornecida" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "Quantidade Inválida" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "Pelo menos um item LDM é necessário" @@ -6421,9 +6453,9 @@ msgstr "Notificação de estoque baixo" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "Quantidade Total" @@ -6461,14 +6493,6 @@ msgstr "A LDM de %(part)s foi verificada pela última vez por %(checker msgid "The BOM for %(part)s has not been validated." msgstr "A LDM para %(part)s não foi validada." -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "Ações da LDM" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "Excluir itens" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "Fazer balanço de estoque para esta categoria de peça" @@ -6505,7 +6529,7 @@ msgstr "Excluir Categoria" msgid "Top level part category" msgstr "Categoria de peça de nível superior" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Sub-categorias" @@ -6518,33 +6542,20 @@ msgstr "Peças (incluindo subcategorias)" msgid "Create new part" msgstr "Criar nova peça" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "Nova Peça" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "Opções" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Definir categoria" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Definir Categoria" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Parâmetros da Peça" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "Criar categoria de peça" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Nova Categoria" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "Atualizar dados de agendamento" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Recarregar" @@ -6592,7 +6603,7 @@ msgstr "Adicionar informações de balanço de estoque" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "Balanço" @@ -6604,101 +6615,101 @@ msgstr "Modelos de Teste de Peça" msgid "Add Test Template" msgstr "Adicionar Modelo de Teste" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "Alocações do Pedido de Vendas" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "Notas de Peça" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "Variantes de Peça" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "Criar variante" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "Nova Variação" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "Adicionar um novo parâmetro" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "Peças Relacionadas" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "Adicionar Relacionado" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Lista de Materiais" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "Exportar Ações" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "Exportar LDM" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "Imprimir Relatório da LDM" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "Ações da LDM" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "Carregar LDM" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "Validar LDM" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "Adicionar Item LDM" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "Montagens" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "Produções de peça" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "Alocações de Pedido de Produção" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "Fornecedores da peça" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "Fabricantes da peça" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "Apagar peças do fabricante" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "Peça Relacionada" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "Adicionar peça relacionada" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "Adicionar Modelo de Resultado de Teste" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "Baixar Modelo de Importação de Peça" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "Formato" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "Selecione o formato de arquivo" @@ -6779,7 +6790,7 @@ msgstr "Contagem peça em estoque" msgid "Transfer part stock" msgstr "Transferir estoque de peça" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "Ações de peça" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "Item bloqueado" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "Inativo" @@ -6850,7 +6861,7 @@ msgstr "Alocado para Pedidos de Construção" msgid "Allocated to Sales Orders" msgstr "Alocado para Pedidos de Venda" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "Pode Produzir" @@ -6858,8 +6869,8 @@ msgstr "Pode Produzir" msgid "Minimum stock level" msgstr "Nível mínimo de estoque" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "QR Code da Peça" msgid "Link Barcode to Part" msgstr "Vincular Código de Barras à Peça" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "peça" @@ -6956,9 +6967,9 @@ msgstr "Variantes" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Estoque" @@ -6989,9 +7000,9 @@ msgstr "Atualizar Preço da Peça" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "Última atualização" @@ -7054,12 +7065,12 @@ msgstr "Preço de Venda" msgid "Add Sell Price Break" msgstr "Adicionar intervalo de preço de venda" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "Sem Estoque" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Estoque Baixo" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Coincidência encontrada para dados de código de barras" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "Código de barras corresponde ao item existente" @@ -7226,43 +7237,43 @@ msgstr "URL usada para enviar mensagens para um canal do Slack" msgid "Open link" msgstr "Abrir link" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "Configuração de Extensão" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "Configuração de Extensões" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "Chave" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "Chave da extensão" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "Nome da Extensão" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "O plug-in está ativo" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "Plug-in de exemplo" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "Plugin embutido" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "Extensões" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "Método" @@ -7414,47 +7425,47 @@ msgstr "Filtros de Produção" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta de produção (lista de valores separados por vírgula" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "Filtros de Peças" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta de peças (lista de valores separados por vírgula" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "Filtros de consultas de pedidos de compra" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "Filtros de consultas de pedidos de venda" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "Filtrar pesquisa de itens devolvidos" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "Recorte" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "Relatar arquivo de recorte" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "Descrição do arquivo de recorte" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "Ativos" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "Reportar arquivo de ativos" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "Descrição do arquivo de ativos" @@ -7475,8 +7486,8 @@ msgstr "Fornecedor foi excluído" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "Preço unitário" @@ -7488,23 +7499,23 @@ msgstr "Extra Itens de Linha" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Número de Sério" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "Resultados do teste" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "Teste" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "Itens instalados" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "Série" @@ -7617,31 +7628,31 @@ msgstr "Excluir quando esgotado" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "Data de validade" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "Localizacao do estoque" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "Locais de estoque" @@ -7670,8 +7681,8 @@ msgstr "Selecionar Responsável" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Externo" @@ -7687,7 +7698,7 @@ msgstr "Você não pode tornar este local do estoque estrutural, pois alguns ite msgid "Stock items cannot be located into structural stock locations!" msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "Item de estoque não pode ser criado para peças virtuais" @@ -7821,7 +7832,7 @@ msgstr "Números de série devem ser uma lista de números inteiros" msgid "Quantity does not match serial numbers" msgstr "A quantidade não corresponde aos números de série" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "Números de série já existem" @@ -7849,7 +7860,7 @@ msgstr "Item no estoque está em produção no momento" msgid "Serialized stock cannot be merged" msgstr "Itens de série não podem ser mesclados" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "Item de estoque duplicado" @@ -7901,132 +7912,141 @@ msgstr "Anexo do resultado do teste" msgid "Test notes" msgstr "Notas do teste" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "Número de série é muito grande" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "Insira o número de itens de estoque para serializar" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({q})" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "Inserir número de série para novos itens" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "Local de destino do estoque" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "Campo opcional de notas" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "Números de série não podem ser atribuídos a esta peça" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "Selecione o item de estoque para instalar" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "Item de estoque indisponível" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "Peça selecionada não está na Lista de Materiais" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "Local de destino para o item desinstalado" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "Adicionar nota de transação (opcional)" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "Item de estoque indisponível" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "Peça selecionada não está na Lista de Materiais" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "Local de destino para o item desinstalado" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "Selecione peça para converter o item de estoque em" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "Peça selecionada não é uma opção válida para conversão" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "Local de destino para item retornado" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "Parte deve ser comercializável" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "Item é alocado para um pedido de venda" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "Item está alocado a um pedido de produção" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "Cliente para atribuir itens de estoque" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "A empresa selecionada não é um cliente" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "Permitir estado incompatível" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir a fusão de itens de estoque com estado diferentes" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "Notas de Item Estoque" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "Adicionar estoque" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "Remover estoque" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "Serializar estoque" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "Transferir estoque" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "Disponibilizar para o cliente" @@ -8159,6 +8182,11 @@ msgstr "Editar item de estoque" msgid "Delete stock item" msgstr "Excluir item de estoque" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Produção" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Item Primário" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "Inativo" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "Nenhum balanço feito" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Estoque Inativo" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "Placa da Situação" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "Identificador de Código de Barras" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "Saídas concluídas" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "Exlcuir saídas" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Pedir peças" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "Apagar peças do fabricante" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Excluir peças do fornecedor" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Excluir" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "Criar Categoria de Peça" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "Programar geração de um novo relatório de balanço." -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "Uma vez concluído, o relatório de estoque estará disponível para baixar." -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "Gerar Relatório de Balanço" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "Relatório de balanço agendado" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "Nenhuma informação de balanço disponível" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "Editar Lançamento de Balanço" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "Apagar Lançamento de Balanço" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Definir categoria" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "Situação do Estoque" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "Envios concluídos" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "Situação dos Pedidos" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "Estado do Estoque" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "Estado da Produção" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "Tem entradas em balanço" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "Fazer balanço de itens do estoque selecionados" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Grupo" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index 5fae4b6286..c66e4d295c 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: 2023-06-05 11:04+0000\n" +"POT-Creation-Date: 2023-06-12 21:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,12 +53,12 @@ msgstr "" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3004 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -122,7 +122,7 @@ msgstr "" msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "" @@ -238,7 +238,7 @@ msgstr "" msgid "Missing external link" msgstr "" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -248,10 +248,10 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -264,7 +264,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -278,10 +278,10 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3012 -#: part/models.py:3100 part/models.py:3179 part/models.py:3199 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 #: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 @@ -325,12 +325,12 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3399 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:78 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -347,8 +347,8 @@ msgstr "" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3415 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -420,12 +420,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3896 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2851 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,111 +498,111 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:722 msgid "Czech" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:723 msgid "Danish" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:724 msgid "German" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:725 msgid "Greek" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:726 msgid "English" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:727 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:728 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:729 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:730 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:731 msgid "French" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:732 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:733 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:734 msgid "Italian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:735 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:736 msgid "Korean" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:737 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:738 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:739 msgid "Polish" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:740 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:741 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:742 msgid "Russian" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:743 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:744 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:745 msgid "Thai" msgstr "" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:746 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:747 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:748 msgid "Chinese" msgstr "" @@ -618,196 +618,199 @@ msgstr "" msgid "InvenTree system health checks failed" msgstr "" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:511 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 msgid "Stock updated" msgstr "" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" msgstr "" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" msgstr "" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 msgid "Return" msgstr "" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 msgid "Replace" msgstr "" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 msgid "Reject" msgstr "" @@ -855,7 +858,7 @@ msgstr "" msgid "About InvenTree" msgstr "" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "" @@ -887,9 +890,9 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3797 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -918,11 +921,11 @@ msgstr "" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2864 part/models.py:2978 -#: part/models.py:3118 part/models.py:3137 part/models.py:3156 -#: part/models.py:3177 part/models.py:3269 part/models.py:3554 -#: part/models.py:3662 part/models.py:3762 part/models.py:4076 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1020,7 +1023,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "" @@ -1029,7 +1032,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1044,7 +1047,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "" @@ -1062,10 +1065,10 @@ msgid "User who issued this build order" msgstr "" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 @@ -1120,9 +1123,9 @@ msgid "Build output does not match Build Order" msgstr "" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "" @@ -1139,11 +1142,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1165,8 +1168,8 @@ msgstr "" msgid "Build to allocate parts" msgstr "" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1189,10 +1192,10 @@ msgstr "" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: build/templates/build/detail.html:34 common/models.py:2169 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2991 part/models.py:3778 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1279,7 +1282,7 @@ msgstr "" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1297,7 +1300,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1305,8 +1308,8 @@ msgstr "" msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1346,8 +1349,8 @@ msgid "Location for completed build outputs" msgstr "" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1419,7 +1422,7 @@ msgstr "" msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "" @@ -1435,8 +1438,8 @@ msgstr "" msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3685 -#: part/models.py:4068 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "" @@ -1456,7 +1459,7 @@ msgstr "" msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" @@ -1473,7 +1476,7 @@ msgstr "" msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "" @@ -1637,8 +1640,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1677,8 +1680,8 @@ msgid "Completed" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1727,7 +1730,7 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "" @@ -1966,7 +1969,7 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2127,7 +2130,7 @@ msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 #: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1323 common/models.py:1446 common/models.py:1688 msgid "days" msgstr "" @@ -2259,7 +2262,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3559 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 #: templates/js/translated/table_filters.js:680 msgid "Template" @@ -2269,7 +2272,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 #: templates/js/translated/table_filters.js:634 @@ -2280,7 +2283,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 #: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "" @@ -2289,7 +2292,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "" @@ -2297,7 +2300,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 #: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "" @@ -2306,7 +2309,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:684 @@ -2317,7 +2320,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:688 @@ -2768,547 +2771,539 @@ msgstr "" msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - #: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "" - -#: common/models.py:1628 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1622 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1629 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1630 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1637 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1638 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1645 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1646 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1653 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1654 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1661 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1662 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1668 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1669 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1675 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1676 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1685 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1686 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1703 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1722 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1744 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1745 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1751 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1752 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1758 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1759 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1765 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1766 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1772 msgid "Recent Part Count" msgstr "" -#: common/models.py:1780 +#: common/models.py:1773 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1786 +#: common/models.py:1779 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1793 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1801 +#: common/models.py:1794 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1807 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: common/models.py:2177 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2353 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 #: templates/js/translated/table_filters.js:434 @@ -3317,100 +3312,100 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2683 templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2729 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3420,7 +3415,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3532,7 +3527,7 @@ msgid "Contact email address" msgstr "" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3642,7 +3637,7 @@ msgstr "" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3653,7 +3648,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3406 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3677,7 +3672,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3720,7 +3715,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3800 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3729,11 +3724,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1918 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1918 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3763,7 +3758,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1920 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3854,8 +3849,8 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -4088,7 +4083,7 @@ msgstr "" #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 +#: templates/js/translated/stock.js:216 users/models.py:248 msgid "Delete" msgstr "" @@ -4346,7 +4341,7 @@ msgstr "" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4355,11 +4350,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4373,7 +4368,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4382,188 +4377,188 @@ msgstr "" msgid "Return Order" msgstr "" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 msgid "Total price for this order" msgstr "" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 msgid "Order Currency" msgstr "" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 msgid "Contact does not match selected company" msgstr "" -#: order/models.py:229 +#: order/models.py:232 msgid "Order description (optional)" msgstr "" -#: order/models.py:231 +#: order/models.py:234 msgid "Select project code for this order" msgstr "" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:264 +#: order/models.py:267 msgid "Point of contact for this order" msgstr "" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 @@ -4573,342 +4568,342 @@ msgstr "" msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 msgid "Return Order reference" msgstr "" -#: order/models.py:1736 +#: order/models.py:1739 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:528 +#: order/serializers.py:529 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1564 +#: order/serializers.py:1565 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 msgid "Line price currency" msgstr "" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5309,12 +5304,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3666 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3670 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5323,19 +5318,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5356,11 +5351,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5393,11 +5388,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2929 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2935 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5414,7 +5409,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5437,7 +5432,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3674 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5451,35 +5446,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5497,106 +5492,106 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3615 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3671 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 msgid "Part description (optional)" msgstr "" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:882 part/models.py:3197 part/models.py:3614 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5604,249 +5599,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1920 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2852 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2869 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2870 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2875 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2876 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2881 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2894 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2899 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2900 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2905 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2906 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2911 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2912 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2917 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2918 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2923 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2924 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2930 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2942 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2947 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2948 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2953 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2954 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2959 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2960 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2979 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2984 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2985 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2992 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2996 part/models.py:3079 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5858,214 +5853,214 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2997 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3005 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3013 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3018 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3024 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3087 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3092 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3093 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3101 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3237 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3254 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3274 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3275 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3280 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3281 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3286 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3287 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3292 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3293 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3298 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3299 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3345 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3350 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3368 +#: part/models.py:3369 msgid "Choices must be unique" msgstr "" -#: part/models.py:3384 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1600 +#: part/models.py:3423 templates/js/translated/part.js:1600 #: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3510 +#: part/models.py:3511 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3554 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3559 part/models.py:3620 part/models.py:3621 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3564 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3564 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3625 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3626 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3663 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3675 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3678 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3763 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3771 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3778 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3782 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 @@ -6074,114 +6069,114 @@ msgstr "" msgid "Optional" msgstr "" -#: part/models.py:3783 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3788 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3789 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3793 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3794 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3797 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3800 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3804 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3804 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3809 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3810 +#: part/models.py:3811 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3815 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3816 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3821 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3822 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3908 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3917 part/models.py:3919 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4035 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4056 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4069 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4077 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4092 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4096 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4096 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4118 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7515,12 +7510,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7619,27 +7614,27 @@ msgstr "" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7798,104 +7793,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8670,29 +8665,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:68 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:77 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:79 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8765,14 +8760,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -9202,44 +9189,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -11845,7 +11836,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1005 users/models.py:244 msgid "Add" msgstr "" @@ -12691,34 +12682,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:231 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:239 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:242 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:242 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:244 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:246 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:246 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 0aed76a830..88d59bed39 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -49,26 +49,26 @@ msgstr "Подробности об ошибке можно найти в пан msgid "Enter date" msgstr "Введите дату" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Заметки" @@ -81,47 +81,51 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "Предоставленное значение не соответствует требуемому формату: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Введите пароль" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Введите новый пароль" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Подтвердить пароль" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Подтвердите новый пароль" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Старый пароль" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (еще раз)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Подтверждение адреса электронной почты" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Вы должны вводить один и тот же адрес электронной почты." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Указанный основной адрес электронной почты неверен." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Указанный домен электронной почты не утверждён." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -239,7 +243,7 @@ msgstr "Отсутствует внешняя ссылка" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Вложения" @@ -247,29 +251,30 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Ссылка на внешний URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Комментарий" @@ -277,13 +282,13 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Пользователь" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Название" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Описание" @@ -383,7 +389,7 @@ msgid "parent" msgstr "родитель" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Путь" @@ -419,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Чешский" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Датский" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Испанский (Мексика)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Фарси / Персидский" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Венгерский" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Португальский" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Португальский (Бразильский диалект)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Словенский" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Китайский" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Сервер электронной почты не настроен" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Ошибка проверки состояния системы InvenTree" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Ожидаемый" @@ -630,7 +636,7 @@ msgstr "Размещены" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Готово" @@ -654,10 +660,10 @@ msgstr "Возвращено" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Доставлено" @@ -689,7 +695,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "Отслеживание устаревших запасов" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Товар создан" @@ -745,7 +751,7 @@ msgstr "Отделить от родительского элемента" msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Объединенные позиции на складе" @@ -765,7 +771,7 @@ msgstr "Вывод заказа сборки завершён" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Отправлено клиенту" @@ -849,83 +855,111 @@ msgstr "Пароли должны совпадать" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Информация о системе" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Порядок сборки" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Порядок сборки" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Неверный выбор для родительской сборки" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Отсылка" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Родительская сборка" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Детали" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Выберите часть для сборки" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Отсылка на заказ" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Расположение источника" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Место назначения" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Выберите место хранения завершенных элементов" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Количество сборки" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Количество складских предметов для сборки" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Завершенные предметы" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Количество предметов на складе, которые были завершены" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Статус сборки" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Код статуса сборки" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Дата создания" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Целевая дата завершения" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Дата завершения" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "выполнено" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Выдал/ла" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Пользователь, выпустивший этот заказ на сборку" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Ответственный" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Вывод сборки не указан" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Вывод сборки уже завершен" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" - -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Предмет на складе перераспределен" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Выделенное количество должно быть больше нуля" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Количество должно быть 1 для сериализованных запасов" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Выбранная единица хранения не найдена в BOM" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Сборка" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Предметы на складе" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Исходный складской предмет" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Исходный складской предмет" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Количество" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Предмет на складе перераспределен" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Выделенное количество должно быть больше нуля" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Количество должно быть 1 для сериализованных запасов" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Предметы на складе" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Исходный складской предмет" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Установить в" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "Результат сборки не совпадает с родительской сборкой" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Результат этой сборки уже помечен как завершенный" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Введите количество для вывода сборки" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для результатов сборки" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Расположение" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Статус" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "BOM Компонент" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "Компонент должен быть в наличии" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Действия со штрих-кодом" @@ -1618,69 +1668,67 @@ msgstr "Завершить сборку" msgid "Build Description" msgstr "Описание сборки" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Целевая дата" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Просрочено" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Завершённые" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Завершённые" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Заказ покупателя" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Выдано" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Удалить заказ на сборку" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Назначение" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Партия" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Создано" @@ -1766,147 +1814,106 @@ msgstr "Создано" msgid "No target date set" msgstr "Нет конечной даты" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Завершённые" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Сборка не завершена" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Заказать детали" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "Вывод" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Приложения" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Заметки сборки" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Новый заказ на сборку" @@ -1914,14 +1921,10 @@ msgstr "Новый заказ на сборку" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Незавершенные выходные данные" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Шаблон" @@ -2271,10 +2264,10 @@ msgstr "Шаблон" msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Сборка" @@ -2282,8 +2275,8 @@ msgstr "Сборка" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Компонент" @@ -2291,7 +2284,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Можно продавать" @@ -2308,10 +2301,10 @@ msgstr "Можно продавать" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Отслеживание" @@ -2319,10 +2312,10 @@ msgstr "Отслеживание" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" -msgstr "Необходимо указать EMail" +msgid "Enable SSO registration" +msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" -msgstr "" +msgid "Email required" +msgstr "Необходимо указать EMail" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Цена" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "Изображение" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "Описание компании" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "Сайт" @@ -3507,303 +3485,387 @@ msgstr "Сайт" msgid "Company website URL" msgstr "Сайт компании" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Адрес" - -#: company/models.py:119 -msgid "Company address" -msgstr "Адрес компании" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Телефон" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "Контактный телефон" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "EMail" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "Контактный EMail" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "Контакт" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "Контактное лицо" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "покупатель" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "Вы продаёте детали этой компании?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "поставщик" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "Вы закупаете детали у этой компании?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "производитель" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "Компания" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Производитель" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "Деталь производителя" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Значение" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "Ед.изм" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "Единицы измерения" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Поставщик" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "Код поставщика" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Заметка" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Упаковка" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "Для этого поставщика используется валюта по умолчанию" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Создать заказ на закупку" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "Редактировать информацию о компании" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "Редактировать компанию" @@ -3856,17 +3918,17 @@ msgstr "Скачать изображение по ссылке" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Покупатель" @@ -3874,6 +3936,13 @@ msgstr "Покупатель" msgid "Uses default currency" msgstr "Использовать валюту по умолчанию" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Адрес" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "Телефон" @@ -3906,7 +3975,7 @@ msgstr "Скачать изображение" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Детали поставщиков" @@ -3916,129 +3985,121 @@ msgstr "Создать новую деталь поставщика" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Новая деталь поставщика" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "Заказать детали" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Удалить детали" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Удалить детали" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "Детали производителей" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "Создать новую деталь производителя" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "Новая деталь производителя" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Склад поставщика" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Заказы на закупку" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Создать новый заказ на закупку" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Новый заказ на закупку" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Заказы на продажу" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Создать новый заказ на продажу" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Новый заказ на продажу" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "Заметки о компании" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "Список поставщиков" @@ -4050,17 +4111,17 @@ msgstr "Производители" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "Поставщики" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Удалить деталь поставщика" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "Удалить" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Параметры" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "Новый параметр" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Удалить параметры" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "Добавить параметр" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Деталь поставщика" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "Редактировать деталь поставщика" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "Создать единицу хранения" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Новая единица хранения" @@ -4205,37 +4253,37 @@ msgstr "Новая единица хранения" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Информация о цене" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Детали на складе" @@ -4261,7 +4309,7 @@ msgstr "Покупатели" msgid "New Customer" msgstr "Новый покупатель" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Компании" @@ -4269,72 +4317,76 @@ msgstr "Компании" msgid "New Company" msgstr "Новая компания" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Ширина [мм]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Высота [мм]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Фильтры" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "Общая стоимость" @@ -4361,30 +4413,30 @@ msgstr "Общая стоимость" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "Компания, в которой детали заказываются" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Закупочная цена" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "Курс покупки валюты" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих единиц хранения" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "Курс продажи валюты" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "Удалить строку" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "Действия" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Артикул" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Наименование детали" @@ -5325,19 +5367,19 @@ msgstr "Наименование детали" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "Версия" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Ключевые слова" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Минимальный запас" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "На складе" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "Сборки" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Детали" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "IPN" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "Доступный запас" @@ -5499,916 +5534,913 @@ msgstr "Доступный запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "Ключевые слова по умолчанию" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "Ключевые слова по умолчанию для деталей этой категории" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN должен совпадать с регулярным выражением {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "Категория" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "Категория" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "BOM Компонент" + +#: part/models.py:3808 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "Действия с BOM" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "Удалить элементы" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "Удалить категорию" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Подкатегории" @@ -6518,33 +6542,20 @@ msgstr "Детали (включая подкатегории)" msgid "Create new part" msgstr "Создать новую деталь" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "Новая деталь" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "Настройки" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Укажите категорию" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Укажите категорию" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Параметры детали" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "Создать новую категорию деталей" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "Новая категория" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Обновить" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "Разновидности детали" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "Создать новую разновидность" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "Новая разновидность" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "Спецификация" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "Экспорт" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "Экспорт BOM" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "Действия с BOM" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "Сборки" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "Поставщики" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "Действия с деталью" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "Минимальный складской запас" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "Разновидности" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Найдено совпадение по штрих-коду" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Серийный номер" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "Место хранения" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "Места хранения" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "Выбранная деталь отсутствует в спецификации" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "Выбранная деталь отсутствует в спецификации" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "Дочерние единицы хранения" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "Эта единица хранения не имеет дочерних элементов" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "Заметки о единице хранения" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "Установленные единицы хранения" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "Установить единицу хранения" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "Редактировать единицу хранения" msgid "Delete stock item" msgstr "Удалить единицу хранения" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Сборка" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "Родительский элемент" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "Создать новое место хранения" msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "Последние детали" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "BOM для проверки" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "Настройки плагинов" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "Настройки заказа на закупку" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "Шаблоны параметров категории не найдены" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "Редактировать шаблон" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "Удалить шаблон" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "Главная страница" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "Посмотреть код на GitHub" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -9573,23 +9590,35 @@ msgstr "Код ошибки" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "Вложение не найдено" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "Скачать шаблон BOM" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "Редактировать элемент BOM" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "Удалить элемент BOM" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "Элементы BOM не найдены" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "Унаследовано от родительского BOM" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "Редактировать заказ на сборку" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "Создать заказ на сборку" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "Вы уверены, что хотите отменить эту сборку?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "Спецификация содержит отслеживаемые детали" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "Отслеживаемые детали могут иметь серийные номера" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "Отслеживаемая деталь" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "Добавить производителя" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "Добавить деталь производителя" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "Редактировать деталь производителя" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "Добавить поставщика" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "Добавить деталь поставщика" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "Все выбранные детали поставщика будут удалены" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "Добавить новую компанию" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "Информация о компании не найдена" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "Удалить параметры" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "Заказать детали" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "Информация о детали производителя не найдена" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "Деталь-шаблон" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "Параметры не найдены" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "Редактировать параметр" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "Удалить параметр" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Удалить деталь поставщика" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "Информация о детали поставщика не найдена" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "Редактировать деталь поставщика" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "Удалить деталь поставщика" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "Последнее обновление" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "Операция удаления не разрешена" msgid "View operation not allowed" msgstr "Операция просмотра не разрешена" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "Удалить" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "Форма содержит ошибки" msgid "No results found" msgstr "Не найдено" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "Идентификатор" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "Атрибуты детали" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "Настройки создания детали" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "Настройки дублирования детали" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "Добавить категорию" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "Родительская категория" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "Создать категорию деталей" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "Редактировать категорию" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "Вы уверены, что хотите удалить эту категорию?" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "Удалить категорию" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "Создать деталь" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "Создать ещё одну деталь после этой" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "Деталь создана успешно" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "Создать разновидность детали" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "Вы подписаны на уведомления для данного элемента" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "Вы подписались на уведомления для данного элемента" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "Включить уведомления для данного элемента" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "Вы отписались от уведомлений для данного элемента" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "Отслеживаемая деталь" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "Разновидности не найдены" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "Шаблоны параметров детали не найдены" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "Заказов на закупку не найдено" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "Нет категории" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "Список" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "Таблица" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "Укажите категорию" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Укажите категорию" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "Нет категории" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "Список" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" -msgstr "" +msgid "Display as grid" +msgstr "Таблица" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "Дерево" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "Редактировать заказ на закупку" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "Добавить код партии" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "Отмена этого заказа означает, что заказ нельзя будет редактировать." -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "Заказы на продажу не найдены" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "Подтвердите выделение запасов" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "Вы уверены, что хотите удалить место хранения?" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "Создано несколько единиц хранения" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "Предупреждение: Операция объединения не может быть отменена" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "Следующие данные будут потеряны в процессе объединения" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "История складских перемещений будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "Информация о деталях поставщика будет удалена для объединённых элементов" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "Код партии" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "Статус сборки" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "Загрузка данных" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "строк на странице" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "Показываются все строки" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "Показано от" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "до" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "из" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "строк" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "Ничего не найдено" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "Настройки электронной почты" msgid "Email settings not configured" msgstr "Электронная почта не настроена" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "Действия со штрих-кодом" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "Настройки склада" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "Права доступа" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Вид" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index fbdcff2a45..66664e6a5e 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -49,26 +49,26 @@ msgstr "Napaka, podrobnosti vidne v pogledu administratorja" msgid "Enter date" msgstr "Vnesi datum" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Zapiski" @@ -81,47 +81,51 @@ msgstr "Vrednost '{name}' ni v predpisanem formatu" msgid "Provided value does not match required pattern: " msgstr "Podana vrednost se ujema s predpisanim vzorcem: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Vnesite geslo" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Vnesite novo geslo" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Potrdite geslo" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Potrdite novo geslo" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Staro geslo" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Ponovnite e-pošto" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Potrdite e-pošto" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "E-pošti se morata ujemati" -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Podana epošta ni veljavna." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Domena epošte ni podprta." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Podana napačna količina" @@ -239,7 +243,7 @@ msgstr "Manjka zunanja povezava" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Priloga" @@ -247,29 +251,30 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Zunanja povezava" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Komentar" @@ -277,13 +282,13 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Uporabnik" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Opis" @@ -383,7 +389,7 @@ msgid "parent" msgstr "nadrejen" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Pot" @@ -419,12 +425,12 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "Povezava do oddaljene slike" msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Češko" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Danščina" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Nemščina" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Grščina" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Angleščina" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Španščina" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Španščina (Mehiško)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Perzijsko" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Francoščina" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebrejščina" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Madžarščina" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italijanščina" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japonščina" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Korejščina" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Nizozemščina" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norveščina" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Poljščina" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugalščina" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugalščina (Brazilsko)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Ruščina" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Slovenščina" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Švedščina" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Tajščina" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turščina" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamščina" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Kitajščina" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Zaledje e-pošte ni nastavljeno" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "Preverjanje zdravja sistema InvenTree neuspelo" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "V teku" @@ -630,7 +636,7 @@ msgstr "Postavljeno" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Končano" @@ -654,10 +660,10 @@ msgstr "Vrnjeno" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Poslano" @@ -689,7 +695,7 @@ msgstr "Dano v karanteno" msgid "Legacy stock tracking entry" msgstr "Vnos zaloge postavke" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Postavka zaloge ustvarjena" @@ -745,7 +751,7 @@ msgstr "Razdeljena od nadrejene postavke" msgid "Split child item" msgstr "Razdeljena podrejena postavka" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Združena zaloga postavk" @@ -765,7 +771,7 @@ msgstr "Nalog za izgradnjo končan" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Porabljeno v nalogu za izgradnjo" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Posalno stranki" @@ -849,83 +855,111 @@ msgstr "Polja z geslom se morajo ujemati" msgid "Wrong password provided" msgstr "Vnešeno nepravilno geslo" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Sistemske informacije" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Nalog izgradnje" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Nalogi izgradnje" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Neveljavna izbira za nadrejeno izgradnjo" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referenca" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Del" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Izberite del za izgradnjo" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Referenca dobavnica" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Lokacija vira" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Izberite lokacijo dela za to izgradnjo (v primeru da ni pomembno pusti prazno)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Ciljna lokacija" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Izberite lokacijo, kjer bodo končne postavke shranjene" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Količina izgradenj" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Število postavk za izgradnjo" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Končane postavke" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Število postavk zaloge, ki so bile končane" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Status izgradnje" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Datum ustvarjenja" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Rok dokončanja" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Datom končanja" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "dokončal" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Izdal" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Odgovoren" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv" +#: build/models.py:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Preveč zaloge je prestavljene" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Prestavljena količina mora biti večja od 0" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Količina za zalogo s serijsko številko mora biti 1" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Izbrana postavka ni najdena v BOM" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Izdelava" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Izdelaj da prestaviš dele" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Postavka zaloge" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Izvorna postavka zaloge" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Izvorna postavka zaloge" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Količina" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Preveč zaloge je prestavljene" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Prestavljena količina mora biti večja od 0" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Količina za zalogo s serijsko številko mora biti 1" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Postavka zaloge" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Izvorna postavka zaloge" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "Izhodni del se ne ujema s naročilom sestava" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Notranja številka dela se mora ujemati z vzorcem {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Izdelava" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 378ac74105..bc3f6281fa 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -49,26 +49,26 @@ msgstr "Information om felet finns under Error i adminpanelen" msgid "Enter date" msgstr "Ange datum" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Anteeckningar" @@ -81,47 +81,51 @@ msgstr "Värdet '{name}' visas inte i mönsterformat" msgid "Provided value does not match required pattern: " msgstr "Det angivna värdet matchar inte det obligatoriska mönstret: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Ange lösenord" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Ange nytt lösenord" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Bekräfta lösenord" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Bekräfta nytt lösenord" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Tidigare lösenord" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "E-post (igen)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Bekräfta e-postadress" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Du måste ange samma e-post varje gång." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Den angivna primära e-postadressen är inte giltig." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Den angivna e-postdomänen är inte godkänd." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Ogiltigt antal angivet" @@ -239,7 +243,7 @@ msgstr "Extern länk saknas" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Bilaga" @@ -247,29 +251,30 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Länk" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Länk till extern URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Kommentar" @@ -277,13 +282,13 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Användare" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Beskrivning" @@ -383,7 +389,7 @@ msgid "parent" msgstr "överordnad" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "Sökväg" @@ -419,12 +425,12 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "URL för fjärrbildsfil" msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Tjeckiska" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Tyska" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Grekiska" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "Engelska" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "Spanska" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "Spanska (Mexikanska)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "Farsi / Persiska" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Franska" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Hebreiska" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Ungerska" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Italienska" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japanska" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Koreanska" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Nederländska" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norska" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polska" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Portugisiska" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Portugisiska (brasiliansk)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Ryska" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Svenska" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Thailändska" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Turkiska" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamesiska" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Kinesiska" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "Backend för e-post är inte konfigurerad" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InvenTree systemhälsokontroll misslyckades" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Väntar" @@ -630,7 +636,7 @@ msgstr "Placerad" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Slutför" @@ -654,10 +660,10 @@ msgstr "Återlämnad" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Skickad" @@ -689,7 +695,7 @@ msgstr "I karantän" msgid "Legacy stock tracking entry" msgstr "Spårningspost för äldre lager" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Lagerpost skapad" @@ -745,7 +751,7 @@ msgstr "Dela från överordnat objekt" msgid "Split child item" msgstr "Dela underordnat objekt" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" @@ -765,7 +771,7 @@ msgstr "Bygg orderutgång slutförd" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "Konsumeras av byggorder" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Skickat till kund" @@ -849,83 +855,111 @@ msgstr "Lösenorden måste matcha" msgid "Wrong password provided" msgstr "Felaktigt lösenord angivet" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformation" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Byggorder" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Byggordrar" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "Ogiltigt val för överordnad bygge" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Byggorderreferens" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referens" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Överordnat Bygge" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "Byggorder till vilken detta bygge är tilldelad" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Del" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Välj del att bygga" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Försäljningsorderreferens" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Källa Plats" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "Välj plats att ta lager från för detta bygge (lämna tomt för att ta från någon lagerplats)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Destinationsplats" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Välj plats där de färdiga objekten kommer att lagras" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Bygg kvantitet" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Antal lagerobjekt att bygga" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Slutförda objekt" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Antal lagerposter som har slutförts" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Byggstatus" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Bygg statuskod" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Skapad" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Datum för slutförande" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum." -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Slutförandedatum" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "slutfört av" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Utfärdad av" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Användare som utfärdade denna byggorder" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Ansvarig" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Extern länk" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggorder {build} har slutförts" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar" +#: build/models.py:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Lagerposten är överallokerad" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Allokeringsmängden måste vara större än noll" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Antal måste vara 1 för serialiserat lager" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "Vald lagervara hittades inte i BOM" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Bygg" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Bygg för att allokera delar" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Artikel i lager" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Källa lagervara" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Källa lagervara" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Antal" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Lagerposten är överallokerad" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Allokeringsmängden måste vara större än noll" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Antal måste vara 1 för serialiserat lager" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Artikel i lager" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Källa lagervara" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Installera till" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Destination lagervara" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Plats" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Status" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "Färdigställ bygget" msgid "Build Description" msgstr "Byggbeskrivning" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Måldatum" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Försenad" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Slutförd" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Slutförd" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Försäljningsorder" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Utfärdad av" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Mål" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Skapad" @@ -1766,147 +1814,106 @@ msgstr "Skapad" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Slutförd" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Beställ obligatoriska delar" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Beställ delar" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Bilagor" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Bygganteckningar" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Ny byggorder" @@ -1914,14 +1921,10 @@ msgstr "Ny byggorder" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Virtuell" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Artiklar" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN måste matcha regex mönster {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Bygg" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Välj artiklar" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 4081384811..13aa63076b 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -49,26 +49,26 @@ msgstr "" msgid "Enter date" msgstr "ป้อนวันที่" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "หมายเหตุ" @@ -81,47 +81,51 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "ป้อนรหัสผ่าน" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "ป้อนรหัสผ่านใหม่" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "ยืนยันรหัสผ่าน" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "ยืนยันรหัสผ่านใหม่" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "รหัสผ่านเดิม" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "อีเมล (อีกครั้ง)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "การยืนยันอีเมล" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "ปริมาณสินค้าไม่ถูกต้อง" @@ -239,7 +243,7 @@ msgstr "" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "ไฟล์แนบ" @@ -247,29 +251,30 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "ความคิดเห็น" @@ -277,13 +282,13 @@ msgstr "ความคิดเห็น" msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "ผู้ใช้งาน" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "คำอธิบาย" @@ -383,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -419,12 +425,12 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "ภาษาโปรตุเกส" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "ภาษารัสเซีย" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "ภาษาสวีเดน" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "ภาษาไทย" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "ภาษาเวียดนาม" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "ภาษาจีน" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "อยู่ระหว่างดำเนินการ" @@ -630,7 +636,7 @@ msgstr "" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "สำเร็จแล้ว" @@ -654,10 +660,10 @@ msgstr "ส่งคืนแล้ว" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "จัดส่งแล้ว" @@ -689,7 +695,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "" @@ -745,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "" @@ -765,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "จัดส่งให้ลูกค้าแล้ว" @@ -849,83 +855,111 @@ msgstr "รหัสผ่านต้องตรงกัน" msgid "Wrong password provided" msgstr "ป้อนรหัสผ่านไม่ถูกต้อง" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "ข้อมูลระบบ" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "สถานะ" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 7152c423f6..20a4689eb0 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -49,26 +49,26 @@ msgstr "Hata detaylarını admin panelinde bulabilirsiniz" msgid "Enter date" msgstr "Tarih giriniz" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Notlar" @@ -81,47 +81,51 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "Sağlanan değer gerekli kalıpla eşleşmiyor: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Şifrenizi girin" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Lütfen Yeni Parolayı Girin" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Parolayı doğrulayın" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Yeni parolayı doğrulayın" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Eski parola" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "E-posta (tekrar)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "E-posta adresi onayı" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Her seferind eaynı e-posta adresini yazmalısınız." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Sağlanan e-posta adresi geçerli değil." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Sağlanan e-posta alanı onaylanmadı." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -239,7 +243,7 @@ msgstr "Bozuk dış bağlantı" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Ek" @@ -247,29 +251,30 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Yorum" @@ -277,13 +282,13 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Kullanıcı" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Açıklama" @@ -383,7 +389,7 @@ msgid "parent" msgstr "üst" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -419,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "İspanyolca(Meksika)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Macarca" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Vietnamca" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Çince" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "E-posta arka ucu yapılandırılmadı" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InvenTree sistem sağlık kontrolü başarısız" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "Bekliyor" @@ -630,7 +636,7 @@ msgstr "Sipariş verildi" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "Tamamlandı" @@ -654,10 +660,10 @@ msgstr "İade" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "Sevk edildi" @@ -689,7 +695,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "Eski stok izleme girişi" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "Stok kalemi oluşturuldu" @@ -745,7 +751,7 @@ msgstr "Üst ögeden ayır" msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" @@ -765,7 +771,7 @@ msgstr "Yapım emri çıktısı tamamlandı" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "Müşteriye gönderildi" @@ -849,83 +855,111 @@ msgstr "Parola alanları eşleşmelidir" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Sistem Bilgisi" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "InvenTree Hakkında" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Yapım İşi Emri" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Yapım İşi Emirleri" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Referans" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/models.py:176 +#: build/models.py:180 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:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Parça" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "Yapım işi için parça seçin" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "Satış Emri Referansı" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Kaynak Konum" -#: build/models.py:207 +#: build/models.py:211 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:212 +#: build/models.py:216 msgid "Destination Location" msgstr "Hedef Konum" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "Tamamlanmış ögelerin saklanacağı konumu seçiniz" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "Yapım İşi Miktarı" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "Yapım işi stok kalemlerinin sayısı" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "Tamamlanmış ögeler" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "Yapım İşi Durumu" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:258 +#: build/models.py:262 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:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Tamamlama tarihi" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "tamamlayan" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "Veren" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Sorumlu" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:750 +#: build/models.py:759 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:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -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:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "Stok kalemi fazladan tahsis edilmiş" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "Seri numaralı stok için miktar bir olmalı" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "Yapım İşi" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "Yapım işi için tahsis edilen parçalar" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "Stok Kalemi" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "Kaynak stok kalemi" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "Kaynak stok kalemi" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Miktar" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +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:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "Stok kalemi fazladan tahsis edilmiş" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "Seri numaralı stok için miktar bir olmalı" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "Stok Kalemi" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "Kaynak stok kalemi" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "Hedef stok kalemi" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "Yapım işi çıktısı için miktarını girin" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "Yapım işi çıktısı için seri numaraları girin" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "Konum" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Durum" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "Gerekli yapım işi miktarı tamamlanmadı" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "Barkod işlemleri" @@ -1618,69 +1668,67 @@ msgstr "Tamamlanmış Yapım İşi" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "Yapım işi tamamlandı olarak işaretlenmeye hazır" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "Bekleyen çıktılar kaldığı için yapım işi emri tamamlanamıyor" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "Gerekli yapım işi miktarı henüz tamamlanmadı" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 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:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "Hedeflenen tarih" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "Vadesi geçmiş" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Tamamlandı" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Tamamlandı" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "Sipariş Emri" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "Veren" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "Yapım İşi Emrini Sil" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ 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:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "Hedef" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "Toplu" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "Oluşturuldu" @@ -1766,147 +1814,106 @@ msgstr "Oluşturuldu" msgid "No target date set" msgstr "Hedef tarih ayarlanmadı" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Tamamlandı" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "Yapım İşi tamamlanmadı" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "Alt Yapım İşi Emrileri" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "Yapım İşi için Stok Tahsis Et" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "Stok tahsisini kaldır" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "Stok Tahsisini Kaldır" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "Stok Tahsis Et" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "Gerekli parçaları sipariş edin" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "Parça Siparişi" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "Takip edilmeyen stok yapım işi emri için tamamen tahsis edildi" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "Takip edilmeyen stok yapım işi emri için tamamen tahsis edilemedi" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "Bu yapım işi emri, herhangi bir takip edilmeyen malzeme listesi öğesine sahip değil" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "Tamamlanmamış Yapım İşi Çıktıları" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "Yeni yapım işi çıktısı oluştur" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "Tamamlanmış Yapım İşi Çıktıları" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Ekler" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "Yapım İşi Notları" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "Yeni Yapım İşi Emri" @@ -1914,14 +1921,10 @@ msgstr "Yeni Yapım İşi Emri" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "Tamamlanmamış Çıktılar" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Şablon" @@ -2271,10 +2264,10 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "Montaj" @@ -2282,8 +2275,8 @@ msgstr "Montaj" 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:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Bileşen" @@ -2291,7 +2284,7 @@ msgstr "Bileşen" 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:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -2299,8 +2292,8 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Satılabilir" @@ -2308,10 +2301,10 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "Takip Edilebilir" @@ -2319,10 +2312,10 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "Sanal" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "Fiyat" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "Aktif" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "Resim" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "Adres" - -#: company/models.py:119 -msgid "Company address" -msgstr "Şirket adresi" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "Telefon numarası" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "E-posta" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "İletişim" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "müşteri mi" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "tedarikçi mi" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "üretici mi" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "ÜPN" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "Değer" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "Not" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "çoklu" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "Mevcut" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "Satın Alma Emri Oluştur" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Müşteri" @@ -3874,6 +3936,13 @@ msgstr "Müşteri" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "Adres" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "Resmi İndirin" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "Tedarikçi Parçaları" @@ -3916,129 +3985,121 @@ msgstr "Yeni tedarikçi parçası oluştur" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "Yeni Tedarikçi Parçası" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "Parçaları sil" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "Parçaları Sil" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "Tedarikçi Stoku" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "Yeni satın alma emri oluştur" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "Yeni Satın Alma Emri" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "Satış Emirleri" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Yeni satış emri oluştur" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Yeni Satış Emri" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "Atanan Stok" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "Üreticiler" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "Parça siparişi" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "Tedarikçi parçalarını sil" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "Tedarikçi Parçası" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "Tedarikçi Parçası Emirleri" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "Fiyat Bilgisi" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -4261,7 +4309,7 @@ msgstr "Müşteriler" msgid "New Customer" msgstr "Yeni Müşteri" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "Şirketler" @@ -4269,72 +4317,76 @@ msgstr "Şirketler" msgid "New Company" msgstr "Yeni Şirket" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "Etiket adı" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "Etiket tanımı" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "Etiket" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "Etkin" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "Etiket sablonu etkinleştirildi" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "Genişlik [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "Etiket genişliği mm olarak belirtilmeli" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "Yükseklik [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "Etiket dosya adları oluşturma için desen" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "Filtreler" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "Oluşturan" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "Siparişi tamamlandı olarak işaretle" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "Sipariş Notları" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "Toplam Maliyet" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "İşlemler" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "DPN" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimum Stok" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Parçalar" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Varsayılan Konum" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN regex kalıbıyla eşleşmelidir {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "Parça adı" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:863 +#: part/models.py:864 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:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1003 +#: part/models.py:1004 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:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 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:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Gerekli" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 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:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:3823 +#: part/models.py:3867 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:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "Alt kategoriler" @@ -6518,33 +6542,20 @@ msgstr "Parçalar (Alt kategoriler dahil)" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "Kategori ayarla" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "Kategori Ayarla" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "Yenile" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "Parça Test Şablonları" msgid "Add Test Template" msgstr "Test Şablonu Ekle" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "Parça Çeşitleri" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "Yeni çeşit oluştur" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "Yeni Çeşit" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "Parça Tedarikçileri" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "Parça işlemleri" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "Pasif" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "Stok Yok" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Düşük Stok" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "Barkod verisi için eşleşme bulundu" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Seri Numara" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "Seri No" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "Stok Konumu" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "Stok Konumları" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "Seri numaraları tam sayı listesi olmalı" msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "Konuma Tara" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "Yazdırma işlemleri" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "Stok ayarlama işlemleri" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "Stoku seri numarala" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "Yapım İşi" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "Konum ayarlanmadı" @@ -8239,7 +8267,7 @@ 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:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ 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:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "Yeni stok konumu oluştur" msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Yapım İşi Emirleri için Gerekli" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "Commit Hash Değeri" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "Kategori parametre şablonu bulunamadı" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "Şablonu Düzenle" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "Şablonu Sil" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "Güncel" msgid "Update Available" msgstr "Güncelleme Mevcut" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "API Sürümü" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Python Sürümü" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Django Sürümü" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "Katkıda Bulunanlar" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "Mobil Uygulama" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "Hata Raporu Gönder" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "panoya kopyala" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "sürüm bilgisini kopyala" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "Dosya Ekle" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "Ek Düzenle" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ 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:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "Kapat" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "Seviyeler" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 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:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "Yapım işi emri eksik" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "Tamamlanmış Yapım İşi Emri" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "Bu Malzeme Listesi takip edilebilir parçalar içeriyor" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "Takip edilebilir parçaların seri numaraları belirtilmiş olmalı" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "Birden çok tek yapım işi çıktısı oluşturmak için seri numaraları girin" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "Yapım İşi Çıktısı Oluştur" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "Stok tahsisini düzenle" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "Stok tahsisini sil" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Parçaları Seçin" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" +msgstr "Stok tahsisini düzenle" + +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "Stok tahsisini sil" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "Şablon Parça" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "Tedarikçi parçalarını sil" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "Tedarikçi parçasını düzenle" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "Tedarikçi parçasını sil" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "doğru" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "yanlış" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "Parça parametre şablonu bulunamadı" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "Parça Parametre Şablonu Düzenle" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "Katagori Yok" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "Kategori ayarla" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "Katagori Yok" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "Ürünler" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "Stok tahsisini onayla" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "Silme İşlemini Onayla" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "Seri Numaralarını Tahsis Et" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "Stok konumunu düzenle" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "Bu stok konumunu silmek istediğinizden emin misiniz?" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "Stok Konumunu Sil" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "Stok birlşetirme" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "Parça sil" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "Detaylar" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "Çeşit Stokuna İzin Ver" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "Alt konumları dahil et" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "Konumları dahil et" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "Seri Numaralı" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "Seri numarası BvE" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "Seri numarası büyük veya eşit" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "Seri numarası KvE" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "Seri numarası küçük veya eşit" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "Seri numarası" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "Alt konumlardaki stoku dahil et" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "Çeşitleri Dahil Et" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "Çeşit parçaların stok kalemlerini dahil et" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "DPN Var" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "Gösteriliyor" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "için" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "yüzünden" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "satırlar" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "Sonuç bulunamadı" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "Sayfalandırmayı Göster" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "Değiştir" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "Sütunlar" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "Tümü" @@ -12616,50 +12777,6 @@ msgstr "E-posta Ayarları" msgid "Email settings not configured" msgstr "E-posta ayarları yapılandırılmadı" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "Barkod İşlemleri" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "Stok Seçenekleri" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "Seçili stok parçalarını ekle" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "Seçili stok parçalarını kaldır" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "Seçili stok parçalarını değerlendir" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "Stok parçalarını taşı" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "Seçili stok parçalarını birleştir" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "Stok birlşetirme" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "Seçili parçaları sırala" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "Seçili parçaları sil" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "Parça sil" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "Evet" @@ -12692,35 +12809,35 @@ msgstr "Yetkiler" msgid "Important dates" msgstr "Önemli tarihler" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "Grup" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "Görünüm" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "Değiştir" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "Parçaları silme izni" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 85bea8a1a5..3fb77c1166 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -49,26 +49,26 @@ msgstr "Chi tiết lỗi có thể được tìm thấy trong bảng quản tr msgid "Enter date" msgstr "Nhập ngày" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "Ghi chú" @@ -81,47 +81,51 @@ msgstr "Giá trị '{name}' không xuất hiện ở định dạng mẫu" msgid "Provided value does not match required pattern: " msgstr "Giá trị được cung cấp không khớp với mẫu bắt buộc: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "Nhập mật khẩu" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "Nhập mật khẩu mới" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "Xác nhận mật khẩu" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "Xác nhận mật khẩu mới" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "Mật khẩu cũ" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (nhắc lại)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Xác nhận địa chỉ email" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "Bạn phải nhập cùng một email mỗi lần." -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "Địa chỉ email chính đã cung cấp không hợp lệ." -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "Miền email được cung cấp không được phê duyệt." -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "Số lượng cung cấp không hợp lệ" @@ -239,7 +243,7 @@ msgstr "" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "Đính kèm" @@ -247,29 +251,30 @@ msgstr "Đính kèm" msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "Liên kết" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "Bình luận" @@ -277,13 +282,13 @@ msgstr "Bình luận" msgid "File comment" msgstr "Bình luận tệp tin" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "Người dùng" @@ -324,53 +329,54 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "Mô tả" @@ -383,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -419,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "Tiếng Séc" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "Tiếng Đan Mạch" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "Tiếng Đức" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "Tiếng Pháp" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "Tiếng Do Thái" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "Tiếng Hung-ga-ri" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "Tiếng Ý" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "Tiếng Nhật" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "Tiếng Hàn" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "Tiếng Hà Lan" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "Tiếng Na Uy" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "Tiếng Ba Lan" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "Tiếng Bồ Đào Nha" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "Tiếng Bồ Đào Nha (Brazil)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "Tiếng Nga" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "Tiếng Slô-ven-ni-a" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "Tiếng Thụy Điển" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "Tiếng Thái" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "Tiếng Thổ Nhĩ Kỳ" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "Tiếng Việt" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "Tiếng Trung" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "" @@ -630,7 +636,7 @@ msgstr "" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" @@ -654,10 +660,10 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "" @@ -689,7 +695,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "" @@ -745,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "" @@ -765,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "" @@ -849,83 +855,111 @@ msgstr "Mật khẩu phải trùng khớp" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "Thông tin hệ thống" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "Giới thiệu" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "Tạo đơn hàng" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "Tham chiếu" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "Nguyên liệu" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "Ngày tạo" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "Ngày hoàn thành" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "hoàn thành bởi" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "Trạng thái" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "Đã hoàn thành" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "Đã hoàn thành" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1744,21 +1792,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1766,147 +1814,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "Đã hoàn thành" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1914,14 +1921,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2271,10 +2264,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2282,8 +2275,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2291,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2299,8 +2292,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2308,10 +2301,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2319,10 +2312,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2354,7 +2347,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2603,179 +2596,179 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 -msgid "Check that all plugins are installed on startup - enable in container environments" +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" msgstr "" #: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" +msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" #: common/models.py:1628 @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ 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:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3507,303 +3485,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3856,17 +3918,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3874,6 +3936,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3906,7 +3975,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3916,129 +3985,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4050,17 +4111,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "Thông số" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "Xóa các thông số" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4164,13 +4212,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4197,7 +4245,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4205,37 +4253,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4261,7 +4309,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4269,72 +4317,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4392,11 +4444,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "Giá mua" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5325,19 +5367,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5383,23 +5425,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Nguyên liệu" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5499,916 +5534,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6518,33 +6542,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Thông số phụ tùng" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Hàng còn ít" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "Kho hàng" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "Nguyên liệu mới nhất" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "Số seri mới nhất" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "Tất cả những thống số được chọn sẽ bị xoá" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "Xóa các thông số" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "Không có thông số được tìm thấy" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "Những thông số thuộc mẫu này cũng sẽ bị xóa" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12692,35 +12809,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 9ef6042e6c..db9a520055 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: 2023-06-09 00:32+0000\n" -"PO-Revision-Date: 2023-06-09 10:27\n" +"POT-Creation-Date: 2023-06-20 07:01+0000\n" +"PO-Revision-Date: 2023-06-20 07:06\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -49,26 +49,26 @@ msgstr "在管理面板中可以找到错误详细信息" msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "备注" @@ -81,47 +81,51 @@ msgstr "值 '{name}' 没有以模式格式显示" msgid "Provided value does not match required pattern: " msgstr "提供的值与所需模式不匹配: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "输入密码" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "输入新密码" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "确认密码" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "确认新密码" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "旧密码" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (再次)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Email 地址确认" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "您必须输入相同的 Email 。" -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "所提供的主要电子邮件地址无效。" -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "提供的电子邮件域未被核准。" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -239,7 +243,7 @@ msgstr "缺少外部链接" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "附件" @@ -247,29 +251,30 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "链接" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "链接到外部 URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "注释" @@ -277,13 +282,13 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "用户" @@ -324,53 +329,54 @@ msgstr "同一个主体下不能有相同名字" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "名称" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "描述信息" @@ -383,7 +389,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "路径" @@ -419,12 +425,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -497,130 +503,130 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "丹麦语" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:743 msgid "German" msgstr "德语" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:745 msgid "English" msgstr "英语" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:750 msgid "French" msgstr "法语" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "后台工作人员检查失败" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "未配置电子邮件后端" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "待定" @@ -630,7 +636,7 @@ msgstr "已添加" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "完成" @@ -654,10 +660,10 @@ msgstr "已退回" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "已发货" @@ -689,7 +695,7 @@ msgstr "隔离" msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "库存项已创建" @@ -745,7 +751,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "合并的库存项目" @@ -765,7 +771,7 @@ msgstr "生产订单输出已完成" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "被生产订单消耗" @@ -781,7 +787,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "发送给客户" @@ -849,83 +855,111 @@ msgstr "密码字段必须相匹配。" msgid "Wrong password provided" msgstr "密码错误" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "系统信息" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "可选项" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "已分配" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "生产订单" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "生产订单" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "引用" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -935,266 +969,229 @@ msgstr "此次生产匹配的订单" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "商品" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "来源地点" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "生产状态" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "完成人" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "发布者" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "责任人" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "构建此订单的用户或组" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "外部链接" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "创建优先级" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" +#: build/models.py:1260 +msgid "Build object" +msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "库存物品分配过度!" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "分配数量必须大于0" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "序列化库存的数量必须是 1" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "在BOM中找不到选定的库存项" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "生产" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "生产以分配部件" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "库存项" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "源库存项" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1203,315 +1200,367 @@ msgstr "源库存项" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "数量" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "库存物品分配过度!" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "分配数量必须大于0" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "序列化库存的数量必须是 1" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "库存项" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "源库存项" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "安装到" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "目标库存项" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "生产产出" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "生产产出与对应生产不匹配" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "产出部件与生产订单部件不匹配" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "此生产产出已经完成" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "生产产出未被完成分配" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "序列号" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "自动分配序列号" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "地点" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "状态" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未完成分配,完成产出" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "移除已分配的库存" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "减去已经分配至此生产的库存" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的生产产出" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "接受此构建订单所消耗的内容" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "在完成此构建订单前取消分配" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "你想如何处理分配给构建订单的额外库存物品" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "一些库存项已被过度分配" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "接受未分配的" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完成分配至此生产订单" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "接受未完成" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "接受所需的生产产出未完成" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "BOM项" +#: build/serializers.py:722 +msgid "Build Line" +msgstr "" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "生产产出" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的部件的分配,必须指定生产产出" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "必须提供分配的项" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "排除地点" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "从该选定的仓储地点排除库存项" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "可互换的库存" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "多处地点的库存项可以互换使用" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "可替换的库存" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的部件" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "分配可选的BOM项目来建立订单" @@ -1540,6 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1618,69 +1668,67 @@ msgstr "生产完成" msgid "Build Description" msgstr "构建描述" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "针对此生产订单,尚未创建生产产出" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "构建订单已准备好标记为已完成" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "创建订单无法完成,因为未完成的输出" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "所需生产数量尚未完成" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "预计日期" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "此次生产的截止日期为 %(target)s" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "逾期" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "已完成" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "已完成输出" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1688,32 +1736,32 @@ msgstr "已完成" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "销售订单" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "发布者" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "优先级" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "删除生产订单" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1729,8 +1777,8 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "目的地" @@ -1744,21 +1792,21 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "批量" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "已创建" @@ -1766,147 +1814,106 @@ msgstr "已创建" msgid "No target date set" msgstr "无预计日期" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "已完成" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "生产未完成" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "子生产订单" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "为生产分配库存" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" -msgstr "未分配库存" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "未分配库存" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "自动分配存货进行生成" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "自动分配" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "手动分配存货进行生成" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "分配库存" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "订单所需部件" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "订购商品" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "未跟踪的库存已完全分配给此生产订单" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "未跟踪的库存尚未完全分配给此生产订单" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "分配选定项目" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "此构建订单没有任何关联的 BOM 项目" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "未完成的生产产出" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "创建新构建输出" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "新建构建输出" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "输出操作" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "完成选定的构建输出" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "已完成输出" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "删除选中的构建输出" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "删除输出" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "已完成构建输出" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "附件" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "生产备注" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "分配完成" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "所有未跟踪的库存项目都已分配" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" +msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "新建生产订单" @@ -1914,14 +1921,10 @@ msgstr "新建生产订单" msgid "Build Order Details" msgstr "生产订单详情" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "未完成输出" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "已完成输出" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1968,16 +1971,6 @@ msgstr "已更新" msgid "Timestamp of last update" msgstr "最后一次更新时间" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2261,9 +2254,9 @@ msgstr "复制类别参数模板" msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "模板" @@ -2271,10 +2264,10 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "零件默认为模板" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "组装" @@ -2282,8 +2275,8 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "组件" @@ -2291,7 +2284,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "可购买" @@ -2299,8 +2292,8 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "可销售" @@ -2308,10 +2301,10 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "可追踪" @@ -2319,10 +2312,10 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "虚拟" @@ -2354,7 +2347,7 @@ msgstr "初始库存数据" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "初始供应商数据" @@ -2603,181 +2596,181 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 +msgid "Purchase Order Reference Pattern" +msgstr "" + +#: common/models.py:1528 +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "编辑已完成的采购订单" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "启用忘记密码" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "在登录页面启用忘记密码功能" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "启用注册" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable self-registration for users on the login pages" msgstr "在登录页面启用注册功能" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "启用 SSO" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "在登录页面启用 SSO" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "启用 SSO 注册" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "需要邮箱" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "自动填充 SSO 用户" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "当注册时请用户两次输入密码" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "强制启用 MFA" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "启动时检查插件" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "检查插件签名" - -#: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "检查并显示插件的签名" - #: common/models.py:1628 msgid "Enable URL integration" msgstr "启用 URL 集成" @@ -2850,7 +2843,7 @@ msgstr "" msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" @@ -2891,528 +2884,513 @@ msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" #: common/models.py:1779 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1780 -msgid "Number of recent parts to display on index page" -msgstr "" - -#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "显示未验证的物料清单" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "在主页上显示待验证的物料清单" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "显示最近的库存变化" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1801 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1807 +#: common/models.py:1793 msgid "Show low stock" msgstr "显示低库存" -#: common/models.py:1808 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "在主页上显示低库存的项目" -#: common/models.py:1814 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1814 msgid "Show expired stock" msgstr "显示过期库存" -#: common/models.py:1829 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "在主页上显示过期的库存项目" -#: common/models.py:1835 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1850 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1856 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1884 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1899 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1905 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1919 +#: common/models.py:1905 msgid "Search Parts" msgstr "搜索部件" -#: common/models.py:1920 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "搜索供应商部件" -#: common/models.py:1927 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "搜索制造商部件" -#: common/models.py:1934 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "在搜索预览窗口中显示制造商部件" -#: common/models.py:1940 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1933 msgid "Search Categories" msgstr "搜索分类" -#: common/models.py:1948 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "在搜索预览窗口中显示部件类别" -#: common/models.py:1954 +#: common/models.py:1940 msgid "Search Stock" msgstr "搜索库存" -#: common/models.py:1955 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "在搜索预览窗口中显示库存项目" -#: common/models.py:1961 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "隐藏不可用的库存项目" -#: common/models.py:1962 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "在搜索预览窗口中排除不可用的库存项目" -#: common/models.py:1968 +#: common/models.py:1954 msgid "Search Locations" msgstr "搜索位置" -#: common/models.py:1969 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "在搜索预览窗口中显示库存位置" -#: common/models.py:1975 +#: common/models.py:1961 msgid "Search Companies" msgstr "搜索公司" -#: common/models.py:1976 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "在搜索预览窗口中显示公司" -#: common/models.py:1982 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "搜索采购订单" -#: common/models.py:1990 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "排除不活动的采购订单" -#: common/models.py:1997 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2032 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2053 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2059 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "固定导航栏" -#: common/models.py:2067 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2059 msgid "Date Format" msgstr "日期格式" -#: common/models.py:2074 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2113 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2122 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2131 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "价格" -#: common/models.py:2185 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2361 msgid "Token" msgstr "令牌" -#: common/models.py:2376 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "该消息的唯一标识符" -#: common/models.py:2499 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "标题" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "作者" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "概述" -#: common/models.py:2715 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3422,7 +3400,7 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:2737 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3499,7 +3477,7 @@ msgstr "公司简介" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "网站" @@ -3507,303 +3485,387 @@ msgstr "网站" msgid "Company website URL" msgstr "公司网站" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "地址" - -#: company/models.py:119 -msgid "Company address" -msgstr "公司地址" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "电话号码" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "电子邮件" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "联系人电子邮件" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "联系人" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "是客户" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "您是否向该公司出售商品?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "是供应商" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "您是否从该公司采购商品?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "是制造商" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "公司" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "选择商品" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "数值" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "参数值" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "单位" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "供应商" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "备注" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "打包" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "包装数量" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "订购多个" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "空闲" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "供应商的存货数量" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "该公司使用的默认货币" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "创建采购订单" @@ -3816,7 +3878,7 @@ msgid "Edit company information" msgstr "编辑公司信息" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "编辑公司信息" @@ -3856,17 +3918,17 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "删除图片" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "客户" @@ -3874,6 +3936,13 @@ msgstr "客户" msgid "Uses default currency" msgstr "使用默认货币" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "地址" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "电话" @@ -3906,7 +3975,7 @@ msgstr "下载图片" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "供应商商品" @@ -3916,129 +3985,121 @@ msgstr "创建新的供应商商品" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "新建供应商商品" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "订购商品" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "删除商品" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "删除商品" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "制造商商品" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "供货商库存" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "采购订单" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "新建采购订单" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "新建采购订单" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "销售订单" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "新建销售订单" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "新建销售订单" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "公司备注" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "供应商列表" @@ -4050,17 +4111,17 @@ msgstr "制造商" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "订购商品" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "编辑制造商商品" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "删除生产商商品" @@ -4080,40 +4141,22 @@ msgstr "" msgid "Suppliers" msgstr "供应商" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "删除供应商商品" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 -msgid "Delete" -msgstr "删除" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "参数" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "新建参数" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "删除参数" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "添加参数" @@ -4137,23 +4180,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "供应商商品" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "订购商品" @@ -4164,13 +4212,13 @@ msgstr "更新可用性" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "编辑供应商商品" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "复制供应商部件" @@ -4197,7 +4245,7 @@ msgstr "新建库存物品" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "新库存物品" @@ -4205,37 +4253,37 @@ msgstr "新库存物品" msgid "Supplier Part Orders" msgstr "供应商商品订单" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "价格信息" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "供应商部件二维码" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "将条码绑定至供应商部件" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "更新部件可用性" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -4261,7 +4309,7 @@ msgstr "客户信息" msgid "New Customer" msgstr "新建客户" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "公司" @@ -4269,72 +4317,76 @@ msgstr "公司" msgid "New Company" msgstr "新建公司信息" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "标签名称" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "标签说明" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "标签" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "已启用" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "标签模板已启用" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "宽度 [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "标注宽度,以毫米为单位。" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "高度 [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "文件名样式" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "查询筛选器 (逗号分隔的键值对列表)" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "筛选器" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "查询筛选器 (逗号分隔的键值对列表" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4352,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4361,30 +4413,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "未知" @@ -4392,11 +4444,11 @@ msgstr "未知" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4408,492 +4460,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "链接到外部页面" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "预期订单交付日期。超过该日期后订单将逾期。" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "创建者" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "接收方" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "签发日期" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "订单签发日期" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "订单完成日期" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "发货日期" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "尚未分配部件,因此订单无法完成" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "物品数量" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "单价" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "物品" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "数量必须大于0" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "输入序列号以进行分配" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4957,82 +5013,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "标记订单为完成" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "完成订单" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5085,13 +5133,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "移除行" @@ -5152,9 +5200,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5165,30 +5213,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5208,29 +5251,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "总成本" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5248,7 +5291,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5257,16 +5300,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5274,18 +5317,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "操作" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5311,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "部件名称" @@ -5325,19 +5367,19 @@ msgstr "部件名称" msgid "Part Description" msgstr "部件描述" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "版本号" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "关键词" @@ -5358,24 +5400,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "最低库存" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "有库存" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "订购中" @@ -5383,23 +5425,16 @@ msgstr "订购中" msgid "Used In" msgstr "用于" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "已分配" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5416,13 +5451,13 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -5439,7 +5474,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5453,35 +5488,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "必须选择此项" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "默认仓储地点" @@ -5491,7 +5526,7 @@ msgid "Total Stock" msgstr "总库存" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "可用库存" @@ -5499,916 +5534,913 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "输入数量以计算价格" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "图标" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "图标(可选)" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "商品名称" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "类别" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "商品类别" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "允许的最小库存量" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "该部件的计量单位" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "日期" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "附加注释" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "报告" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "BOM项" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "子部件" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "可选项" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "选择相关的部件" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "复制图像" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "从原部件复制图像" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "更新" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "未提供数量" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6421,9 +6453,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "总数量" @@ -6461,14 +6493,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6505,7 +6529,7 @@ msgstr "删除类别" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "子类别" @@ -6518,33 +6542,20 @@ msgstr "商品 (包括子类别)" msgid "Create new part" msgstr "新建商品" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "新商品" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "选项" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "设置类别" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "设置类别" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "商品参数" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "新建商品类别" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "新建分类" @@ -6581,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6592,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6604,101 +6615,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "相关部件" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "商品供应商" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "商品制造商" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "删除制造商商品" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6732,13 +6743,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "格式" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6779,7 +6790,7 @@ msgstr "清点商品库存" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6824,10 +6835,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6850,7 +6861,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6858,8 +6869,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6882,7 +6893,7 @@ msgstr "商品二维码" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6956,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -6989,9 +7000,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "最后更新" @@ -7054,12 +7065,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "无库存" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "低库存" @@ -7163,7 +7174,7 @@ msgid "Match found for barcode data" msgstr "找到匹配条形码数据" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7226,43 +7237,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7414,47 +7425,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7475,8 +7486,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "单价" @@ -7488,23 +7499,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "序列号" @@ -7517,7 +7528,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7548,8 +7559,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7617,31 +7628,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7652,7 +7663,7 @@ msgid "Stock Location" msgstr "仓储地点" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "仓储地点" @@ -7670,8 +7681,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7687,7 +7698,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7821,7 +7832,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "序列号已存在" @@ -7849,7 +7860,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7901,132 +7912,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8034,48 +8054,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8083,13 +8103,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8098,15 +8118,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8115,11 +8137,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8159,6 +8182,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "生产" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8221,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "未设置仓储地点" @@ -8239,7 +8267,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8249,7 +8277,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8258,7 +8286,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8364,20 +8392,20 @@ msgstr "新建仓储地点" msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8451,71 +8479,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:53 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:63 msgid "Latest Parts" msgstr "最近商品" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:78 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:107 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8672,29 +8700,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8767,14 +8795,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "采购订单设置" @@ -8870,12 +8890,12 @@ msgid "No category parameter templates found" msgstr "未找到类别参数模板" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "编辑模板" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "删除模板" @@ -8913,7 +8933,7 @@ msgid "Home Page" msgstr "主页" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8990,6 +9010,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9204,44 +9225,48 @@ msgstr "已是最新版本" msgid "Update Available" msgstr "有可用更新" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "InvenTree 文档" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "API 版本" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "Python 版本" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "Django 版本" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "在 GitHub 上查看代码" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "致谢" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "手机 APP" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "提交 Bug" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "复制到剪贴板" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "显示版本信息" @@ -9435,14 +9460,6 @@ msgstr "" msgid "Add Attachment" msgstr "添加附件" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9487,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9501,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9573,23 +9590,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "编辑附件" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9646,7 +9675,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9704,775 +9733,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "等级" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "包含参数数据" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "包括库存数据" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "在导出 BOM 中包括库存数据" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "包括制造商数据" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "在导出 BOM 中包含制造商数据" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "包含供应商数据" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "在导出 BOM 中包含供应商数据" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "是否确定取消生产?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "生产订单未完成" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "生产订单完成" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "可追踪商品可以指定序列号" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "创建创建生产产出" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "未指定仓储地点" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "已完成输出" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "删除输出" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "可追溯商品" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "添加制造商" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "添加制造商商品" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "编辑制造商商品" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "添加供应商" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "添加供应商商品" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "增加新的公司信息" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "未找到该公司信息" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "删除制造商商品" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "删除参数" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "订购商品" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "删除制造商商品" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "删除参数" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "删除供应商商品" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "未找到供应商商品" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "编辑供应商商品" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "删除供应商商品" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "选择筛选项" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10497,6 +10620,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "删除" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10514,23 +10643,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10550,6 +10679,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10651,7 +10788,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "ID" @@ -10700,7 +10837,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10716,363 +10853,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "商品属性" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "商品创建选项" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "商品重复选项" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "创建商品类别" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "创建商品" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "可追溯商品" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "未找到商品参数模板" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "找不到部件" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "没有分类" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "以列表显示" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "以网格显示" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "设置商品类别" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "设置类别" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "没有分类" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "以列表显示" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" -msgstr "" +msgid "Display as grid" +msgstr "以网格显示" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "以树形图显示" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "编辑测试结果" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "删除测试结果" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "无指定日期" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "指定的日期已过" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "最大数量" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11168,234 +11297,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "订单编码" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11424,941 +11553,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "编辑仓储地点" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "新仓储地点" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "库存项重复" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "复制库存项" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "确定要删除此库存项吗?" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "删除库存项" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "编辑库存项" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "新建库存项" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "查找序列号" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "输入序列号" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "输入序列号" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "没有匹配的序列号" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "找到多个匹配结果" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "转移库存" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "添加库存" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "删除库存" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "选择库存项" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "可追溯商品" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "正在生产" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "显示正在生产的项目" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "生产状态" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12390,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12616,50 +12777,6 @@ msgstr "电子邮件设置" msgid "Email settings not configured" msgstr "电子邮件设置未配置" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "确定" @@ -12692,35 +12809,35 @@ msgstr "权限" msgid "Important dates" msgstr "重要日期" -#: users/models.py:230 +#: users/models.py:236 msgid "Permission set" msgstr "权限设置" -#: users/models.py:238 +#: users/models.py:244 msgid "Group" msgstr "群组" -#: users/models.py:241 +#: users/models.py:247 msgid "View" msgstr "视图" -#: users/models.py:241 +#: users/models.py:247 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:243 +#: users/models.py:249 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:245 +#: users/models.py:251 msgid "Change" msgstr "更改" -#: users/models.py:245 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:247 +#: users/models.py:253 msgid "Permission to delete items" msgstr "删除项目权限" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index badd96430f..4ef461fe1f 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-05 11:04+0000\n" +"POT-Creation-Date: 2023-06-12 21:36+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -56,12 +56,12 @@ msgstr "输入日期" #: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 #: build/serializers.py:506 build/templates/build/sidebar.html:23 #: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1086 order/templates/order/po_sidebar.html:11 +#: order/models.py:1089 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3004 part/templates/part/part_sidebar.html:63 +#: part/models.py:3005 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 -#: stock/admin.py:121 stock/models.py:2159 stock/models.py:2267 +#: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 #: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 #: stock/templates/stock/stock_sidebar.html:25 @@ -125,7 +125,7 @@ msgstr "所提供的主要电子邮件地址无效。" msgid "The provided email domain is not approved." msgstr "提供的电子邮件域未被核准。" -#: InvenTree/helpers.py:462 order/models.py:439 order/models.py:608 +#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -241,7 +241,7 @@ msgstr "缺少文件" msgid "Missing external link" msgstr "缺少外部链接" -#: InvenTree/models.py:486 stock/models.py:2261 +#: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 #: templates/js/translated/attachment.js:306 msgid "Attachment" @@ -251,10 +251,10 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:493 common/models.py:2695 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:233 -#: order/models.py:1090 order/models.py:1450 part/admin.py:39 -#: part/models.py:900 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:132 +#: company/models.py:306 company/models.py:584 order/models.py:236 +#: order/models.py:1093 order/models.py:1453 part/admin.py:39 +#: part/models.py:901 part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:977 #: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 @@ -267,7 +267,7 @@ msgstr "选择附件" msgid "Link" msgstr "链接" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:901 +#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 #: stock/models.py:735 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -281,10 +281,10 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2154 -#: common/models.py:2155 common/models.py:2368 common/models.py:2369 -#: common/models.py:2625 common/models.py:2626 part/models.py:3012 -#: part/models.py:3100 part/models.py:3179 part/models.py:3199 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3013 +#: part/models.py:3101 part/models.py:3180 part/models.py:3200 #: plugin/models.py:217 plugin/models.py:218 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2773 @@ -328,12 +328,12 @@ msgstr "" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2354 -#: company/models.py:390 label/models.py:103 part/models.py:846 -#: part/models.py:3399 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 +#: company/models.py:390 label/models.py:103 part/models.py:847 +#: part/models.py:3400 plugin/models.py:41 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:78 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/js/translated/company.js:658 #: templates/js/translated/company.js:706 @@ -350,8 +350,8 @@ msgstr "名称" #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:229 order/models.py:1114 part/admin.py:194 part/admin.py:276 -#: part/models.py:868 part/models.py:3415 part/templates/part/category.html:81 +#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 +#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:587 report/models.py:631 @@ -425,12 +425,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3896 +#: InvenTree/serializers.py:60 part/models.py:3897 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2851 +#: company/templates/company/company_base.html:107 part/models.py:2852 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -503,113 +503,113 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/settings.py:713 +#: InvenTree/settings.py:722 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:714 +#: InvenTree/settings.py:723 msgid "Danish" msgstr "丹麦语" -#: InvenTree/settings.py:715 +#: InvenTree/settings.py:724 msgid "German" msgstr "德语" -#: InvenTree/settings.py:716 +#: InvenTree/settings.py:725 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:717 +#: InvenTree/settings.py:726 msgid "English" msgstr "英语" -#: InvenTree/settings.py:718 +#: InvenTree/settings.py:727 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:719 +#: InvenTree/settings.py:728 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:720 +#: InvenTree/settings.py:729 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:721 +#: InvenTree/settings.py:730 #, fuzzy #| msgid "Danish" msgid "Finnish" msgstr "丹麦语" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:731 msgid "French" msgstr "法语" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:732 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:733 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:734 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:735 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:736 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:737 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:738 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:739 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:740 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:741 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:742 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:743 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:744 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:745 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:746 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:747 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:748 msgid "Chinese" msgstr "中文(简体)" @@ -625,210 +625,213 @@ msgstr "未配置电子邮件后端" msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" -#: InvenTree/status_codes.py:139 InvenTree/status_codes.py:181 -#: InvenTree/status_codes.py:360 InvenTree/status_codes.py:397 -#: InvenTree/status_codes.py:432 templates/js/translated/table_filters.js:511 +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 +#: InvenTree/status_codes.py:188 generic/states/tests.py:16 +#: templates/js/translated/table_filters.js:511 msgid "Pending" msgstr "待定" -#: InvenTree/status_codes.py:140 +#: InvenTree/status_codes.py:13 generic/states/tests.py:17 msgid "Placed" msgstr "已添加" -#: InvenTree/status_codes.py:141 InvenTree/status_codes.py:363 -#: InvenTree/status_codes.py:399 order/templates/order/order_base.html:162 +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:172 generic/states/tests.py:18 +#: order/templates/order/order_base.html:162 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "完成" -#: InvenTree/status_codes.py:142 InvenTree/status_codes.py:184 -#: InvenTree/status_codes.py:362 InvenTree/status_codes.py:400 +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:43 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:173 msgid "Cancelled" msgstr "已取消" -#: InvenTree/status_codes.py:143 InvenTree/status_codes.py:185 -#: InvenTree/status_codes.py:227 +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:71 msgid "Lost" msgstr "丢失" -#: InvenTree/status_codes.py:144 InvenTree/status_codes.py:186 +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:73 msgid "Returned" msgstr "已退回" -#: InvenTree/status_codes.py:182 InvenTree/status_codes.py:398 +#: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:183 order/models.py:1329 +#: InvenTree/status_codes.py:42 order/models.py:1332 #: templates/js/translated/sales_order.js:1509 #: templates/js/translated/sales_order.js:1630 #: templates/js/translated/sales_order.js:1934 msgid "Shipped" msgstr "已发货" -#: InvenTree/status_codes.py:223 +#: InvenTree/status_codes.py:66 msgid "OK" msgstr "OK" -#: InvenTree/status_codes.py:224 +#: InvenTree/status_codes.py:67 msgid "Attention needed" msgstr "需要关注" -#: InvenTree/status_codes.py:225 +#: InvenTree/status_codes.py:68 msgid "Damaged" msgstr "破损" -#: InvenTree/status_codes.py:226 +#: InvenTree/status_codes.py:69 msgid "Destroyed" msgstr "已销毁" -#: InvenTree/status_codes.py:228 +#: InvenTree/status_codes.py:70 msgid "Rejected" msgstr "已拒绝" -#: InvenTree/status_codes.py:229 +#: InvenTree/status_codes.py:72 msgid "Quarantined" msgstr "隔离" -#: InvenTree/status_codes.py:308 +#: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: InvenTree/status_codes.py:310 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 msgid "Stock item created" msgstr "库存项已创建" -#: InvenTree/status_codes.py:312 +#: InvenTree/status_codes.py:96 msgid "Edited stock item" msgstr "已编辑库存项" -#: InvenTree/status_codes.py:313 +#: InvenTree/status_codes.py:97 msgid "Assigned serial number" msgstr "已分配序列号" -#: InvenTree/status_codes.py:315 +#: InvenTree/status_codes.py:100 msgid "Stock counted" msgstr "库存计数" -#: InvenTree/status_codes.py:316 +#: InvenTree/status_codes.py:101 msgid "Stock manually added" msgstr "已手动添加库存" -#: InvenTree/status_codes.py:317 +#: InvenTree/status_codes.py:102 msgid "Stock manually removed" msgstr "库存手动删除" -#: InvenTree/status_codes.py:319 +#: InvenTree/status_codes.py:105 msgid "Location changed" msgstr "仓储地点已更改" -#: InvenTree/status_codes.py:320 +#: InvenTree/status_codes.py:106 #, fuzzy #| msgid "Stock counted" msgid "Stock updated" msgstr "库存计数" -#: InvenTree/status_codes.py:322 +#: InvenTree/status_codes.py:109 msgid "Installed into assembly" msgstr "安装到组装中" -#: InvenTree/status_codes.py:323 +#: InvenTree/status_codes.py:110 msgid "Removed from assembly" msgstr "已从组装中删除" -#: InvenTree/status_codes.py:325 +#: InvenTree/status_codes.py:112 msgid "Installed component item" msgstr "已安装组件项" -#: InvenTree/status_codes.py:326 +#: InvenTree/status_codes.py:113 msgid "Removed component item" msgstr "已删除组件项" -#: InvenTree/status_codes.py:328 +#: InvenTree/status_codes.py:116 msgid "Split from parent item" msgstr "从父项拆分" -#: InvenTree/status_codes.py:329 +#: InvenTree/status_codes.py:117 msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:331 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 msgid "Merged stock items" msgstr "合并的库存项目" -#: InvenTree/status_codes.py:333 +#: InvenTree/status_codes.py:123 msgid "Converted to variant" msgstr "转换为变量" -#: InvenTree/status_codes.py:335 templates/js/translated/table_filters.js:321 -msgid "Sent to customer" -msgstr "发送给客户" - -#: InvenTree/status_codes.py:336 -msgid "Returned from customer" -msgstr "从客户退货" - -#: InvenTree/status_codes.py:338 +#: InvenTree/status_codes.py:126 msgid "Build order output created" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:339 +#: InvenTree/status_codes.py:127 msgid "Build order output completed" msgstr "生产订单输出已完成" -#: InvenTree/status_codes.py:340 +#: InvenTree/status_codes.py:128 #, fuzzy #| msgid "Build order output created" msgid "Build order output rejected" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:341 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 msgid "Consumed by build order" msgstr "被生产订单消耗" -#: InvenTree/status_codes.py:343 +#: InvenTree/status_codes.py:132 #, fuzzy #| msgid "Received against purchase order" msgid "Shipped against Sales Order" msgstr "收到定购单" -#: InvenTree/status_codes.py:345 +#: InvenTree/status_codes.py:135 #, fuzzy #| msgid "Received against purchase order" msgid "Received against Purchase Order" msgstr "收到定购单" -#: InvenTree/status_codes.py:347 +#: InvenTree/status_codes.py:138 #, fuzzy #| msgid "Received against purchase order" msgid "Returned against Return Order" msgstr "收到定购单" -#: InvenTree/status_codes.py:361 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +msgid "Sent to customer" +msgstr "发送给客户" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "从客户退货" + +#: InvenTree/status_codes.py:149 msgid "Production" msgstr "生产中" -#: InvenTree/status_codes.py:433 +#: InvenTree/status_codes.py:191 #, fuzzy #| msgid "Returned" msgid "Return" msgstr "已退回" -#: InvenTree/status_codes.py:434 +#: InvenTree/status_codes.py:194 msgid "Repair" msgstr "" -#: InvenTree/status_codes.py:435 -msgid "Refund" -msgstr "" - -#: InvenTree/status_codes.py:436 +#: InvenTree/status_codes.py:197 #, fuzzy #| msgid "Placed" msgid "Replace" msgstr "已添加" -#: InvenTree/status_codes.py:437 +#: InvenTree/status_codes.py:200 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:203 #, fuzzy #| msgid "Rejected" msgid "Reject" @@ -880,7 +883,7 @@ msgstr "系统信息" msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:221 +#: build/api.py:222 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" @@ -912,9 +915,9 @@ msgstr "上级生产选项无效" msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:156 order/models.py:356 order/models.py:762 -#: order/models.py:1084 order/models.py:1721 part/admin.py:278 -#: part/models.py:3797 part/templates/part/upload_bom.html:54 +#: build/models.py:156 order/models.py:359 order/models.py:765 +#: order/models.py:1087 order/models.py:1724 part/admin.py:278 +#: part/models.py:3798 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -945,11 +948,11 @@ msgstr "此次生产匹配的订单" #: build/models.py:181 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1192 order/models.py:1308 order/models.py:1309 -#: part/models.py:390 part/models.py:2864 part/models.py:2978 -#: part/models.py:3118 part/models.py:3137 part/models.py:3156 -#: part/models.py:3177 part/models.py:3269 part/models.py:3554 -#: part/models.py:3662 part/models.py:3762 part/models.py:4076 +#: order/models.py:1195 order/models.py:1311 order/models.py:1312 +#: part/models.py:391 part/models.py:2865 part/models.py:2979 +#: part/models.py:3119 part/models.py:3138 part/models.py:3157 +#: part/models.py:3178 part/models.py:3270 part/models.py:3555 +#: part/models.py:3663 part/models.py:3763 part/models.py:4077 #: part/serializers.py:842 part/serializers.py:1245 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1047,7 +1050,7 @@ msgstr "生产状态" msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:505 +#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 #: stock/models.py:739 templates/js/translated/purchase_order.js:1099 msgid "Batch Code" msgstr "批量代码" @@ -1056,7 +1059,7 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:253 order/models.py:241 part/models.py:1037 +#: build/models.py:253 order/models.py:244 part/models.py:1038 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:327 #: templates/js/translated/sales_order.js:815 @@ -1071,7 +1074,7 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:261 order/models.py:406 order/models.py:1764 +#: build/models.py:261 order/models.py:409 order/models.py:1767 #: templates/js/translated/build.js:2953 msgid "Completion Date" msgstr "完成日期:" @@ -1089,10 +1092,10 @@ msgid "User who issued this build order" msgstr "发布此生产订单的用户" #: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:255 +#: build/templates/build/detail.html:122 order/models.py:258 #: order/templates/order/order_base.html:214 #: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1041 +#: order/templates/order/sales_order_base.html:222 part/models.py:1042 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2925 @@ -1147,9 +1150,9 @@ msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" #: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:437 order/serializers.py:378 -#: order/serializers.py:500 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1386 stock/serializers.py:315 +#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 +#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1168,11 +1171,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可 msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1291 order/models.py:1598 +#: build/models.py:1291 order/models.py:1601 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1297 order/models.py:1601 +#: build/models.py:1297 order/models.py:1604 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" @@ -1194,8 +1197,8 @@ msgstr "生产" msgid "Build to allocate parts" msgstr "生产以分配部件" -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1058 -#: order/serializers.py:1079 stock/serializers.py:413 stock/serializers.py:770 +#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 +#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 #: stock/serializers.py:896 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 @@ -1218,10 +1221,10 @@ msgstr "源库存项" #: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 #: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2176 -#: order/models.py:1070 order/models.py:1642 order/serializers.py:1232 +#: build/templates/build/detail.html:34 common/models.py:2169 +#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2991 part/models.py:3778 +#: part/forms.py:47 part/models.py:2992 part/models.py:3779 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1308,7 +1311,7 @@ msgstr "对于可追踪的部件,需要整数型数值" msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:276 order/serializers.py:513 order/serializers.py:1236 +#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 #: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 #: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 msgid "Serial Numbers" @@ -1326,7 +1329,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:326 stock/api.py:669 +#: build/serializers.py:326 stock/api.py:670 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1334,8 +1337,8 @@ msgstr "以下序列号已存在或无效" msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:486 -#: order/serializers.py:605 order/serializers.py:1587 part/serializers.py:854 +#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 +#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 #: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 #: stock/serializers.py:931 stock/serializers.py:1173 #: stock/templates/stock/item_base.html:390 @@ -1381,8 +1384,8 @@ msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" #: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:788 -#: order/models.py:1747 order/serializers.py:523 stock/admin.py:106 +#: build/templates/build/detail.html:62 order/models.py:791 +#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 #: stock/templates/stock/item_base.html:423 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 #: templates/js/translated/purchase_order.js:1278 @@ -1454,7 +1457,7 @@ msgstr "接受库存项未被完成分配至此生产订单" msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:664 order/serializers.py:260 order/serializers.py:1126 +#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 msgid "Accept Incomplete" msgstr "接受未完成" @@ -1470,8 +1473,8 @@ msgstr "所需生产数量尚未完成" msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3685 -#: part/models.py:4068 +#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 +#: part/models.py:4069 msgid "BOM Item" msgstr "BOM项" @@ -1491,7 +1494,7 @@ msgstr "bom_item.part 必须与生产订单指向相同的部件" msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:846 order/serializers.py:1116 +#: build/serializers.py:846 order/serializers.py:1117 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" @@ -1508,7 +1511,7 @@ msgstr "对于未被追踪的部件,无法指定生产产出" msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:887 order/serializers.py:1400 +#: build/serializers.py:887 order/serializers.py:1401 msgid "Allocation items must be provided" msgstr "必须提供分配的项" @@ -1674,8 +1677,8 @@ msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" #: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:237 -#: order/models.py:1096 order/templates/order/order_base.html:190 +#: build/templates/build/detail.html:138 order/models.py:240 +#: order/models.py:1099 order/templates/order/order_base.html:190 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 @@ -1714,8 +1717,8 @@ msgid "Completed" msgstr "已完成" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1451 order/models.py:1301 -#: order/models.py:1400 order/models.py:1548 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 +#: order/models.py:1403 order/models.py:1551 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1768,7 +1771,7 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1219 +#: build/templates/build/detail.html:49 order/models.py:1222 #: templates/js/translated/purchase_order.js:2157 msgid "Destination" msgstr "目的地" @@ -2014,7 +2017,7 @@ msgstr "已更新" msgid "Timestamp of last update" msgstr "最后一次更新时间" -#: common/models.py:104 order/admin.py:17 order/models.py:231 +#: common/models.py:104 order/admin.py:17 order/models.py:234 #: templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/purchase_order.js:1670 #: templates/js/translated/return_order.js:306 @@ -2179,7 +2182,7 @@ msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 #: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1323 common/models.py:1446 common/models.py:1688 msgid "days" msgstr "天" @@ -2315,7 +2318,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3559 +#: common/models.py:1162 part/admin.py:55 part/models.py:3560 #: report/models.py:166 templates/js/translated/table_filters.js:109 #: templates/js/translated/table_filters.js:680 msgid "Template" @@ -2325,7 +2328,7 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:995 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 #: templates/js/translated/bom.js:1598 #: templates/js/translated/table_filters.js:276 #: templates/js/translated/table_filters.js:634 @@ -2336,7 +2339,7 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1001 +#: common/models.py:1176 part/admin.py:52 part/models.py:1002 #: templates/js/translated/table_filters.js:642 msgid "Component" msgstr "组件" @@ -2345,7 +2348,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1012 +#: common/models.py:1183 part/admin.py:53 part/models.py:1013 msgid "Purchaseable" msgstr "可购买" @@ -2353,7 +2356,7 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1190 part/admin.py:54 part/models.py:1017 +#: common/models.py:1190 part/admin.py:54 part/models.py:1018 #: templates/js/translated/table_filters.js:668 msgid "Salable" msgstr "可销售" @@ -2362,7 +2365,7 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1197 part/admin.py:56 part/models.py:1007 +#: common/models.py:1197 part/admin.py:56 part/models.py:1008 #: templates/js/translated/table_filters.js:117 #: templates/js/translated/table_filters.js:193 #: templates/js/translated/table_filters.js:684 @@ -2373,7 +2376,7 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1204 part/admin.py:57 part/models.py:1027 +#: common/models.py:1204 part/admin.py:57 part/models.py:1028 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:113 #: templates/js/translated/table_filters.js:688 @@ -2830,563 +2833,555 @@ msgstr "" msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1620 -msgid "Check plugin signatures" -msgstr "" - #: common/models.py:1621 -msgid "Check and show signatures for plugins" -msgstr "" - -#: common/models.py:1628 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1622 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1629 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1630 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1637 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1638 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1645 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1646 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1653 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1654 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1661 #, fuzzy #| msgid "Sales Orders" msgid "Enable project codes" msgstr "销售订单" -#: common/models.py:1669 +#: common/models.py:1662 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1668 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1669 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1675 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1676 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1685 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1686 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2147 +#: common/models.py:1703 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1722 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1744 #, fuzzy #| msgid "Build to allocate parts" msgid "Hide inactive parts" msgstr "生产以分配部件" -#: common/models.py:1752 +#: common/models.py:1745 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1751 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1752 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1758 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1759 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1765 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1773 +#: common/models.py:1766 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1779 +#: common/models.py:1772 msgid "Recent Part Count" msgstr "" -#: common/models.py:1780 +#: common/models.py:1773 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:1786 +#: common/models.py:1779 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1787 +#: common/models.py:1780 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1786 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1794 +#: common/models.py:1787 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1793 msgid "Recent Stock Count" msgstr "" -#: common/models.py:1801 +#: common/models.py:1794 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:1807 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1836 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1850 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1856 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1878 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1885 +#: common/models.py:1878 #, fuzzy #| msgid "Show latest parts on the homepage" msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1891 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1892 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1898 +#: common/models.py:1891 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1899 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1905 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1906 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1912 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1913 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1919 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1941 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1948 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1955 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1962 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1969 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1976 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2010 #, fuzzy #| msgid "Purchase Orders" msgid "Search Return Orders" msgstr "采购订单" -#: common/models.py:2018 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2025 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2032 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2038 +#: common/models.py:2031 #, fuzzy #| msgid "Search" msgid "Regex Search" msgstr "搜索" -#: common/models.py:2039 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2045 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2046 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2052 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2053 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2059 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2060 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2066 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2067 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2073 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2074 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2089 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2095 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2096 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2102 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2103 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2112 +#: common/models.py:2105 #, fuzzy #| msgid "Select Label Template" msgid "Default part label template" msgstr "选择标签模板" -#: common/models.py:2113 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2121 +#: common/models.py:2114 #, fuzzy #| msgid "stock items selected" msgid "Default stock item template" msgstr "已选择库存项" -#: common/models.py:2122 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2130 +#: common/models.py:2123 #, fuzzy #| msgid "No stock location set" msgid "Default stock location label template" msgstr "未设置仓储地点" -#: common/models.py:2131 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2177 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2184 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1129 order/models.py:1936 +#: common/models.py:2177 company/serializers.py:434 order/admin.py:43 +#: order/models.py:1132 order/models.py:1939 #: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:725 msgid "Price" msgstr "价格" -#: common/models.py:2185 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2345 common/models.py:2523 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2346 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2355 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2360 part/admin.py:50 part/models.py:1022 +#: common/models.py:2353 part/admin.py:50 part/models.py:1023 #: plugin/models.py:47 templates/js/translated/table_filters.js:105 #: templates/js/translated/table_filters.js:189 #: templates/js/translated/table_filters.js:434 @@ -3395,100 +3390,100 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2375 +#: common/models.py:2368 msgid "Token" msgstr "令牌" -#: common/models.py:2376 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2383 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2384 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2490 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2491 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2499 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2500 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2507 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2508 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2514 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2515 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2524 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2529 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2530 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2684 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2690 templates/js/translated/news.js:44 +#: common/models.py:2683 templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2700 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2705 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2710 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2715 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2716 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2736 company/models.py:143 part/models.py:913 +#: common/models.py:2729 company/models.py:143 part/models.py:914 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3498,7 +3493,7 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:2737 +#: common/models.py:2730 #, fuzzy #| msgid "Image" msgid "Image file" @@ -3614,7 +3609,7 @@ msgid "Contact email address" msgstr "联系人电子邮件" #: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:263 order/templates/order/order_base.html:207 +#: order/models.py:266 order/templates/order/order_base.html:207 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" @@ -3724,7 +3719,7 @@ msgstr "参数名称" #: company/models.py:397 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2254 templates/js/translated/company.js:872 +#: stock/models.py:2255 templates/js/translated/company.js:872 #: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 #: templates/js/translated/stock.js:1446 msgid "Value" @@ -3735,7 +3730,7 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:986 part/models.py:3406 +#: part/admin.py:40 part/models.py:987 part/models.py:3407 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 #: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 @@ -3761,7 +3756,7 @@ msgid "Linked manufacturer part must reference the same base part" msgstr "" #: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:379 +#: company/templates/company/supplier_part.html:130 order/models.py:382 #: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 #: part/serializers.py:343 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 @@ -3804,7 +3799,7 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3800 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3813,11 +3808,11 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:600 part/models.py:1918 +#: company/models.py:600 part/models.py:1919 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1918 +#: company/models.py:600 part/models.py:1919 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" @@ -3847,7 +3842,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1920 +#: company/models.py:624 part/models.py:1921 msgid "multiple" msgstr "" @@ -3940,8 +3935,8 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:776 -#: order/models.py:1735 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:779 +#: order/models.py:1738 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 #: stock/models.py:721 stock/serializers.py:825 #: stock/templates/stock/item_base.html:401 @@ -4184,7 +4179,7 @@ msgstr "删除供应商商品" #: part/templates/part/detail.html:393 part/templates/part/detail.html:423 #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:247 +#: templates/js/translated/stock.js:216 users/models.py:248 msgid "Delete" msgstr "删除" @@ -4446,7 +4441,7 @@ msgstr "商品二维码" msgid "QR code" msgstr "" -#: order/admin.py:30 order/models.py:70 +#: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 @@ -4455,11 +4450,11 @@ msgstr "" msgid "Total Price" msgstr "" -#: order/api.py:239 +#: order/api.py:242 msgid "No matching purchase order found" msgstr "" -#: order/api.py:1449 order/models.py:1175 order/models.py:1259 +#: order/api.py:1452 order/models.py:1178 order/models.py:1262 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4473,7 +4468,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1453 order/models.py:1906 order/models.py:1952 +#: order/api.py:1456 order/models.py:1909 order/models.py:1955 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4484,204 +4479,204 @@ msgstr "" msgid "Return Order" msgstr "已退回" -#: order/api.py:1455 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1030 msgid "Unknown" msgstr "" -#: order/models.py:71 +#: order/models.py:74 #, fuzzy #| msgid "User or group responsible for this order" msgid "Total price for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:76 order/serializers.py:48 +#: order/models.py:79 order/serializers.py:49 #, fuzzy #| msgid "Currency" msgid "Order Currency" msgstr "货币" -#: order/models.py:78 order/serializers.py:49 +#: order/models.py:81 order/serializers.py:50 msgid "Currency for this order (leave blank to use company default)" msgstr "" -#: order/models.py:207 +#: order/models.py:210 #, fuzzy #| msgid "Build output does not match the parent build" msgid "Contact does not match selected company" msgstr "生产产出与对应生产不匹配" -#: order/models.py:229 +#: order/models.py:232 #, fuzzy #| msgid "Description (optional)" msgid "Order description (optional)" msgstr "描述 (可选)" -#: order/models.py:231 +#: order/models.py:234 #, fuzzy #| msgid "User or group responsible for this order" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:233 order/models.py:1091 order/models.py:1451 +#: order/models.py:236 order/models.py:1094 order/models.py:1454 msgid "Link to external page" msgstr "" -#: order/models.py:238 +#: order/models.py:241 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:247 +#: order/models.py:250 msgid "Created By" msgstr "" -#: order/models.py:254 +#: order/models.py:257 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:264 +#: order/models.py:267 #, fuzzy #| msgid "Priority of this build order" msgid "Point of contact for this order" msgstr "此构建订单的优先级" -#: order/models.py:357 order/models.py:763 +#: order/models.py:360 order/models.py:766 msgid "Order reference" msgstr "" -#: order/models.py:365 order/models.py:788 +#: order/models.py:368 order/models.py:791 msgid "Purchase order status" msgstr "" -#: order/models.py:380 +#: order/models.py:383 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:388 order/templates/order/order_base.html:152 +#: order/models.py:391 order/templates/order/order_base.html:152 #: templates/js/translated/purchase_order.js:1662 msgid "Supplier Reference" msgstr "" -#: order/models.py:388 +#: order/models.py:391 msgid "Supplier order reference code" msgstr "" -#: order/models.py:395 +#: order/models.py:398 msgid "received by" msgstr "" -#: order/models.py:400 order/models.py:1758 +#: order/models.py:403 order/models.py:1761 msgid "Issue Date" msgstr "" -#: order/models.py:401 order/models.py:1759 +#: order/models.py:404 order/models.py:1762 msgid "Date order was issued" msgstr "" -#: order/models.py:407 order/models.py:1765 +#: order/models.py:410 order/models.py:1768 msgid "Date order was completed" msgstr "" -#: order/models.py:442 +#: order/models.py:445 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:603 +#: order/models.py:606 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:777 +#: order/models.py:780 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:796 order/models.py:1752 +#: order/models.py:799 order/models.py:1755 msgid "Customer Reference " msgstr "" -#: order/models.py:796 order/models.py:1753 +#: order/models.py:799 order/models.py:1756 msgid "Customer order reference code" msgstr "" -#: order/models.py:798 order/models.py:1405 +#: order/models.py:801 order/models.py:1408 #: templates/js/translated/sales_order.js:831 #: templates/js/translated/sales_order.js:1012 msgid "Shipment Date" msgstr "" -#: order/models.py:805 +#: order/models.py:808 msgid "shipped by" msgstr "" -#: order/models.py:854 +#: order/models.py:857 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:858 +#: order/models.py:861 #, fuzzy #| msgid "Build Order is ready to mark as completed" msgid "Only an open order can be marked as complete" msgstr "构建订单已准备好标记为已完成" -#: order/models.py:861 templates/js/translated/sales_order.js:491 +#: order/models.py:864 templates/js/translated/sales_order.js:491 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:864 +#: order/models.py:867 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1071 +#: order/models.py:1074 msgid "Item quantity" msgstr "" -#: order/models.py:1084 +#: order/models.py:1087 msgid "Line item reference" msgstr "" -#: order/models.py:1086 +#: order/models.py:1089 msgid "Line item notes" msgstr "" -#: order/models.py:1097 +#: order/models.py:1100 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1115 +#: order/models.py:1118 #, fuzzy #| msgid "Description (optional)" msgid "Line item description (optional)" msgstr "描述 (可选)" -#: order/models.py:1120 +#: order/models.py:1123 msgid "Context" msgstr "" -#: order/models.py:1121 +#: order/models.py:1124 msgid "Additional context for this line" msgstr "" -#: order/models.py:1130 +#: order/models.py:1133 msgid "Unit price" msgstr "" -#: order/models.py:1160 +#: order/models.py:1163 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1168 +#: order/models.py:1171 msgid "deleted" msgstr "" -#: order/models.py:1174 order/models.py:1259 order/models.py:1300 -#: order/models.py:1399 order/models.py:1548 order/models.py:1905 -#: order/models.py:1952 templates/js/translated/sales_order.js:1474 +#: order/models.py:1177 order/models.py:1262 order/models.py:1303 +#: order/models.py:1402 order/models.py:1551 order/models.py:1908 +#: order/models.py:1955 templates/js/translated/sales_order.js:1474 msgid "Order" msgstr "" -#: order/models.py:1193 +#: order/models.py:1196 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1200 order/templates/order/order_base.html:200 +#: order/models.py:1203 order/templates/order/order_base.html:200 #: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 #: templates/js/translated/purchase_order.js:1276 #: templates/js/translated/purchase_order.js:2137 @@ -4691,356 +4686,356 @@ msgstr "供应商商品" msgid "Received" msgstr "" -#: order/models.py:1201 +#: order/models.py:1204 msgid "Number of items received" msgstr "" -#: order/models.py:1208 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 #: stock/templates/stock/item_base.html:184 #: templates/js/translated/stock.js:2047 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1209 +#: order/models.py:1212 msgid "Unit purchase price" msgstr "" -#: order/models.py:1222 +#: order/models.py:1225 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1288 +#: order/models.py:1291 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1293 +#: order/models.py:1296 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1319 part/templates/part/part_pricing.html:107 +#: order/models.py:1322 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1320 +#: order/models.py:1323 msgid "Unit sale price" msgstr "" -#: order/models.py:1330 +#: order/models.py:1333 msgid "Shipped quantity" msgstr "" -#: order/models.py:1406 +#: order/models.py:1409 msgid "Date of shipment" msgstr "" -#: order/models.py:1411 templates/js/translated/sales_order.js:1024 +#: order/models.py:1414 templates/js/translated/sales_order.js:1024 msgid "Delivery Date" msgstr "" -#: order/models.py:1412 +#: order/models.py:1415 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1419 +#: order/models.py:1422 msgid "Checked By" msgstr "" -#: order/models.py:1420 +#: order/models.py:1423 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1427 order/models.py:1624 order/serializers.py:1247 -#: order/serializers.py:1375 templates/js/translated/model_renderers.js:415 +#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 +#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 msgid "Shipment" msgstr "" -#: order/models.py:1428 +#: order/models.py:1431 msgid "Shipment number" msgstr "" -#: order/models.py:1436 +#: order/models.py:1439 msgid "Tracking Number" msgstr "" -#: order/models.py:1437 +#: order/models.py:1440 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1444 +#: order/models.py:1447 msgid "Invoice Number" msgstr "" -#: order/models.py:1445 +#: order/models.py:1448 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1467 +#: order/models.py:1470 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1470 +#: order/models.py:1473 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1583 order/models.py:1585 +#: order/models.py:1586 order/models.py:1588 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1589 +#: order/models.py:1592 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1591 +#: order/models.py:1594 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1597 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1604 order/serializers.py:1109 +#: order/models.py:1607 order/serializers.py:1110 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1607 +#: order/models.py:1610 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1608 +#: order/models.py:1611 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1616 +#: order/models.py:1619 msgid "Line" msgstr "" -#: order/models.py:1625 +#: order/models.py:1628 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1638 order/models.py:1913 +#: order/models.py:1641 order/models.py:1916 #: templates/js/translated/return_order.js:706 msgid "Item" msgstr "" -#: order/models.py:1639 +#: order/models.py:1642 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1642 +#: order/models.py:1645 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1722 +#: order/models.py:1725 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:1736 +#: order/models.py:1739 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:1747 +#: order/models.py:1750 msgid "Return order status" msgstr "" -#: order/models.py:1898 +#: order/models.py:1901 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1914 +#: order/models.py:1917 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:1919 +#: order/models.py:1922 msgid "Received Date" msgstr "" -#: order/models.py:1920 +#: order/models.py:1923 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1931 templates/js/translated/return_order.js:717 +#: order/models.py:1934 templates/js/translated/return_order.js:717 #: templates/js/translated/table_filters.js:93 msgid "Outcome" msgstr "" -#: order/models.py:1931 +#: order/models.py:1934 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1937 +#: order/models.py:1940 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:246 +#: order/serializers.py:247 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:261 order/serializers.py:1127 +#: order/serializers.py:262 order/serializers.py:1128 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:272 order/serializers.py:1138 +#: order/serializers.py:273 order/serializers.py:1139 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:385 +#: order/serializers.py:386 msgid "Order is not open" msgstr "" -#: order/serializers.py:403 +#: order/serializers.py:404 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:421 +#: order/serializers.py:422 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:426 +#: order/serializers.py:427 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:433 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:434 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:471 order/serializers.py:1215 +#: order/serializers.py:472 order/serializers.py:1216 msgid "Line Item" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:478 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:487 order/serializers.py:606 order/serializers.py:1588 +#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:506 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:514 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:527 templates/js/translated/barcode.js:52 +#: order/serializers.py:528 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:528 +#: order/serializers.py:529 #, fuzzy #| msgid "Scan Barcode" msgid "Scanned barcode" msgstr "扫描条形码" -#: order/serializers.py:544 +#: order/serializers.py:545 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:568 +#: order/serializers.py:569 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:622 order/serializers.py:1603 +#: order/serializers.py:623 order/serializers.py:1604 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:639 +#: order/serializers.py:640 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:650 +#: order/serializers.py:651 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:949 +#: order/serializers.py:950 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1006 +#: order/serializers.py:1007 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1070 order/serializers.py:1224 +#: order/serializers.py:1071 order/serializers.py:1225 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1092 +#: order/serializers.py:1093 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1237 +#: order/serializers.py:1238 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1259 order/serializers.py:1383 +#: order/serializers.py:1260 order/serializers.py:1384 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1262 order/serializers.py:1386 +#: order/serializers.py:1263 order/serializers.py:1387 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1316 +#: order/serializers.py:1317 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1326 +#: order/serializers.py:1327 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1554 +#: order/serializers.py:1555 msgid "Return order line item" msgstr "" -#: order/serializers.py:1561 +#: order/serializers.py:1562 #, fuzzy #| msgid "Build output does not match Build Order" msgid "Line item does not match return order" msgstr "生产产出与订单不匹配" -#: order/serializers.py:1564 +#: order/serializers.py:1565 #, fuzzy #| msgid "This build output has already been completed" msgid "Line item has already been received" msgstr "此生产产出已经完成" -#: order/serializers.py:1596 +#: order/serializers.py:1597 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1677 +#: order/serializers.py:1678 #, fuzzy #| msgid "Uses default currency" msgid "Line price currency" msgstr "使用默认货币" -#: order/tasks.py:26 +#: order/tasks.py:27 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:31 +#: order/tasks.py:32 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:89 +#: order/tasks.py:90 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:94 +#: order/tasks.py:95 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" @@ -5465,12 +5460,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3666 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3670 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5479,19 +5474,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:888 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 #: templates/js/translated/stock.js:1795 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:895 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1205 #: templates/js/translated/part.js:2239 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:874 +#: part/admin.py:38 part/admin.py:198 part/models.py:875 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "关键词" @@ -5512,11 +5507,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:863 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:979 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "最低库存" @@ -5549,11 +5544,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2929 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2935 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 msgid "Maximum Cost" msgstr "" @@ -5570,7 +5565,7 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:202 part/models.py:391 part/templates/part/cat_link.html:3 +#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 #: part/templates/part/category.html:23 part/templates/part/category.html:140 #: part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5593,7 +5588,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3674 +#: part/admin.py:274 part/models.py:3675 msgid "Part IPN" msgstr "" @@ -5607,35 +5602,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:497 +#: part/api.py:498 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:517 +#: part/api.py:518 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:535 +#: part/api.py:536 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:621 +#: part/api.py:622 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:769 +#: part/api.py:770 msgid "Valid" msgstr "" -#: part/api.py:770 +#: part/api.py:771 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:776 +#: part/api.py:777 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:126 part/models.py:922 +#: part/bom.py:175 part/models.py:127 part/models.py:923 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "默认仓储地点" @@ -5653,108 +5648,108 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 part/models.py:3615 part/templates/part/category.html:16 +#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:75 part/templates/part/category.html:135 +#: part/models.py:76 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 #: users/models.py:37 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:127 +#: part/models.py:128 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:132 stock/models.py:124 templates/js/translated/stock.js:2520 +#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 #: templates/js/translated/table_filters.js:209 #: templates/js/translated/table_filters.js:229 msgid "Structural" msgstr "" -#: part/models.py:134 +#: part/models.py:135 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords" msgstr "" -#: part/models.py:138 +#: part/models.py:139 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:143 stock/models.py:113 +#: part/models.py:144 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:144 stock/models.py:114 +#: part/models.py:145 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:163 +#: part/models.py:164 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:474 +#: part/models.py:475 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:516 part/models.py:528 +#: part/models.py:517 part/models.py:529 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:600 +#: part/models.py:601 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:671 +#: part/models.py:672 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:802 +#: part/models.py:803 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:807 +#: part/models.py:808 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:821 +#: part/models.py:822 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:845 part/models.py:3671 +#: part/models.py:846 part/models.py:3672 msgid "Part name" msgstr "商品名称" -#: part/models.py:851 +#: part/models.py:852 msgid "Is Template" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is this part a template part?" msgstr "" -#: part/models.py:862 +#: part/models.py:863 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:869 +#: part/models.py:870 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:875 +#: part/models.py:876 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:882 part/models.py:3197 part/models.py:3614 +#: part/models.py:883 part/models.py:3198 part/models.py:3615 #: part/serializers.py:848 part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5762,249 +5757,249 @@ msgstr "提高搜索结果可见性的关键字" msgid "Category" msgstr "类别" -#: part/models.py:883 +#: part/models.py:884 msgid "Part category" msgstr "商品类别" -#: part/models.py:889 +#: part/models.py:890 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:894 +#: part/models.py:895 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:920 +#: part/models.py:921 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:965 part/templates/part/part_base.html:378 +#: part/models.py:966 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:966 +#: part/models.py:967 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:973 +#: part/models.py:974 msgid "Default Expiry" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:980 +#: part/models.py:981 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:987 +#: part/models.py:988 msgid "Units of measure for this part" msgstr "" -#: part/models.py:996 +#: part/models.py:997 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1002 +#: part/models.py:1003 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1008 +#: part/models.py:1009 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1013 +#: part/models.py:1014 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1018 +#: part/models.py:1019 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1023 +#: part/models.py:1024 msgid "Is this part active?" msgstr "" -#: part/models.py:1028 +#: part/models.py:1029 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1030 +#: part/models.py:1031 msgid "BOM checksum" msgstr "" -#: part/models.py:1030 +#: part/models.py:1031 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1033 +#: part/models.py:1034 msgid "BOM checked by" msgstr "" -#: part/models.py:1035 +#: part/models.py:1036 msgid "BOM checked date" msgstr "" -#: part/models.py:1039 +#: part/models.py:1040 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1041 +#: part/models.py:1042 msgid "User responsible for this part" msgstr "" -#: part/models.py:1045 part/templates/part/part_base.html:341 +#: part/models.py:1046 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2331 msgid "Last Stocktake" msgstr "" -#: part/models.py:1920 +#: part/models.py:1921 msgid "Sell multiple" msgstr "" -#: part/models.py:2852 +#: part/models.py:2853 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2869 +#: part/models.py:2870 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2870 +#: part/models.py:2871 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2875 +#: part/models.py:2876 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2876 +#: part/models.py:2877 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2881 +#: part/models.py:2882 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2882 +#: part/models.py:2883 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2887 +#: part/models.py:2888 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2889 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2893 +#: part/models.py:2894 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2894 +#: part/models.py:2895 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2899 +#: part/models.py:2900 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2900 +#: part/models.py:2901 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2905 +#: part/models.py:2906 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2906 +#: part/models.py:2907 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2911 +#: part/models.py:2912 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2912 +#: part/models.py:2913 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2917 +#: part/models.py:2918 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2918 +#: part/models.py:2919 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2923 +#: part/models.py:2924 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2924 +#: part/models.py:2925 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2930 +#: part/models.py:2931 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2936 +#: part/models.py:2937 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2941 +#: part/models.py:2942 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2942 +#: part/models.py:2943 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2947 +#: part/models.py:2948 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2948 +#: part/models.py:2949 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2953 +#: part/models.py:2954 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2954 +#: part/models.py:2955 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2959 +#: part/models.py:2960 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2960 +#: part/models.py:2961 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2979 +#: part/models.py:2980 msgid "Part for stocktake" msgstr "" -#: part/models.py:2984 +#: part/models.py:2985 msgid "Item Count" msgstr "" -#: part/models.py:2985 +#: part/models.py:2986 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2992 +#: part/models.py:2993 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2996 part/models.py:3079 +#: part/models.py:2997 part/models.py:3080 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6016,218 +6011,218 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:2997 +#: part/models.py:2998 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3005 +#: part/models.py:3006 msgid "Additional notes" msgstr "" -#: part/models.py:3013 +#: part/models.py:3014 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3018 +#: part/models.py:3019 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3019 +#: part/models.py:3020 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3024 +#: part/models.py:3025 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3025 +#: part/models.py:3026 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3086 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3087 +#: part/models.py:3088 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3092 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3093 +#: part/models.py:3094 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3101 +#: part/models.py:3102 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3237 +#: part/models.py:3238 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3254 +#: part/models.py:3255 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3274 templates/js/translated/part.js:2821 +#: part/models.py:3275 templates/js/translated/part.js:2821 msgid "Test Name" msgstr "" -#: part/models.py:3275 +#: part/models.py:3276 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3280 +#: part/models.py:3281 msgid "Test Description" msgstr "" -#: part/models.py:3281 +#: part/models.py:3282 msgid "Enter description for this test" msgstr "" -#: part/models.py:3286 templates/js/translated/part.js:2830 +#: part/models.py:3287 templates/js/translated/part.js:2830 #: templates/js/translated/table_filters.js:423 msgid "Required" msgstr "" -#: part/models.py:3287 +#: part/models.py:3288 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3292 templates/js/translated/part.js:2838 +#: part/models.py:3293 templates/js/translated/part.js:2838 msgid "Requires Value" msgstr "" -#: part/models.py:3293 +#: part/models.py:3294 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3298 templates/js/translated/part.js:2845 +#: part/models.py:3299 templates/js/translated/part.js:2845 msgid "Requires Attachment" msgstr "" -#: part/models.py:3299 +#: part/models.py:3300 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3345 +#: part/models.py:3346 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3350 +#: part/models.py:3351 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3368 +#: part/models.py:3369 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3384 +#: part/models.py:3385 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3400 +#: part/models.py:3401 msgid "Parameter Name" msgstr "" -#: part/models.py:3406 +#: part/models.py:3407 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3416 +#: part/models.py:3417 msgid "Parameter description" msgstr "" -#: part/models.py:3422 templates/js/translated/part.js:1600 +#: part/models.py:3423 templates/js/translated/part.js:1600 #: templates/js/translated/table_filters.js:734 msgid "Checkbox" msgstr "" -#: part/models.py:3423 +#: part/models.py:3424 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3428 templates/js/translated/part.js:1609 +#: part/models.py:3429 templates/js/translated/part.js:1609 msgid "Choices" msgstr "" -#: part/models.py:3429 +#: part/models.py:3430 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3510 +#: part/models.py:3511 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3554 +#: part/models.py:3555 msgid "Parent Part" msgstr "" -#: part/models.py:3559 part/models.py:3620 part/models.py:3621 +#: part/models.py:3560 part/models.py:3621 part/models.py:3622 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3564 +#: part/models.py:3565 msgid "Data" msgstr "" -#: part/models.py:3564 +#: part/models.py:3565 msgid "Parameter Value" msgstr "" -#: part/models.py:3625 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3626 +#: part/models.py:3627 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3663 +#: part/models.py:3664 msgid "Part ID or part name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3668 msgid "Unique part ID value" msgstr "" -#: part/models.py:3675 +#: part/models.py:3676 msgid "Part IPN value" msgstr "" -#: part/models.py:3678 +#: part/models.py:3679 msgid "Level" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "BOM level" msgstr "" -#: part/models.py:3763 +#: part/models.py:3764 msgid "Select parent part" msgstr "" -#: part/models.py:3771 +#: part/models.py:3772 msgid "Sub part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3773 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3778 +#: part/models.py:3779 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3782 part/templates/part/upload_bom.html:58 +#: part/models.py:3783 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 #: templates/js/translated/build.js:2113 #: templates/js/translated/table_filters.js:156 @@ -6236,116 +6231,116 @@ msgstr "" msgid "Optional" msgstr "可选项" -#: part/models.py:3783 +#: part/models.py:3784 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3788 templates/js/translated/bom.js:967 +#: part/models.py:3789 templates/js/translated/bom.js:967 #: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 #: templates/js/translated/table_filters.js:160 #: templates/js/translated/table_filters.js:496 msgid "Consumable" msgstr "" -#: part/models.py:3789 +#: part/models.py:3790 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3793 part/templates/part/upload_bom.html:55 +#: part/models.py:3794 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3794 +#: part/models.py:3795 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3797 +#: part/models.py:3798 msgid "BOM item reference" msgstr "" -#: part/models.py:3800 +#: part/models.py:3801 msgid "BOM item notes" msgstr "" -#: part/models.py:3804 +#: part/models.py:3805 msgid "Checksum" msgstr "" -#: part/models.py:3804 +#: part/models.py:3805 msgid "BOM line checksum" msgstr "" -#: part/models.py:3809 templates/js/translated/table_filters.js:144 +#: part/models.py:3810 templates/js/translated/table_filters.js:144 msgid "Validated" msgstr "" -#: part/models.py:3810 +#: part/models.py:3811 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:3815 part/templates/part/upload_bom.html:57 +#: part/models.py:3816 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1024 #: templates/js/translated/table_filters.js:148 #: templates/js/translated/table_filters.js:181 msgid "Gets inherited" msgstr "" -#: part/models.py:3816 +#: part/models.py:3817 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3821 part/templates/part/upload_bom.html:56 +#: part/models.py:3822 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1016 msgid "Allow Variants" msgstr "" -#: part/models.py:3822 +#: part/models.py:3823 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3908 stock/models.py:577 +#: part/models.py:3909 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3917 part/models.py:3919 +#: part/models.py:3918 part/models.py:3920 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4035 +#: part/models.py:4036 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4056 +#: part/models.py:4057 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4069 +#: part/models.py:4070 msgid "Parent BOM item" msgstr "" -#: part/models.py:4077 +#: part/models.py:4078 msgid "Substitute part" msgstr "" -#: part/models.py:4092 +#: part/models.py:4093 msgid "Part 1" msgstr "" -#: part/models.py:4096 +#: part/models.py:4097 msgid "Part 2" msgstr "" -#: part/models.py:4096 +#: part/models.py:4097 msgid "Select Related Part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4115 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4118 +#: part/models.py:4119 msgid "Duplicate relationship already exists" msgstr "" @@ -7687,12 +7682,12 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2242 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1419 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:103 -#: stock/models.py:2248 +#: stock/models.py:2249 msgid "Result" msgstr "" @@ -7797,27 +7792,27 @@ msgstr "删除模板" msgid "Expiry Date" msgstr "" -#: stock/api.py:419 templates/js/translated/table_filters.js:373 +#: stock/api.py:420 templates/js/translated/table_filters.js:373 msgid "External Location" msgstr "" -#: stock/api.py:581 +#: stock/api.py:582 msgid "Quantity is required" msgstr "" -#: stock/api.py:588 +#: stock/api.py:589 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:614 +#: stock/api.py:615 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:623 +#: stock/api.py:624 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:641 +#: stock/api.py:642 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7980,104 +7975,104 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1377 +#: stock/models.py:1378 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1383 +#: stock/models.py:1384 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1389 +#: stock/models.py:1390 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1392 +#: stock/models.py:1393 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1395 +#: stock/models.py:1396 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1402 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:374 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/models.py:1473 +#: stock/models.py:1474 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1476 +#: stock/models.py:1477 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1479 +#: stock/models.py:1480 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1482 +#: stock/models.py:1483 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1485 +#: stock/models.py:1486 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1488 +#: stock/models.py:1489 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1495 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:975 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1499 +#: stock/models.py:1500 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1503 +#: stock/models.py:1504 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1507 +#: stock/models.py:1508 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:1678 +#: stock/models.py:1679 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2160 +#: stock/models.py:2161 msgid "Entry notes" msgstr "" -#: stock/models.py:2218 +#: stock/models.py:2219 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2224 +#: stock/models.py:2225 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2243 +#: stock/models.py:2244 msgid "Test name" msgstr "" -#: stock/models.py:2249 +#: stock/models.py:2250 msgid "Test result" msgstr "" -#: stock/models.py:2255 +#: stock/models.py:2256 msgid "Test output value" msgstr "" -#: stock/models.py:2262 +#: stock/models.py:2263 msgid "Test result attachment" msgstr "" -#: stock/models.py:2268 +#: stock/models.py:2269 msgid "Test notes" msgstr "" @@ -8858,29 +8853,29 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:37 +#: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:51 +#: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:70 +#: templates/InvenTree/settings/plugin.html:68 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:77 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:79 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8953,14 +8948,6 @@ msgstr "" msgid "Commit Message" msgstr "" -#: templates/InvenTree/settings/plugin_settings.html:126 -msgid "Sign Status" -msgstr "" - -#: templates/InvenTree/settings/plugin_settings.html:131 -msgid "Sign Key" -msgstr "" - #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" msgstr "采购订单设置" @@ -9412,44 +9399,48 @@ msgstr "" msgid "Update Available" msgstr "" -#: templates/about.html:42 +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:47 +#: templates/about.html:54 msgid "API Version" msgstr "" -#: templates/about.html:52 +#: templates/about.html:59 msgid "Python Version" msgstr "" -#: templates/about.html:57 +#: templates/about.html:64 msgid "Django Version" msgstr "" -#: templates/about.html:62 +#: templates/about.html:69 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:67 +#: templates/about.html:74 msgid "Credits" msgstr "" -#: templates/about.html:72 +#: templates/about.html:79 msgid "Mobile App" msgstr "" -#: templates/about.html:77 +#: templates/about.html:84 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:84 templates/clip.html:4 +#: templates/about.html:91 templates/clip.html:4 #: templates/js/translated/helpers.js:585 msgid "copy to clipboard" msgstr "" -#: templates/about.html:84 +#: templates/about.html:91 msgid "copy version information" msgstr "" @@ -12167,7 +12158,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:243 +#: templates/js/translated/stock.js:1005 users/models.py:244 msgid "Add" msgstr "添加" @@ -13037,35 +13028,35 @@ msgstr "权限" msgid "Important dates" msgstr "重要日期" -#: users/models.py:230 +#: users/models.py:231 msgid "Permission set" msgstr "权限设置" -#: users/models.py:238 +#: users/models.py:239 msgid "Group" msgstr "群组" -#: users/models.py:241 +#: users/models.py:242 msgid "View" msgstr "视图" -#: users/models.py:241 +#: users/models.py:242 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:243 +#: users/models.py:244 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:245 +#: users/models.py:246 msgid "Change" msgstr "更改" -#: users/models.py:245 +#: users/models.py:246 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to delete items" msgstr "删除项目权限" From 66ec82d4d123fc75cb55b62a89a5829b0d637604 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 20 Jun 2023 22:37:30 +1000 Subject: [PATCH 037/103] Add migration test workflow (#4973) * Add migration test workflow * Adds dummy migration - For testing only - Will be removed * Improvements to workflow * Update workflow * Use manual git step * Don't install twice * Let's try again * Does v3 work? * Try https repo * Fix repo address * Once more with feeling * Fix location of test database * Revert change to wrong file * Fix DB location * Hard-code database path * debugging * More updates grrr * Adjust permissions on database file * Manual git operation * Updates for migration test workflow * Fix database names * Remove dummy migration file * Fix filters * Fix path filter * Explicit pathing * Fix formatting error * Another formatting error --- .github/actions/migration/action.yaml | 2 +- .github/workflows/migration_test.yaml | 80 +++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/migration_test.yaml diff --git a/.github/actions/migration/action.yaml b/.github/actions/migration/action.yaml index be2baf28c4..ca90ef0cd2 100644 --- a/.github/actions/migration/action.yaml +++ b/.github/actions/migration/action.yaml @@ -1,5 +1,5 @@ name: 'Migration test' -description: 'Run migration test sequenze' +description: 'Run migration test sequence' author: 'InvenTree' runs: diff --git a/.github/workflows/migration_test.yaml b/.github/workflows/migration_test.yaml new file mode 100644 index 0000000000..1b25d0dd07 --- /dev/null +++ b/.github/workflows/migration_test.yaml @@ -0,0 +1,80 @@ +# This workflow ensures that any database migrations apply cleanly to a "production" database +# On a PR to master, the workflow will run against a "sample" production database, +# which is sitting at the current "master" migration level +# On a push to master, the workflow will also commit any migrations to the "production" database + +name: Migration Testing + +on: + push: + branches: + - master + pull_request: + branches: + - master + +env: + python_version: 3.9 + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + INVENTREE_DB_ENGINE: sqlite3 + INVENTREE_DB_NAME: /home/runner/work/InvenTree/db.sqlite3 + INVENTREE_MEDIA_ROOT: ../test_inventree_media + INVENTREE_STATIC_ROOT: ../test_inventree_static + INVENTREE_BACKUP_DIR: ../test_inventree_backup + +jobs: + paths-filter: + name: Filter + runs-on: ubuntu-latest + + outputs: + server: ${{ steps.filter.outputs.server }} + + steps: + - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0 + - uses: dorny/paths-filter@v2 + id: filter + with: + filters: | + server: + - 'InvenTree/**' + - 'requirements.txt' + - 'requirements-dev.txt' + - '.github/**' + + migrations-checks: + name: Run Database Migrations + runs-on: ubuntu-latest + needs: paths-filter + if: needs.paths-filter.outputs.server == 'true' + + steps: + - uses: actions/checkout@v3 + name: Checkout Code + - name: Environment Setup + uses: ./.github/actions/setup + with: + install: true + - name: Fetch Database + run: | + git clone --depth 1 https://github.com/inventree/test-db ./test-db + + - name: Latest Database + run: | + cp test-db/latest.sqlite3 /home/runner/work/InvenTree/db.sqlite3 + chmod +rw /home/runner/work/InvenTree/db.sqlite3 + invoke migrate + + - name: 0.10.0 Database + run: | + rm /home/runner/work/InvenTree/db.sqlite3 + cp test-db/stable_0.10.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3 + chmod +rw /home/runner/work/InvenTree/db.sqlite3 + invoke migrate + + - name: 0.11.0 Database + run: | + rm /home/runner/work/InvenTree/db.sqlite3 + cp test-db/stable_0.11.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3 + chmod +rw /home/runner/work/InvenTree/db.sqlite3 + invoke migrate From 7f5e8443672695bd8d58507e3a6907bc4c19d304 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 21 Jun 2023 16:42:10 +1000 Subject: [PATCH 038/103] Fix for loadPartTable (#5082) - Recent changes introduced a bug related to filters - Only really visible on index page --- InvenTree/templates/InvenTree/index.html | 1 - 1 file changed, 1 deletion(-) diff --git a/InvenTree/templates/InvenTree/index.html b/InvenTree/templates/InvenTree/index.html index 7e8526ca5e..0f8e99c312 100644 --- a/InvenTree/templates/InvenTree/index.html +++ b/InvenTree/templates/InvenTree/index.html @@ -45,7 +45,6 @@ loadSimplePartTable("#table-starred-parts", "{% url 'api-part-list' %}", { active: true, {% endif %} }, - name: 'starred_parts', }); {% endif %} From 30014717067f29ec757bc0b7d86e541cbd1eeecb Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 21 Jun 2023 22:30:30 +1000 Subject: [PATCH 039/103] README Updates (#5084) * Update funding.yml * Cleanup README.md * More cleanup --- .github/FUNDING.yml | 1 + README.md | 59 +++++++++++++++------------------------------ 2 files changed, 20 insertions(+), 40 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index af858fdcdc..ce61faf945 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,3 +1,4 @@ github: inventree ko_fi: inventree patreon: inventree +custom: ["https://paypal.me/inventree?locale.x=en_AU", paypal] diff --git a/README.md b/README.md index e3753c5605..db496e8c5d 100644 --- a/README.md +++ b/README.md @@ -34,27 +34,14 @@ ## :star2: About the Project -InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a REST API for interaction with external interfaces and applications. +InvenTree is an open-source Inventory Management System which provides powerful low-level stock control and part tracking. The core of the InvenTree system is a Python/Django database backend which provides an admin interface (web-based) and a REST API for interaction with external interfaces and applications. A powerful plugin system provides support for custom applications and extensions. -InvenTree is designed to be lightweight and easy to use for SME or hobbyist applications, where many existing stock management solutions are bloated and cumbersome to use. Updating stock is a single-action process and does not require a complex system of work orders or stock transactions. - -Powerful business logic works in the background to ensure that stock tracking history is maintained, and users have ready access to stock level information. - - - -### :dart: Features - -- Organize Parts and BOMs -- Manage Suppliers -- Instant Stock Knowledge -- Extend and Customize to fit your usage +Check out [our website](https://inventree.org) for more details. ### :compass: Roadmap -* [x] Plugins -* [ ] Improved Importers -* [ ] Custom Workflow Processes +Want to see what we are working on? Check out the [roadmap tag](https://github.com/inventree/InvenTree/issues?q=is%3Aopen+is%3Aissue+label%3Aroadmap) and [horizon milestone](https://github.com/inventree/InvenTree/milestone/42). ### :hammer_and_wrench: Integration @@ -110,23 +97,7 @@ InvenTree is designed to be **extensible**, and provides multiple options for ** -## :toolbox: Getting Started - -Refer to the [getting started guide](https://docs.inventree.org/en/latest/start/install/) for installation and setup instructions. - - -## :iphone: Mobile App - -InvenTree is supported by a [companion mobile app](https://docs.inventree.org/en/latest/app/app/) which allows users access to stock control information and functionality. - - - - -## :train: Deploy +## :toolbox: Deployment / Getting Started There are several options to deploy InvenTree. @@ -143,25 +114,33 @@ Single line install - read [the docs](https://docs.inventree.org/en/latest/start wget -qO install.sh https://get.inventree.org && bash install.sh ``` +Refer to the [getting started guide](https://docs.inventree.org/en/latest/start/install/) for a full set of installation and setup instructions. + + +## :iphone: Mobile App + +InvenTree is supported by a [companion mobile app](https://docs.inventree.org/en/latest/app/app/) which allows users access to stock control information and functionality. + + + ## :wave: Contributing -Contributions are welcomed and encouraged. Please help to make this project even better! -Refer to the [contribution page](CONTRIBUTING.md). +Contributions are welcomed and encouraged. Please help to make this project even better! Refer to the [contribution page](CONTRIBUTING.md). ## :scroll: Translation Native language translation of the InvenTree web application is [community contributed via crowdin](https://crowdin.com/project/inventree). **Contributions are welcomed and encouraged**. -To contribute to the translation effort, navigate to the [InvenTree crowdin project](https://crowdin.com/project/inventree), create a free account, and start making translations suggestions for your language of choice! - ## :money_with_wings: Sponsor -If you use InvenTree and find it to be useful, please consider making a donation toward its continued development. - -[Donate via PayPal](https://paypal.me/inventree?locale.x=en_AU) +If you use InvenTree and find it to be useful, please consider [sponsoring the project](https://github.com/sponsors/inventree). ## :gem: Acknowledgements From deffcc281486564ab4929c4b916659f0cccf7225 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 21 Jun 2023 22:35:25 +1000 Subject: [PATCH 040/103] Update FUNDING.yml (#5085) Fix paypal link --- .github/FUNDING.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index ce61faf945..ff3198174d 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,4 +1,4 @@ github: inventree ko_fi: inventree patreon: inventree -custom: ["https://paypal.me/inventree?locale.x=en_AU", paypal] +custom: [paypal.me/inventree] From 693d24b4b64bf247275be2875f90e7cdca0a7855 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 22 Jun 2023 10:29:14 +1000 Subject: [PATCH 041/103] Table filters refactor (#5086) - Fix a couple of bugs - Code cleanup --- InvenTree/templates/js/translated/build.js | 6 +----- InvenTree/templates/js/translated/filters.js | 9 ++++----- InvenTree/templates/js/translated/part.js | 18 ++++++------------ InvenTree/templates/js/translated/stock.js | 9 ++------- .../templates/js/translated/table_filters.js | 2 +- InvenTree/templates/js/translated/tables.js | 16 ++++------------ 6 files changed, 18 insertions(+), 42 deletions(-) diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 422250e7f1..626c233c08 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -1086,11 +1086,7 @@ function loadBuildOutputTable(build_info, options={}) { params.is_building = true; params.build = build_info.pk; - var filters = {}; - - for (var key in params) { - filters[key] = params[key]; - } + var filters = Object.assign({}, params); setupFilterList('builditems', $(table), options.filterTarget || '#filter-list-incompletebuilditems', { labels: { diff --git a/InvenTree/templates/js/translated/filters.js b/InvenTree/templates/js/translated/filters.js index 201591ac5e..51fcc265b6 100644 --- a/InvenTree/templates/js/translated/filters.js +++ b/InvenTree/templates/js/translated/filters.js @@ -74,8 +74,7 @@ function loadTableFilters(tableKey, query={}) { }); // Override configurable filters with hard-coded query - Object.assign(filters, query); - + filters = Object.assign(filters, query); return filters; } @@ -488,9 +487,9 @@ function setupFilterList(tableKey, table, target, options={}) { `); for (var key in filters) { - var value = getFilterOptionValue(tableKey, key, filters[key]); - var title = getFilterTitle(tableKey, key); - var description = getFilterDescription(tableKey, key); + let value = getFilterOptionValue(tableKey, key, filters[key]); + let title = getFilterTitle(tableKey, key); + let description = getFilterDescription(tableKey, key); var filter_tag = `
    diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 8c7df7a045..ebce845a7c 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -1895,11 +1895,7 @@ function loadRelatedPartsTable(table, part_id, options={}) { options.params.part = part_id; - var filters = {}; - - for (var key in options.params) { - filters[key] = options.params[key]; - } + var filters = Object.assign({}, options.params); setupFilterList('related', $(table), options.filterTarget); @@ -2242,8 +2238,6 @@ function loadPartTable(table, url, options={}) { // Ensure category detail is included options.params['category_detail'] = true; - var params = options.params || {}; - let filters = {}; if (!options.disableFilters) { @@ -2268,6 +2262,9 @@ function loadPartTable(table, url, options={}) { }); } + // Update fields with passed parameters + filters = Object.assign(filters, options.params); + var columns = [ { field: 'pk', @@ -2435,7 +2432,7 @@ function loadPartTable(table, url, options={}) { name: table_name, queryParams: filters, groupBy: false, - original: params, + original: options.params, sidePagination: 'server', pagination: 'true', formatNoMatches: function() { @@ -2781,10 +2778,7 @@ function loadPartTestTemplateTable(table, options) { setupFilterList('parttests', table, filterListElement); - // Override the default values, or add new ones - for (var key in params) { - filters[key] = params[key]; - } + filters = Object.assign(filters, params); table.inventreeTable({ method: 'get', diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index 95cef81533..1299ad81dd 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -1886,10 +1886,7 @@ function loadStockTable(table, options) { }); } - // Override the default values, or add new ones - for (var key in params) { - filters[key] = params[key]; - } + filters = Object.assign(filters, params); var col = null; @@ -2450,9 +2447,7 @@ function loadStockLocationTable(table, options) { plural_name: '{% trans "stock locations" %}', }); - for (var key in params) { - filters[key] = params[key]; - } + filters = Object.assign(filters, params); // Function to request sub-location items function requestSubItems(parent_pk) { diff --git a/InvenTree/templates/js/translated/table_filters.js b/InvenTree/templates/js/translated/table_filters.js index f52cd9dd5c..fba4ff52d1 100644 --- a/InvenTree/templates/js/translated/table_filters.js +++ b/InvenTree/templates/js/translated/table_filters.js @@ -471,7 +471,7 @@ function getBuildTableFilters() { async: false, success: function(response) { for (var key in response) { - var owner = response[key]; + let owner = response[key]; ownersList[owner.pk] = { key: owner.pk, value: `${owner.name} (${owner.label})`, diff --git a/InvenTree/templates/js/translated/tables.js b/InvenTree/templates/js/translated/tables.js index 1d68451f90..54b702690c 100644 --- a/InvenTree/templates/js/translated/tables.js +++ b/InvenTree/templates/js/translated/tables.js @@ -252,17 +252,11 @@ function reloadTableFilters(table, filters, options={}) { options = table.bootstrapTable('getOptions'); // Construct a new list of filters to use for the query - var params = {}; - - for (var k in filters) { - params[k] = filters[k]; - } + let params = Object.assign({}, filters); // Original query params will override - if (options.original != null) { - for (var key in options.original) { - params[key] = options.original[key]; - } + if (options.original) { + params = Object.assign(params, options.original); } // Store the total set of query params @@ -318,9 +312,7 @@ function convertQueryParameters(params, filters) { } - for (var key in filters) { - params[key] = filters[key]; - } + params = Object.assign(params, filters); // Add "order" back in (if it was originally specified by InvenTree) // Annoyingly, "order" shadows some field names in InvenTree... From 3b4e20b54a486846eafce78a2a382c5d42d51cd2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 23 Jun 2023 17:25:59 +1000 Subject: [PATCH 042/103] Unit Test Improvements (#5087) * Disable migration testing - Compare how long the unit tests take * Change file - To get unit tests to run * Fix format * Consolidate tasks.py - Remove coverage task - Add --coverage flag to test task * Fix typo * Run migration unit tests if migration files are updated * Fix * Touch migration file - Should cause migration unit tests to be run * Force migration checks for docker build * Prevent default report creation in unit tests - Should save some time * Add simple profiling for plugin loading - Display time taken to load each plugin * Fix to invoke test * Disable get_git_log (for testing) * Disable get_git_path in CI - Might remove this entirely? - For now, bypass for unit testing * Add debug for unit registry - Display time taken to load registry * Don't full-reload unit registry * Adjust migration test workflow - env var updates - change paths-filter output * Fix for migration_test.yaml - Actually need to set the output * env fix * db name * Prevent sleep if in test mode * Reduce sleep time on wait_for_db --- .github/workflows/docker.yaml | 1 + .github/workflows/migration_test.yaml | 55 ++++++++++++++++--- .github/workflows/qc_checks.yaml | 2 +- InvenTree/InvenTree/apps.py | 2 +- InvenTree/InvenTree/conversion.py | 11 ++++ .../management/commands/wait_for_db.py | 2 +- InvenTree/InvenTree/tasks.py | 4 +- .../common/migrations/0017_notesimage.py | 2 +- InvenTree/label/apps.py | 2 +- InvenTree/plugin/helpers.py | 40 ++++++++------ InvenTree/plugin/registry.py | 8 ++- InvenTree/plugin/test_api.py | 2 +- InvenTree/report/apps.py | 2 +- tasks.py | 52 ++++++++++-------- 14 files changed, 127 insertions(+), 58 deletions(-) diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 4e814cbcca..34e319e048 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -78,6 +78,7 @@ jobs: run: | echo "GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> docker.dev.env docker-compose run inventree-dev-server invoke test --disable-pty + docker-compose run inventree-dev-server invoke test --migrations --disable-pty docker-compose down - name: Set up QEMU if: github.event_name != 'pull_request' diff --git a/.github/workflows/migration_test.yaml b/.github/workflows/migration_test.yaml index 1b25d0dd07..6fa9431f2c 100644 --- a/.github/workflows/migration_test.yaml +++ b/.github/workflows/migration_test.yaml @@ -16,11 +16,11 @@ on: env: python_version: 3.9 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - INVENTREE_DB_ENGINE: sqlite3 - INVENTREE_DB_NAME: /home/runner/work/InvenTree/db.sqlite3 INVENTREE_MEDIA_ROOT: ../test_inventree_media INVENTREE_STATIC_ROOT: ../test_inventree_static INVENTREE_BACKUP_DIR: ../test_inventree_backup + INVENTREE_DEBUG: info + INVENTREE_PLUGINS_ENABLED: false jobs: paths-filter: @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-latest outputs: - server: ${{ steps.filter.outputs.server }} + migrations: ${{ steps.filter.outputs.migrations }} steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0 @@ -36,17 +36,54 @@ jobs: id: filter with: filters: | - server: - - 'InvenTree/**' - - 'requirements.txt' - - 'requirements-dev.txt' - - '.github/**' + migrations: + - '**/migrations/**' + - '.github/workflows**' + + migration-tests: + name: Run Migration Unit Tests + runs-on: ubuntu-latest + needs: paths-filter + if: needs.paths-filter.outputs.migrations == 'true' + + env: + INVENTREE_DB_ENGINE: django.db.backends.postgresql + INVENTREE_DB_NAME: inventree + INVENTREE_DB_USER: inventree + INVENTREE_DB_PASSWORD: password + INVENTREE_DB_HOST: '127.0.0.1' + INVENTREE_DB_PORT: 5432 + + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: inventree + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + + steps: + - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0 + - name: Environment Setup + uses: ./.github/actions/setup + with: + apt-dependency: gettext poppler-utils libpq-dev + pip-dependency: psycopg2 + dev-install: true + update: true + - name: Run Tests + run: invoke test --migrations --report migrations-checks: name: Run Database Migrations runs-on: ubuntu-latest needs: paths-filter - if: needs.paths-filter.outputs.server == 'true' + if: needs.paths-filter.outputs.migrations == 'true' + + env: + INVENTREE_DB_ENGINE: sqlite3 + INVENTREE_DB_NAME: /home/runner/work/InvenTree/db.sqlite3 steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml index c89cf7a8f2..439fcf59c0 100644 --- a/.github/workflows/qc_checks.yaml +++ b/.github/workflows/qc_checks.yaml @@ -204,7 +204,7 @@ jobs: - name: Check Migration Files run: python3 ci/check_migration_files.py - name: Coverage Tests - run: invoke coverage + run: invoke test --coverage - name: Upload Coverage Report uses: coverallsapp/github-action@v2 with: diff --git a/InvenTree/InvenTree/apps.py b/InvenTree/InvenTree/apps.py index 4d2705be50..8a286a5982 100644 --- a/InvenTree/InvenTree/apps.py +++ b/InvenTree/InvenTree/apps.py @@ -48,7 +48,7 @@ class InvenTreeConfig(AppConfig): self.collect_notification_methods() # Ensure the unit registry is loaded - InvenTree.conversion.reload_unit_registry() + InvenTree.conversion.get_unit_registry() if canAppAccessDatabase() or settings.TESTING_ENV: self.add_user_on_startup() diff --git a/InvenTree/InvenTree/conversion.py b/InvenTree/InvenTree/conversion.py index e2d114c728..8637ae382b 100644 --- a/InvenTree/InvenTree/conversion.py +++ b/InvenTree/InvenTree/conversion.py @@ -1,5 +1,7 @@ """Helper functions for converting between units.""" +import logging + from django.core.exceptions import ValidationError from django.utils.translation import gettext_lazy as _ @@ -8,6 +10,9 @@ import pint _unit_registry = None +logger = logging.getLogger('inventree') + + def get_unit_registry(): """Return a custom instance of the Pint UnitRegistry.""" @@ -26,6 +31,9 @@ def reload_unit_registry(): This function is called at startup, and whenever the database is updated. """ + import time + t_start = time.time() + global _unit_registry _unit_registry = pint.UnitRegistry() @@ -39,6 +47,9 @@ def reload_unit_registry(): # TODO: Allow for custom units to be defined in the database + dt = time.time() - t_start + logger.debug(f'Loaded unit registry in {dt:.3f}s') + def convert_physical_value(value: str, unit: str = None): """Validate that the provided value is a valid physical quantity. diff --git a/InvenTree/InvenTree/management/commands/wait_for_db.py b/InvenTree/InvenTree/management/commands/wait_for_db.py index 00590ef602..3bcd2f5ffd 100644 --- a/InvenTree/InvenTree/management/commands/wait_for_db.py +++ b/InvenTree/InvenTree/management/commands/wait_for_db.py @@ -18,7 +18,7 @@ class Command(BaseCommand): while not connected: - time.sleep(5) + time.sleep(2) try: connection.ensure_connection() diff --git a/InvenTree/InvenTree/tasks.py b/InvenTree/InvenTree/tasks.py index 6c813731f0..9c57a881c9 100644 --- a/InvenTree/InvenTree/tasks.py +++ b/InvenTree/InvenTree/tasks.py @@ -91,13 +91,15 @@ def check_daily_holdoff(task_name: str, n_days: int = 1) -> bool: """ from common.models import InvenTreeSetting + from InvenTree.ready import isInTestMode if n_days <= 0: logger.info(f"Specified interval for task '{task_name}' < 1 - task will not run") return False # Sleep a random number of seconds to prevent worker conflict - time.sleep(random.randint(1, 5)) + if not isInTestMode(): + time.sleep(random.randint(1, 5)) attempt_key = f'_{task_name}_ATTEMPT' success_key = f'_{task_name}_SUCCESS' diff --git a/InvenTree/common/migrations/0017_notesimage.py b/InvenTree/common/migrations/0017_notesimage.py index c9e08af461..8c9aff2f6d 100644 --- a/InvenTree/common/migrations/0017_notesimage.py +++ b/InvenTree/common/migrations/0017_notesimage.py @@ -1,4 +1,4 @@ -# Generated by Django 3.2.18 on 2023-04-17 05:54 +# Generated by Django 3.2.18 on 2023-04-17 05:55 from django.conf import settings from django.db import migrations, models diff --git a/InvenTree/label/apps.py b/InvenTree/label/apps.py index 34dd190ad9..0d6aa0f8b0 100644 --- a/InvenTree/label/apps.py +++ b/InvenTree/label/apps.py @@ -35,7 +35,7 @@ class LabelConfig(AppConfig): def ready(self): """This function is called whenever the label app is loaded.""" - if canAppAccessDatabase(): + if canAppAccessDatabase(allow_test=False): try: self.create_labels() # pragma: no cover diff --git a/InvenTree/plugin/helpers.py b/InvenTree/plugin/helpers.py index d616273d74..df00d1d37d 100644 --- a/InvenTree/plugin/helpers.py +++ b/InvenTree/plugin/helpers.py @@ -1,6 +1,5 @@ """Helpers for plugin app.""" -import datetime import inspect import logging import pathlib @@ -14,8 +13,6 @@ from django.conf import settings from django.core.exceptions import AppRegistryNotReady from django.db.utils import IntegrityError -from dulwich.repo import NotGitRepository, Repo - logger = logging.getLogger('inventree') @@ -112,25 +109,34 @@ def get_entrypoints(): def get_git_log(path): """Get dict with info of the last commit to file named in path.""" + import datetime + + from dulwich.repo import NotGitRepository, Repo + + from InvenTree.ready import isInTestMode + output = None path = path.replace(str(settings.BASE_DIR.parent), '')[1:] - try: - walker = Repo.discover(path).get_walker(paths=[path.encode()], max_entries=1) + # only do this if we are not in test mode + if not isInTestMode(): # pragma: no cover + try: - commit = next(iter(walker)).commit - except StopIteration: + walker = Repo.discover(path).get_walker(paths=[path.encode()], max_entries=1) + try: + commit = next(iter(walker)).commit + except StopIteration: + pass + else: + output = [ + commit.sha().hexdigest(), + commit.author.decode().split('<')[0][:-1], + commit.author.decode().split('<')[1][:-1], + datetime.datetime.fromtimestamp(commit.author_time, ).isoformat(), + commit.message.decode().split('\n')[0], + ] + except NotGitRepository: pass - else: - output = [ - commit.sha().hexdigest(), - commit.author.decode().split('<')[0][:-1], - commit.author.decode().split('<')[1][:-1], - datetime.datetime.fromtimestamp(commit.author_time, ).isoformat(), - commit.message.decode().split('\n')[0], - ] - except NotGitRepository: - pass if not output: output = 5 * [''] # pragma: no cover diff --git a/InvenTree/plugin/registry.py b/InvenTree/plugin/registry.py index 18f22559eb..6f37c7d720 100644 --- a/InvenTree/plugin/registry.py +++ b/InvenTree/plugin/registry.py @@ -9,6 +9,7 @@ import importlib import logging import os import subprocess +import time from pathlib import Path from typing import Dict, List, OrderedDict @@ -439,13 +440,16 @@ class PluginsRegistry: continue # continue -> the plugin is not loaded # Initialize package - we can be sure that an admin has activated the plugin - logger.info(f'Loading plugin `{plg_name}`') + logger.debug(f'Loading plugin `{plg_name}`') try: + t_start = time.time() plg_i: InvenTreePlugin = plg() - logger.debug(f'Loaded plugin `{plg_name}`') + dt = time.time() - t_start + logger.info(f'Loaded plugin `{plg_name}` in {dt:.3f}s') except Exception as error: handle_error(error, log_name='init') # log error and raise it -> disable plugin + logger.warning(f"Plugin `{plg_name}` could not be loaded") # Safe extra attributes plg_i.is_package = getattr(plg_i, 'is_package', False) diff --git a/InvenTree/plugin/test_api.py b/InvenTree/plugin/test_api.py index bb4d5b3290..d181cb487d 100644 --- a/InvenTree/plugin/test_api.py +++ b/InvenTree/plugin/test_api.py @@ -10,7 +10,7 @@ from plugin.models import PluginConfig class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): - """Tests the plugin API endpoints.""" + """Tests the plugin API endpoints""" roles = [ 'admin.add', diff --git a/InvenTree/report/apps.py b/InvenTree/report/apps.py index 5118333922..e5eec5e736 100644 --- a/InvenTree/report/apps.py +++ b/InvenTree/report/apps.py @@ -25,7 +25,7 @@ class ReportConfig(AppConfig): logging.getLogger('weasyprint').setLevel(logging.WARNING) # Create entries for default report templates - if canAppAccessDatabase(allow_test=True): + if canAppAccessDatabase(allow_test=False): self.create_default_test_reports() self.create_default_build_reports() self.create_default_bill_of_materials_reports() diff --git a/tasks.py b/tasks.py index c2b9186fa1..204391428e 100644 --- a/tasks.py +++ b/tasks.py @@ -565,9 +565,12 @@ def test_translations(c): help={ 'disable_pty': 'Disable PTY', 'runtest': 'Specify which tests to run, in format ...', + 'migrations': 'Run migration unit tests', + 'report': 'Display a report of slow tests', + 'coverage': 'Run code coverage analysis (requires coverage package)', } ) -def test(c, disable_pty=False, runtest=''): +def test(c, disable_pty=False, runtest='', migrations=False, report=False, coverage=False): """Run unit-tests for InvenTree codebase. To run only certain test, use the argument --runtest. @@ -583,8 +586,32 @@ def test(c, disable_pty=False, runtest=''): pty = not disable_pty - # Run coverage tests - manage(c, f'test --slowreport {runtest}', pty=pty) + _apps = ' '.join(apps()) + + cmd = 'test' + + if runtest: + # Specific tests to run + cmd += f' {runtest}' + else: + # Run all tests + cmd += f' {_apps}' + + if report: + cmd += ' --slowreport' + + if migrations: + cmd += ' --tag migration_test' + else: + cmd += ' --exclude-tag migration_test' + + if coverage: + # Run tests within coverage environment, and generate report + c.run(f'coverage run {managePyPath()} {cmd}') + c.run('coverage html -i') + else: + # Run simple test runner, without coverage + manage(c, cmd, pty=pty) @task(help={'dev': 'Set up development environment at the end'}) @@ -629,25 +656,6 @@ def setup_test(c, ignore_update=False, dev=False, path="inventree-demo-dataset") setup_dev(c) -@task -def coverage(c): - """Run code-coverage of the InvenTree codebase, using the 'coverage' code-analysis tools. - - Generates a code coverage report (available in the htmlcov directory) - """ - # Run sanity check on the django install - manage(c, 'check') - - # Run coverage tests - c.run('coverage run {manage} test {apps}'.format( - manage=managePyPath(), - apps=' '.join(apps()) - )) - - # Generate coverage report - c.run('coverage html -i') - - @task(help={ 'filename': "Output filename (default = 'schema.yml')", 'overwrite': "Overwrite existing files without asking first (default = off/False)", From 198245d0d27fc32b95f3b9caf3a41822969780fd Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 23 Jun 2023 20:21:26 +1000 Subject: [PATCH 043/103] Pin mysqlclient lib for docker (#5091) - Recent updates have caused breakage --- docker/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/requirements.txt b/docker/requirements.txt index 97adfeea6d..b0651f255b 100644 --- a/docker/requirements.txt +++ b/docker/requirements.txt @@ -8,7 +8,7 @@ wheel>=0.37.0 # Database links psycopg2>=2.9.1 -mysqlclient>=2.0.3 +mysqlclient>=2.0.3,<=2.1.1 pgcli>=3.1.0 mariadb>=1.0.7,<1.1.0 From 603aef5da9fbe51eef56f95ea21e5cac7b0ee259 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 23 Jun 2023 21:30:51 +1000 Subject: [PATCH 044/103] Catch Part.DoesNotExist (#5092) - Can be thrown when importing Part instances - Fixes https://github.com/inventree/InvenTree/issues/5090 --- InvenTree/part/models.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 51f0b4d460..fc1cc2e451 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -455,17 +455,20 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) """ if self.pk: - previous = Part.objects.get(pk=self.pk) + try: + previous = Part.objects.get(pk=self.pk) - # Image has been changed - if previous.image is not None and self.image != previous.image: + # Image has been changed + 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() + # Are there any (other) parts which reference the image? + n_refs = Part.objects.filter(image=previous.image).exclude(pk=self.pk).count() - if n_refs == 0: - logger.info(f"Deleting unused image file '{previous.image}'") - previous.image.delete(save=False) + if n_refs == 0: + logger.info(f"Deleting unused image file '{previous.image}'") + previous.image.delete(save=False) + except Part.DoesNotExist: + pass self.full_clean() From fab738cd752ebe7bbe509a9c6b071dc69b6a2d79 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 23 Jun 2023 23:55:52 +1000 Subject: [PATCH 045/103] Scheduling api fix (#5093) * Fix query for part scheduling API * Add unit test for scheduling endpoint * Remove length check --- InvenTree/part/api.py | 4 ++-- InvenTree/part/test_api.py | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index a66308f161..b225fb3c8e 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -597,8 +597,8 @@ class PartScheduling(RetrieveAPI): # Grab all allocations against the specified BomItem allocations = BuildItem.objects.filter( - bom_item=bom_item, - build=build, + build_line__bom_item=bom_item, + build_line__build=build, ) # Total allocated for *this* part diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index 5837493f2a..e39b86365d 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -536,6 +536,7 @@ class PartAPITestBase(InvenTreeAPITestCase): 'part', 'location', 'bom', + 'build', 'company', 'test_templates', 'manufacturer_part', @@ -3056,3 +3057,22 @@ class PartMetadataAPITest(InvenTreeAPITestCase): 'api-bom-item-metadata': BomItem, }.items(): self.metatester(apikey, model) + + +class PartSchedulingTest(PartAPITestBase): + """Unit tests for the 'part scheduling' API endpoint""" + + def test_get_schedule(self): + """Test that the scheduling endpoint returns OK""" + + part_ids = [ + 1, 3, 100, 101, + ] + + for pk in part_ids: + url = reverse('api-part-scheduling', kwargs={'pk': pk}) + data = self.get(url, expected_code=200).data + + for entry in data: + for k in ['date', 'quantity', 'label']: + self.assertIn(k, entry) From 24b554a8d24c6870c3f1386644e97d921a068c68 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 24 Jun 2023 01:04:11 +1000 Subject: [PATCH 046/103] PartParameter API improvements (#5094) * PartParameter: Include template_detail by default * PartParameter API updates - Allow sorting by template name - Refactor with mixin class * Bug fixes * Bump API version --- InvenTree/InvenTree/api_version.py | 5 ++++- InvenTree/part/api.py | 35 +++++++++++++++++++----------- InvenTree/part/serializers.py | 2 +- 3 files changed, 27 insertions(+), 15 deletions(-) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 92ee99fdde..1114f982d3 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 126 +INVENTREE_API_VERSION = 127 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v127 -> 2023-06-24 : https://github.com/inventree/InvenTree/pull/5094 + - Enhancements for the PartParameter API endpoints + v126 -> 2023-06-19 : https://github.com/inventree/InvenTree/pull/5075 - Adds API endpoint for setting the "category" for multiple parts simultaneously diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index b225fb3c8e..20878fae13 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -1461,13 +1461,8 @@ class PartParameterTemplateDetail(RetrieveUpdateDestroyAPI): serializer_class = part_serializers.PartParameterTemplateSerializer -class PartParameterList(ListCreateAPI): - """API endpoint for accessing a list of PartParameter objects. - - - GET: Return list of PartParameter objects - - POST: Create a new PartParameter object - """ - +class PartParameterAPIMixin: + """Mixin class for PartParameter API endpoints.""" queryset = PartParameter.objects.all() serializer_class = part_serializers.PartParameterSerializer @@ -1485,21 +1480,35 @@ class PartParameterList(ListCreateAPI): return self.serializer_class(*args, **kwargs) - filter_backends = [ - DjangoFilterBackend + +class PartParameterList(PartParameterAPIMixin, ListCreateAPI): + """API endpoint for accessing a list of PartParameter objects. + + - GET: Return list of PartParameter objects + - POST: Create a new PartParameter object + """ + + filter_backends = SEARCH_ORDER_FILTER_ALIAS + + ordering_fields = [ + 'name', + 'data', ] + ordering_field_aliases = { + 'name': 'template__name', + 'data': ['data_numeric', 'data'], + } + filterset_fields = [ 'part', 'template', ] -class PartParameterDetail(RetrieveUpdateDestroyAPI): +class PartParameterDetail(PartParameterAPIMixin, RetrieveUpdateDestroyAPI): """API endpoint for detail view of a single PartParameter object.""" - - queryset = PartParameter.objects.all() - serializer_class = part_serializers.PartParameterSerializer + pass class PartStocktakeFilter(rest_filters.FilterSet): diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index e43cf46247..ef4f181021 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -242,7 +242,7 @@ class PartParameterSerializer(InvenTree.serializers.InvenTreeModelSerializer): Allows us to optionally include or exclude particular information """ - template_detail = kwargs.pop('template_detail', False) + template_detail = kwargs.pop('template_detail', True) super().__init__(*args, **kwargs) From a5c8d865307500ad8effc50af9c86365cd6aefb6 Mon Sep 17 00:00:00 2001 From: Lavissa Date: Sat, 24 Jun 2023 00:40:36 +0200 Subject: [PATCH 047/103] Synergise label filter help texts (#5100) * Synergise label filter help texts * Fix QR code alt text * Change label alt text from QC or QR --- .../migrations/0011_auto_20230623_2158.py | 29 +++++++++++++++++++ InvenTree/label/models.py | 6 ++-- .../templates/label/part/part_label.html | 2 +- .../label/templates/label/stockitem/qr.html | 2 +- .../templates/label/stocklocation/qr.html | 2 +- InvenTree/templates/allauth_2fa/setup.html | 2 +- 6 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 InvenTree/label/migrations/0011_auto_20230623_2158.py diff --git a/InvenTree/label/migrations/0011_auto_20230623_2158.py b/InvenTree/label/migrations/0011_auto_20230623_2158.py new file mode 100644 index 0000000000..764925fc07 --- /dev/null +++ b/InvenTree/label/migrations/0011_auto_20230623_2158.py @@ -0,0 +1,29 @@ +# Generated by Django 3.2.19 on 2023-06-23 21:58 + +from django.db import migrations, models +import label.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('label', '0010_buildlinelabel'), + ] + + operations = [ + migrations.AlterField( + model_name='partlabel', + name='filters', + field=models.CharField(blank=True, help_text='Query filters (comma-separated list of key=value pairs)', max_length=250, validators=[label.models.validate_part_filters], verbose_name='Filters'), + ), + migrations.AlterField( + model_name='stockitemlabel', + name='filters', + field=models.CharField(blank=True, help_text='Query filters (comma-separated list of key=value pairs)', max_length=250, validators=[label.models.validate_stock_item_filters], verbose_name='Filters'), + ), + migrations.AlterField( + model_name='stocklocationlabel', + name='filters', + field=models.CharField(blank=True, help_text='Query filters (comma-separated list of key=value pairs)', max_length=250, validators=[label.models.validate_stock_location_filters], verbose_name='Filters'), + ), + ] diff --git a/InvenTree/label/models.py b/InvenTree/label/models.py index 91b503a055..926fdf5e42 100644 --- a/InvenTree/label/models.py +++ b/InvenTree/label/models.py @@ -247,7 +247,7 @@ class StockItemLabel(LabelTemplate): filters = models.CharField( blank=True, max_length=250, - help_text=_('Query filters (comma-separated list of key=value pairs),'), + help_text=_('Query filters (comma-separated list of key=value pairs)'), verbose_name=_('Filters'), validators=[ validate_stock_item_filters @@ -288,7 +288,7 @@ class StockLocationLabel(LabelTemplate): filters = models.CharField( blank=True, max_length=250, - help_text=_('Query filters (comma-separated list of key=value pairs'), + help_text=_('Query filters (comma-separated list of key=value pairs)'), verbose_name=_('Filters'), validators=[ validate_stock_location_filters] @@ -316,7 +316,7 @@ class PartLabel(LabelTemplate): filters = models.CharField( blank=True, max_length=250, - help_text=_('Part query filters (comma-separated value of key=value pairs)'), + help_text=_('Query filters (comma-separated list of key=value pairs)'), verbose_name=_('Filters'), validators=[ validate_part_filters diff --git a/InvenTree/label/templates/label/part/part_label.html b/InvenTree/label/templates/label/part/part_label.html index ef4af6be41..45f1d569f5 100644 --- a/InvenTree/label/templates/label/part/part_label.html +++ b/InvenTree/label/templates/label/part/part_label.html @@ -28,7 +28,7 @@ {% block content %} -{% trans 'QC Code' %} +{% trans 'QR Code' %}
    {{ part.full_name }} diff --git a/InvenTree/label/templates/label/stockitem/qr.html b/InvenTree/label/templates/label/stockitem/qr.html index 3a67a7793d..2208dd53c3 100644 --- a/InvenTree/label/templates/label/stockitem/qr.html +++ b/InvenTree/label/templates/label/stockitem/qr.html @@ -18,5 +18,5 @@ {% block content %} -{% trans 'QC Code' %} +{% trans 'QR Code' %} {% endblock content %} diff --git a/InvenTree/label/templates/label/stocklocation/qr.html b/InvenTree/label/templates/label/stocklocation/qr.html index 3a67a7793d..2208dd53c3 100644 --- a/InvenTree/label/templates/label/stocklocation/qr.html +++ b/InvenTree/label/templates/label/stocklocation/qr.html @@ -18,5 +18,5 @@ {% block content %} -{% trans 'QC Code' %} +{% trans 'QR Code' %} {% endblock content %} diff --git a/InvenTree/templates/allauth_2fa/setup.html b/InvenTree/templates/allauth_2fa/setup.html index 556313af85..704757a374 100644 --- a/InvenTree/templates/allauth_2fa/setup.html +++ b/InvenTree/templates/allauth_2fa/setup.html @@ -15,7 +15,7 @@

    -{% trans 'QC Code' %} +{% trans 'QR Code' %}

    From 5dfc389c06a3fad89f2ace5e9f84986a00fd00e4 Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 24 Jun 2023 14:36:29 +1000 Subject: [PATCH 048/103] New Crowdin updates (#5083) * 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 * 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 | 566 +- InvenTree/locale/da/LC_MESSAGES/django.po | 566 +- InvenTree/locale/de/LC_MESSAGES/django.po | 566 +- InvenTree/locale/el/LC_MESSAGES/django.po | 566 +- InvenTree/locale/en/LC_MESSAGES/django.po | 5227 ++++++++-------- InvenTree/locale/es/LC_MESSAGES/django.po | 566 +- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 5227 ++++++++-------- InvenTree/locale/fa/LC_MESSAGES/django.po | 566 +- InvenTree/locale/fi/LC_MESSAGES/django.po | 566 +- InvenTree/locale/fr/LC_MESSAGES/django.po | 566 +- InvenTree/locale/he/LC_MESSAGES/django.po | 566 +- InvenTree/locale/hu/LC_MESSAGES/django.po | 566 +- InvenTree/locale/id/LC_MESSAGES/django.po | 566 +- InvenTree/locale/it/LC_MESSAGES/django.po | 566 +- InvenTree/locale/ja/LC_MESSAGES/django.po | 566 +- InvenTree/locale/ko/LC_MESSAGES/django.po | 566 +- InvenTree/locale/nl/LC_MESSAGES/django.po | 566 +- InvenTree/locale/no/LC_MESSAGES/django.po | 566 +- InvenTree/locale/pl/LC_MESSAGES/django.po | 566 +- InvenTree/locale/pt/LC_MESSAGES/django.po | 668 +- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 5227 ++++++++-------- InvenTree/locale/ru/LC_MESSAGES/django.po | 566 +- InvenTree/locale/sl/LC_MESSAGES/django.po | 566 +- InvenTree/locale/sv/LC_MESSAGES/django.po | 566 +- InvenTree/locale/th/LC_MESSAGES/django.po | 566 +- InvenTree/locale/tr/LC_MESSAGES/django.po | 566 +- InvenTree/locale/vi/LC_MESSAGES/django.po | 566 +- InvenTree/locale/zh/LC_MESSAGES/django.po | 566 +- .../locale/zh_Hans/LC_MESSAGES/django.po | 5404 +++++++++-------- 29 files changed, 18005 insertions(+), 17332 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 94d683b522..2071aa0ae1 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:41\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -25,19 +25,19 @@ msgstr "API endpoint nebyl nalezen" msgid "User does not have permission to view this model" msgstr "Uživatel nemá právo zobrazit tento model" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "Není k dispozici žádná hodnota" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "Zadaná hodnota není platné číslo" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "Zadaná hodnota má neplatnou jednotku" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "Zadaná hodnota nemohla být převedena na danou jednotku" @@ -68,7 +68,7 @@ msgstr "Zadejte datum" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Poznámky" @@ -259,7 +259,7 @@ msgstr "Vyberte soubor k přiložení" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Komentář k souboru" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Uživatel" @@ -342,7 +342,7 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Název" @@ -363,20 +363,20 @@ msgstr "Název" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Popis" @@ -389,7 +389,7 @@ msgid "parent" msgstr "nadřazený" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Cesta" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Vytvořit objednávku" @@ -908,7 +908,7 @@ msgstr "Vytvořit objednávku" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Referenční číslo objednávky" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Díl" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Prodejní příkaz, kterému je tato verze přidělena" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Umístění lokace" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Datum dokončení" @@ -1089,7 +1089,7 @@ msgstr "Datum dokončení" msgid "completed by" msgstr "dokončil" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Vystavil" @@ -1104,7 +1104,7 @@ msgstr "Uživatel, který vydal tento příkaz k sestavení" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Priorita tohoto příkazu k sestavení" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "Hodnota parametru" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Jednotky" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "Smazat obrázek" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Zákazník" @@ -4013,7 +4013,7 @@ msgstr "Dodavatelský sklad" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Sestavení" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "Domovská stránka" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Vybrané díly" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Objednávka dílů" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 5dd5106846..7a27be606b 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:41\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -25,19 +25,19 @@ msgstr "API endpoint ikke fundet" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Angiv dato" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Bemærkninger" @@ -259,7 +259,7 @@ msgstr "Vælg fil, der skal vedhæftes" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Fil kommentar" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Bruger" @@ -342,7 +342,7 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Navn" @@ -363,20 +363,20 @@ msgstr "Navn" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Beskrivelse" @@ -389,7 +389,7 @@ msgid "parent" msgstr "overordnet" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Sti" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Produktionsordre" @@ -908,7 +908,7 @@ msgstr "Produktionsordre" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Produktionsordre reference" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Del" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Salgsordre, som er tildelt denne produktion" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Kilde Lokation" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Dato for afslutning" @@ -1089,7 +1089,7 @@ msgstr "Dato for afslutning" msgid "completed by" msgstr "udført af" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Udstedt af" @@ -1104,7 +1104,7 @@ msgstr "Bruger som udstedte denne byggeordre" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Prioritet af denne byggeordre" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index d7dc473398..075d292598 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:41\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -25,19 +25,19 @@ msgstr "API-Endpunkt nicht gefunden" msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "Kein Wert angegeben" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "Angegebener Wert ist keine gültige Zahl" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "Angegebener Wert hat eine ungültige Einheit" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "Angegebener Wert konnte nicht in die angegebene Einheit umgewandelt werden" @@ -68,7 +68,7 @@ msgstr "Datum eingeben" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Notizen" @@ -259,7 +259,7 @@ msgstr "Datei zum Anhängen auswählen" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Datei-Kommentar" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Benutzer" @@ -342,7 +342,7 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Name" @@ -363,20 +363,20 @@ msgstr "Name" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Beschreibung" @@ -389,7 +389,7 @@ msgid "parent" msgstr "Eltern" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Pfad" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "Verbrauchsmaterial" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "Optional" msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "Zugeordnet" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Bauauftrag" @@ -908,7 +908,7 @@ msgstr "Bauauftrag" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Bauauftragsreferenz" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Teil" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Quell-Lagerort" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -1089,7 +1089,7 @@ msgstr "Fertigstellungsdatum" msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Aufgegeben von" @@ -1104,7 +1104,7 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Priorität dieses Bauauftrags" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Anzahl" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Lagerartikel" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Ziel-Lagerartikel" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Endprodukt" @@ -1360,7 +1360,7 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Lagerort" @@ -1397,13 +1397,13 @@ msgstr "Lagerort für fertige Endprodukte" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Status" @@ -1589,7 +1589,7 @@ msgstr "Miniaturansicht" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Barcode Aktionen" @@ -1694,7 +1694,7 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "Fertiggestellte Endprodukte" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Auftrag" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Aufgegeben von" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "Priorität" @@ -1792,11 +1792,11 @@ msgstr "Zugewiesene Teile" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Losnummer" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Erstellt" @@ -3720,7 +3720,7 @@ msgstr "Parameterwert" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Einheiten" @@ -3805,7 +3805,7 @@ msgstr "Mindestpreis" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Verpackungen" @@ -3838,7 +3838,7 @@ msgstr "Mehrere bestellen" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "Bild löschen" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Kunde" @@ -4013,7 +4013,7 @@ msgstr "Zulieferer-Bestand" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Neue Bestellung" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -4283,7 +4283,7 @@ msgstr "Teilverfügbarkeit aktualisieren" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Lagerartikel" @@ -4423,7 +4423,7 @@ msgstr "Keine passende Bestellung gefunden" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Bestellung" @@ -4432,7 +4432,7 @@ msgstr "Bestellung" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "Empfangene Objekt-Anzahl" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Preis" @@ -5134,7 +5134,7 @@ msgstr "Auswahl duplizieren" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "Auftrags-Positionen" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "Ausstehende Sendungen" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Aktionen" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "Beschreibung des Teils" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN (Interne Produktnummer)" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Version" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "Auf Lager" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "Bestellt" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "Benutzt in" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "Im Bau" @@ -5457,7 +5457,7 @@ msgstr "Pfad zur Kategorie" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Teile" @@ -5549,7 +5549,7 @@ msgstr "Teil-Kategorien" msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Kategorie" @@ -5736,7 +5736,7 @@ msgstr "Benutzer, der für diesen Teil verantwortlich ist" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Letzte Inventur" @@ -5892,7 +5892,7 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Datum" @@ -5952,7 +5952,7 @@ msgstr "Test-Vorlagen können nur für verfolgbare Teile angelegt werden" 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:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Test-Name" @@ -5968,7 +5968,7 @@ msgstr "Test-Beschreibung" msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Benötigt" @@ -5977,7 +5977,7 @@ msgstr "Benötigt" msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Erfordert Wert" @@ -5985,7 +5985,7 @@ msgstr "Erfordert Wert" 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:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "Terminierungsdaten aktualisieren" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Neu laden" @@ -6603,7 +6603,7 @@ msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "Inventur" @@ -6790,7 +6790,7 @@ msgstr "Bestand zählen" msgid "Transfer part stock" msgstr "Teilbestand verschieben" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "Teile Aktionen" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "Minimaler Bestand" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "Teil-QR-Code" msgid "Link Barcode to Part" msgstr "Barcode mit Teil verknüpfen" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "Varianten" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -7002,7 +7002,7 @@ msgstr "Preis aktualisieren" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "Verkaufspreisstaffel hinzufügen" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "Kein Bestand" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "niedriger Bestand" @@ -7281,17 +7281,17 @@ msgstr "Methode" msgid "No author found" msgstr "Kein Autor gefunden" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "Summe" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "Seriennummer" @@ -7628,7 +7628,7 @@ msgstr "Löschen wenn leer" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -7681,7 +7681,7 @@ msgstr "Besitzer auswählen" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Extern" @@ -8087,7 +8087,7 @@ msgstr "Lagerartikel-Notizen" msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "Lagerartikel installieren" @@ -8109,7 +8109,7 @@ msgstr "zu Lagerort einscannen" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "Druck Aktionen" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "Lagerartikel löschen" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Bauauftrag" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "Verfügbare Menge" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "Kein Lagerort gesetzt" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "Neuer Lagerort" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "Index" msgid "Subscribed Parts" msgstr "Abonnierte Teile" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "Abonnierte Kategorien" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "neueste Teile" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "Stücklisten erwarten Kontrolle" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "kürzlich aktualisiert" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "Verbrauchter Bestand" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "Für Bauaufträge benötigt" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "abgelaufener Bestand" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "Bestand überfällig" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "laufende Bauaufträge" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "überfällige Bauaufträge" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "ausstehende Bestellungen" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "überfällige Bestellungen" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "ausstehende Aufträge" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "überfällige Aufträge" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "InvenTree Neuigkeiten" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "Aktuelle Neuigkeiten" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "Startseite" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ 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:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "Mindestmenge" @@ -9865,7 +9865,7 @@ msgstr "Stückliste für Bauteile laden" msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "Varianten erlaubt" @@ -9885,25 +9885,25 @@ msgstr "Stücklisten-Bepreisung ist unvollständig" msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "Beinhaltet Variante und Ersatzbestand" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Beinhaltet Variantenbestand" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "Enthält Ersatzbestand" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "Verbrauchsartikel" @@ -9935,7 +9935,7 @@ msgstr "Stückliste anzeigen" msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "benötigtes Teil" @@ -10104,7 +10104,7 @@ msgstr "Endprodukte entfernen" msgid "No build order allocations found" msgstr "Keine Allokationen für Bauauftrag gefunden" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "Endprodukte löschen" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "Keine aktiven Endprodukte gefunden" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Teile auswählen" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens ein Teil auswählen" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "Alle Teile zugeordnet" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "Lagerartikel für Bauauftrag zuweisen" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "Keine passenden Lagerbestände" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "Automatische Lagerzuordnung" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Lagerartikel werden automatisch diesem Bauauftrag zugewiesen, entsprechend den angegebenen Richtlinien" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Wenn ein Lagerort angegeben ist, wird der Lagerbestand nur von diesem Ort zugewiesen" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Wenn der Lagerbestand als austauschbar gilt, wird er vom ersten Standort zugewiesen, an dem er gefunden wird" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Wenn ein Ersatzbestand erlaubt ist, wird es dort verwendet, wo kein Vorrat des Primärteils gefunden werden kann" -#: templates/js/translated/build.js:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "Lagerartikel zuordnen" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "Auswählen" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "Fortschritt" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "Gruppe" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "Zuordnung bearbeiten" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "Zuordnung entfernen" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "Ausreichender Bestand verfügbar" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "Bestand bauen" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "Bestand zuweisen" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "Parameter löschen" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Teile bestellen" @@ -10557,45 +10557,45 @@ msgstr "Preisstaffel bearbeiten" msgid "Delete price break" msgstr "Preisstaffel löschen" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "ja" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "nein" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "Filter auswählen" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "Filter hinzufügen" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "Filter entfernen" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "Filter anlegen" @@ -11091,117 +11091,117 @@ msgstr "Diese Position ist überfällig" msgid "Receive line item" msgstr "Position empfangen" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "Teile-Beziehung löschen" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "Legen Sie die Teilkategorie für die ausgewählten Teile fest" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "Teil-Kategorie auswählen" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Teil-Kategorie auswählen" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "Listenansicht" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "Rasteransicht" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "Baumansicht" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "Unterkategorien laden" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "Abonnierte Kategorie" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "Kein Datum angegeben" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "Das angegebene Datum liegt in der Vergangenheit" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "Spekulativ" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "Keine Zeitplanung für dieses Teil vorhanden" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "Geplante Lagermengen" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "Maximale Anzahl" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "Minimaler Lagerbestand" @@ -11992,7 +11992,7 @@ msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "Lagerartikel auswählen" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "Serialisierter Lagerartikel wurde zugewiesen" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "Lagerartikel wurde vollständig zugewiesen" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "Lagerartikel wurde teilweise zugewiesen" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Element verbaut" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "Lagerartikel abgewiesen" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "Lagerartikel verloren" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "Lagerartikel zerstört" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "Bestandswert" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "Untergeordnete Lagerorte laden" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "Artikelinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "Einen weiteren Lagerartikel in dieses Teil installiert" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "Teil zur Installation auswählen" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "Tabellendaten exportieren" msgid "Select File Format" msgstr "Dateiformat wählen" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "Lade Daten" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "Zeilen pro Seite" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "Alle Zeilen anzeigen" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "zeige" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "bis" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "von" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "Zeilen" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "Keine passenden Ergebnisse gefunden" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "Zeige/Verstecke Pagination" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "umschalten" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "Spalten" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "Alle" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 9e4b6109c0..a52b7daf3d 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:41\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -25,19 +25,19 @@ msgstr "Το API endpoint δε βρέθηκε" msgid "User does not have permission to view this model" msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Εισάγετε ημερομηνία" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Σημειώσεις" @@ -259,7 +259,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Σχόλιο αρχείου" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Χρήστης" @@ -342,7 +342,7 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Όνομα" @@ -363,20 +363,20 @@ msgstr "Όνομα" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Περιγραφή" @@ -389,7 +389,7 @@ msgid "parent" msgstr "γονέας" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Μονοπάτι" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Σειρά Κατασκευής" @@ -908,7 +908,7 @@ msgstr "Σειρά Κατασκευής" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Εξάρτημα" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το build" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -1089,7 +1089,7 @@ msgstr "Ημερομηνία ολοκλήρωσης" msgid "completed by" msgstr "ολοκληρώθηκε από" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Εκδόθηκε από" @@ -1104,7 +1104,7 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Ποσότητα" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Αποθήκη προορισμού" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Κατασκευή Εξόδου" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Κατασκευή" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 0a8805525b..6ced83b042 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: 2023-06-12 21:36+0000\n" +"POT-Creation-Date: 2023-06-21 06:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -50,26 +50,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "" @@ -82,47 +82,51 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "" @@ -240,7 +244,7 @@ msgstr "" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "" @@ -248,29 +252,30 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:493 common/models.py:2688 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "" @@ -278,13 +283,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 -#: common/models.py:2148 common/models.py:2361 common/models.py:2362 -#: common/models.py:2618 common/models.py:2619 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "" @@ -325,53 +330,54 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:78 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "" @@ -384,7 +390,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -420,12 +426,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,130 +504,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:743 msgid "German" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:745 msgid "English" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:750 msgid "French" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:741 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:742 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "" -#: InvenTree/settings.py:743 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:744 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:745 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "" -#: InvenTree/settings.py:746 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:747 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:748 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "" @@ -631,7 +637,7 @@ msgstr "" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" @@ -655,10 +661,10 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "" @@ -690,7 +696,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "" @@ -746,7 +752,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "" @@ -766,7 +772,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -782,7 +788,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "" @@ -850,83 +856,111 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -936,266 +970,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2169 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1204,315 +1201,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1541,6 +1590,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1619,69 +1669,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1689,32 +1737,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1730,8 +1778,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1745,21 +1793,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1767,147 +1815,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1915,14 +1922,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1969,16 +1972,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2130,7 +2123,7 @@ msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 #: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1688 +#: common/models.py:1323 common/models.py:1446 common/models.py:1695 msgid "days" msgstr "" @@ -2262,9 +2255,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2272,10 +2265,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2283,8 +2276,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2292,7 +2285,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2300,8 +2293,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2309,10 +2302,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2320,10 +2313,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2355,7 +2348,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2604,291 +2597,291 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1621 +#: common/models.py:1628 msgid "Enable URL integration" msgstr "" -#: common/models.py:1622 +#: common/models.py:1629 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1630 +#: common/models.py:1637 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable app integration" msgstr "" -#: common/models.py:1638 +#: common/models.py:1645 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1646 +#: common/models.py:1653 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable event integration" msgstr "" -#: common/models.py:1654 +#: common/models.py:1661 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable project codes" msgstr "" -#: common/models.py:1662 +#: common/models.py:1669 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1685 +#: common/models.py:1692 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1686 +#: common/models.py:1693 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1703 common/models.py:2140 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1722 +#: common/models.py:1729 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1745 +#: common/models.py:1752 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show latest parts" msgstr "" -#: common/models.py:1766 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:1772 -msgid "Recent Part Count" -msgstr "" - #: common/models.py:1773 -msgid "Number of recent parts to display on index page" +msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 @@ -2908,504 +2901,497 @@ msgid "Show recently changed stock items on the homepage" msgstr "" #: common/models.py:1793 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1794 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1878 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1885 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1892 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1898 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1899 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1905 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1906 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1912 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1941 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1948 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1955 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1962 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1969 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2025 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2038 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2045 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2060 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2066 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2067 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2082 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2089 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2096 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2105 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2106 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2115 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2123 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2124 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2170 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2177 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2178 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2338 common/models.py:2516 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2339 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2348 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2353 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2354 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2368 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2369 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2376 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2377 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2483 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2484 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2492 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2493 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2500 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2501 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2507 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2508 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2517 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2522 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2523 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2677 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2683 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2693 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2703 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2708 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2709 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2729 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3415,7 +3401,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2730 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3492,7 +3478,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3500,303 +3486,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3809,7 +3879,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3849,17 +3919,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3867,6 +3937,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3899,7 +3976,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3909,129 +3986,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4043,17 +4112,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4073,40 +4142,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:248 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4130,23 +4181,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4157,13 +4213,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4190,7 +4246,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4198,37 +4254,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4254,7 +4310,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4262,72 +4318,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4345,8 +4405,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4354,30 +4414,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4385,11 +4445,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4401,492 +4461,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4950,82 +5014,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5078,13 +5134,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5145,9 +5201,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5158,30 +5214,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5201,29 +5252,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5241,7 +5292,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5250,16 +5301,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5267,18 +5318,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5304,12 +5354,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5318,19 +5368,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5351,24 +5401,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5376,23 +5426,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5409,13 +5452,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5432,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5446,35 +5489,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5484,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5492,916 +5535,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6414,9 +6454,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6454,14 +6494,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6498,7 +6530,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6511,33 +6543,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6574,7 +6593,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6585,7 +6604,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6597,101 +6616,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6725,13 +6744,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6772,7 +6791,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6817,10 +6836,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6843,7 +6862,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6851,8 +6870,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6875,7 +6894,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6949,9 +6968,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6982,9 +7001,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7047,12 +7066,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7156,7 +7175,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7219,43 +7238,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7407,47 +7426,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7468,8 +7487,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7481,23 +7500,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7510,7 +7529,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7541,8 +7560,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7610,31 +7629,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7645,7 +7664,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7663,8 +7682,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7680,7 +7699,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7814,7 +7833,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7842,7 +7861,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7894,132 +7913,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8027,48 +8055,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8076,13 +8104,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8091,15 +8119,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8108,11 +8138,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8152,6 +8183,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8214,7 +8250,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8232,7 +8268,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8242,7 +8278,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8251,7 +8287,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8357,20 +8393,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8444,71 +8480,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8679,15 +8715,15 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:68 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:77 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8855,12 +8891,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8898,7 +8934,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8975,6 +9011,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9424,14 +9461,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9476,7 +9505,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9490,7 +9519,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9562,23 +9591,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9635,7 +9676,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9693,775 +9734,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10486,6 +10621,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10503,23 +10644,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10539,6 +10680,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10640,7 +10789,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10689,7 +10838,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10705,363 +10854,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11157,234 +11298,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11413,941 +11554,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:244 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12379,51 +12552,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12606,50 +12779,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12682,34 +12811,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:231 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:239 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:242 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:242 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:246 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:246 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:248 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index b5288a9078..f43dfcf905 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -25,19 +25,19 @@ msgstr "endpoint API no encontrado" msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "Ningún valor proporcionado" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "El valor proporcionado no es un número válido" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "El valor proporcionado tiene una unidad inválida" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "El valor proporcionado no puede ser convertido a la unidad especificada" @@ -68,7 +68,7 @@ msgstr "Ingrese la fecha" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Notas" @@ -259,7 +259,7 @@ msgstr "Seleccionar archivo para adjuntar" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Comentario del archivo" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Usuario" @@ -342,7 +342,7 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Nombre" @@ -363,20 +363,20 @@ msgstr "Nombre" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Descripción" @@ -389,7 +389,7 @@ msgid "parent" msgstr "padre" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Ruta" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "Consumible" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "Opcional" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "Asignadas" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Construir órden" @@ -908,7 +908,7 @@ msgstr "Construir órden" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Número de orden de construcción o armado" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Parte" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Orden de Venta a la que se asigna" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Fecha de finalización" @@ -1089,7 +1089,7 @@ msgstr "Fecha de finalización" msgid "completed by" msgstr "terminado por" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Emitido por" @@ -1104,7 +1104,7 @@ msgstr "El usuario que emitió esta orden" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Prioridad de esta orden de construcción" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Cantidad" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Artículo de stock" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Artículo de stock de destino" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Resultado de la construcción o armado" @@ -1360,7 +1360,7 @@ msgstr "Debe proporcionarse una lista de salidas de construcción" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "Debe proporcionarse una lista de salidas de construcción" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Ubicación" @@ -1397,13 +1397,13 @@ msgstr "Ubicación para las salidas de construcción completadas" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Estado" @@ -1589,7 +1589,7 @@ msgstr "Miniatura de parte" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Acciones para código de barras" @@ -1694,7 +1694,7 @@ msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "Salidas completadas" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Orden de Venta" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Emitido por" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "Prioridad" @@ -1792,11 +1792,11 @@ msgstr "Partes asignadas" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Lote" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Creado" @@ -3720,7 +3720,7 @@ msgstr "Valor del parámetro" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Unidades" @@ -3805,7 +3805,7 @@ msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Paquetes" @@ -3838,7 +3838,7 @@ msgstr "Pedido múltiple" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "Borrar imagen" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Cliente" @@ -4013,7 +4013,7 @@ msgstr "Stock del Proveedor" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Nueva orden de compra" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Parte del proveedor" @@ -4283,7 +4283,7 @@ msgstr "Actualizar disponibilidad de parte" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Elementos de stock" @@ -4423,7 +4423,7 @@ msgstr "No se encontró ninguna orden de compra coincidente" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Orden de compra" @@ -4432,7 +4432,7 @@ msgstr "Orden de compra" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "Orden de devolución" @@ -4637,7 +4637,7 @@ msgstr "Número de artículos recibidos" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Precio de Compra" @@ -5134,7 +5134,7 @@ msgstr "Duplicar selección" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "Artículos de Pedidos de Venta" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "Envíos pendientes" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Acciones" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "Descripción de parte" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisión" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "En Stock" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "En pedido" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "Usado en" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "En construcción" @@ -5457,7 +5457,7 @@ msgstr "Ruta de Categoría" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Partes" @@ -5549,7 +5549,7 @@ msgstr "Categorías de parte" msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para partes de esta categoría" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Categoría" @@ -5736,7 +5736,7 @@ msgstr "Usuario responsable de esta parte" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Último inventario" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Fecha" @@ -5952,7 +5952,7 @@ msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreable msgid "Test with this name already exists for this part" msgstr "Ya existe una prueba con este nombre para esta parte" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nombre de prueba" @@ -5968,7 +5968,7 @@ msgstr "Descripción de prueba" msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Requerido" @@ -5977,7 +5977,7 @@ msgstr "Requerido" msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Requiere valor" @@ -5985,7 +5985,7 @@ msgstr "Requiere valor" msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Adjunto obligatorio" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Actualizar" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6790,7 +6790,7 @@ msgstr "Contar stock de partes" msgid "Transfer part stock" msgstr "Transferir stock de partes" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "Acciones para partes" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "Nivel mínimo de stock" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "Código QR de Parte" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "parte" @@ -6967,9 +6967,9 @@ msgstr "Variantes" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Inventario" @@ -7002,7 +7002,7 @@ msgstr "Actualizar precio de partes" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "Última actualización" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "Sin Stock" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "Bajo Stock" @@ -7281,17 +7281,17 @@ msgstr "Método" msgid "No author found" msgstr "No se encontró autor" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "Elementos instalados" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "Serial" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "Fecha de Expiración" @@ -7681,7 +7681,7 @@ msgstr "Seleccionar Propietario" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Externo" @@ -8087,7 +8087,7 @@ msgstr "Notas del artículo de stock" msgid "Installed Stock Items" msgstr "Elementos de Stock instalados" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "Instalar artículo de stock" @@ -8109,7 +8109,7 @@ msgstr "Escanear a la ubicación" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "Acciones de impresión" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "Eliminar artículo de stock" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Construcción o Armado" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "Cantidad disponible" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "Ubicación no establecida" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "Nueva Ubicación" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "ubicación de almacén" @@ -8483,67 +8483,67 @@ msgstr "Índice" msgid "Subscribed Parts" msgstr "Partes Suscritas" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "Categorías Suscritas" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "Últimas Partes" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "Validación de BOM en espera" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "Actualizado Recientemente" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "Stock Agotado" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "Requerido para construir pedidos" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "Stock Caducado" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "Stock Obsoleto" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "Pedidos en curso" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "Órdenes de construcción atrasadas" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "Órdenes de Compra Pendientes" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "Pedidos de Compra Atrasados" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "Pedidos de Venta Pendientes" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "Pedidos de Venta Atrasados" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "Noticias de InvenTree" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "Noticias actuales" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "Página de Inicio" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "Las siguientes partes están bajas en stock requerido" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "Cantidad requerida" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "Haga clic en el siguiente enlace para ver esta parte" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "Cantidad Mínima" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "Sustitutos Disponibles" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "Stock de variante permitido" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "Ver BOM" msgid "No BOM items found" msgstr "No se encontraron artículos BOM" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "Parte requerida" @@ -10104,7 +10104,7 @@ msgstr "Eliminar Salidas" msgid "No build order allocations found" msgstr "No se encontraron asignaciones de órdenes de trabajo" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "Eliminar salidas" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "No se encontraron salidas de trabajo activas" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Seleccionar partes" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "Debe seleccionar al menos una parte para asignar" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Seleccionar ubicación de origen (dejar en blanco para tomar de todas las ubicaciones)" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "Asignar Artículos de Stock a Orden de Trabajo" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "No hay ubicaciones de stock coincidentes" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "No hay artículos de stock coincidentes" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "Asignar artículos de inventario" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "No hay trabajos que coincidan con la consulta" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "Seleccionar" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "Orden de trabajo atrasada" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "Progreso" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "No hay información de usuario" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "grupo" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "Editar asignación de stock" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "Eliminar asignación de stock" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "Editar Asignación" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "Quitar asignación" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Parte Rastreable" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "Stock de Trabajo" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "Pedido de stock" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "Asignar stock" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "Eliminar parámetros" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Partes de pedido" @@ -10557,45 +10557,45 @@ msgstr "Editar precio de descuento" msgid "Delete price break" msgstr "Eliminar precio de descuento" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "verdadero" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "falso" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "Seleccionar filtro" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "Imprimir etiquetas" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "Imprimir informes" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "Descargar tabla de datos" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "Recargar tabla de datos" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "Añadir un nuevo filtro" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "Limpiar todos los filtros" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "Crear filtro" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "Recibir ítem de línea" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "Eliminar relación de parte" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "Eliminar Relación de Parte" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "No se encontraron partes" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "Definir Categoría de Parte" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Definir categoría" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "partes" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "Sin categoría" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "Mostrar como lista" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "Mostrar como cuadrícula" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "Mostrar como árbol" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "Cargar subcategorías" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "Categoría suscrita" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "No hay plantillas de prueba que coincidan con la consulta" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Editar resultado de prueba" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Eliminar resultado de prueba" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "Esta prueba está definida para una parte principal" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "Editar plantilla de resultado de prueba" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "Eliminar plantilla de resultados de prueba" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "Sin fecha especificada" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "Especulativo" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "Cantidad máxima" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "La cantidad no se puede ajustar para el stock serializado" msgid "Specify stock quantity" msgstr "Especificar cantidad de stock" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "Seleccionar artículos de stock" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "El artículo de stock está en producción" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "Artículo de stock asignado al pedido de venta" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "Artículo de stock asignado al cliente" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "Se ha asignado un artículo de stock serializado" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "Artículo de stock ha sido completamente asignado" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "Artículo de stock ha sido asignado parcialmente" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "Artículo de stock ha sido instalado en otro artículo" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "Artículo de stock ha caducado" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "El artículo de stock caducará pronto" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "Artículo de stock ha sido rechazado" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "Artículo de stock perdido" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "Artículo de stock destruido" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Agotado" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "Parte del proveedor no especificada" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "No hay artículos de stock que coincidan con la consulta" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "Cargar sublocalidades" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "Detalles" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "Sin cambios" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "Información de la parte no disponible" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "Ubicación ya no existe" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "La orden de compra ya no existe" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "El pedido de venta ya no existe" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "El pedido de devolución ya no existe" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "El cliente ya no existe" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "Artículo de stock ya no existe" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "Añadido" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "Eliminado" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "Ningún artículo instalado" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "Desinstalar artículo de stock" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Los artículos de stock sólo pueden ser instalados si cumplen con los siguientes criterios" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "Seleccionar parte para instalar" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "Exportar datos de tabla" msgid "Select File Format" msgstr "Seleccionar formato de archivo" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "Cargando datos" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "filas por página" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "Mostrar todas las filas" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "Mostrando" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "para" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "de" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "filas" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "No se encontraron resultados" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "Ocultar/Mostrar paginación" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "Alternar" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "Columnas" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "Todo" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 0a8805525b..6ced83b042 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: 2023-06-12 21:36+0000\n" +"POT-Creation-Date: 2023-06-21 06:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -50,26 +50,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "" @@ -82,47 +82,51 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "" @@ -240,7 +244,7 @@ msgstr "" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "" @@ -248,29 +252,30 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:493 common/models.py:2688 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "" @@ -278,13 +283,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 -#: common/models.py:2148 common/models.py:2361 common/models.py:2362 -#: common/models.py:2618 common/models.py:2619 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "" @@ -325,53 +330,54 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:78 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "" @@ -384,7 +390,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -420,12 +426,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,130 +504,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:743 msgid "German" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:745 msgid "English" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:750 msgid "French" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:741 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:742 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "" -#: InvenTree/settings.py:743 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:744 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:745 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "" -#: InvenTree/settings.py:746 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:747 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:748 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "" @@ -631,7 +637,7 @@ msgstr "" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" @@ -655,10 +661,10 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "" @@ -690,7 +696,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "" @@ -746,7 +752,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "" @@ -766,7 +772,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -782,7 +788,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "" @@ -850,83 +856,111 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -936,266 +970,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2169 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1204,315 +1201,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1541,6 +1590,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1619,69 +1669,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1689,32 +1737,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1730,8 +1778,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1745,21 +1793,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1767,147 +1815,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1915,14 +1922,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1969,16 +1972,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2130,7 +2123,7 @@ msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 #: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1688 +#: common/models.py:1323 common/models.py:1446 common/models.py:1695 msgid "days" msgstr "" @@ -2262,9 +2255,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2272,10 +2265,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2283,8 +2276,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2292,7 +2285,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2300,8 +2293,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2309,10 +2302,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2320,10 +2313,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2355,7 +2348,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2604,291 +2597,291 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1621 +#: common/models.py:1628 msgid "Enable URL integration" msgstr "" -#: common/models.py:1622 +#: common/models.py:1629 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1630 +#: common/models.py:1637 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable app integration" msgstr "" -#: common/models.py:1638 +#: common/models.py:1645 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1646 +#: common/models.py:1653 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable event integration" msgstr "" -#: common/models.py:1654 +#: common/models.py:1661 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable project codes" msgstr "" -#: common/models.py:1662 +#: common/models.py:1669 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1685 +#: common/models.py:1692 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1686 +#: common/models.py:1693 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1703 common/models.py:2140 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1722 +#: common/models.py:1729 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1745 +#: common/models.py:1752 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show latest parts" msgstr "" -#: common/models.py:1766 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:1772 -msgid "Recent Part Count" -msgstr "" - #: common/models.py:1773 -msgid "Number of recent parts to display on index page" +msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 @@ -2908,504 +2901,497 @@ msgid "Show recently changed stock items on the homepage" msgstr "" #: common/models.py:1793 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1794 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1878 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1885 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1892 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1898 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1899 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1905 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1906 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1912 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1941 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1948 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1955 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1962 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1969 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2025 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2038 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2045 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2060 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2066 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2067 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2082 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2089 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2096 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2105 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2106 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2115 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2123 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2124 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2170 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2177 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2178 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2338 common/models.py:2516 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2339 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2348 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2353 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2354 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2368 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2369 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2376 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2377 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2483 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2484 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2492 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2493 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2500 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2501 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2507 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2508 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2517 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2522 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2523 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2677 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2683 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2693 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2703 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2708 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2709 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2729 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3415,7 +3401,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2730 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3492,7 +3478,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3500,303 +3486,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3809,7 +3879,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3849,17 +3919,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3867,6 +3937,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3899,7 +3976,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3909,129 +3986,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4043,17 +4112,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4073,40 +4142,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:248 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4130,23 +4181,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4157,13 +4213,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4190,7 +4246,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4198,37 +4254,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4254,7 +4310,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4262,72 +4318,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4345,8 +4405,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4354,30 +4414,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4385,11 +4445,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4401,492 +4461,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4950,82 +5014,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5078,13 +5134,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5145,9 +5201,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5158,30 +5214,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5201,29 +5252,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5241,7 +5292,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5250,16 +5301,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5267,18 +5318,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5304,12 +5354,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5318,19 +5368,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5351,24 +5401,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5376,23 +5426,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5409,13 +5452,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5432,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5446,35 +5489,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5484,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5492,916 +5535,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6414,9 +6454,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6454,14 +6494,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6498,7 +6530,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6511,33 +6543,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6574,7 +6593,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6585,7 +6604,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6597,101 +6616,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6725,13 +6744,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6772,7 +6791,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6817,10 +6836,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6843,7 +6862,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6851,8 +6870,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6875,7 +6894,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6949,9 +6968,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6982,9 +7001,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7047,12 +7066,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7156,7 +7175,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7219,43 +7238,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7407,47 +7426,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7468,8 +7487,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7481,23 +7500,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7510,7 +7529,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7541,8 +7560,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7610,31 +7629,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7645,7 +7664,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7663,8 +7682,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7680,7 +7699,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7814,7 +7833,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7842,7 +7861,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7894,132 +7913,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8027,48 +8055,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8076,13 +8104,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8091,15 +8119,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8108,11 +8138,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8152,6 +8183,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8214,7 +8250,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8232,7 +8268,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8242,7 +8278,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8251,7 +8287,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8357,20 +8393,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8444,71 +8480,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8679,15 +8715,15 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:68 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:77 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8855,12 +8891,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8898,7 +8934,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8975,6 +9011,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9424,14 +9461,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9476,7 +9505,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9490,7 +9519,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9562,23 +9591,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9635,7 +9676,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9693,775 +9734,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10486,6 +10621,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10503,23 +10644,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10539,6 +10680,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10640,7 +10789,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10689,7 +10838,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10705,363 +10854,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11157,234 +11298,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11413,941 +11554,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:244 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12379,51 +12552,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12606,50 +12779,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12682,34 +12811,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:231 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:239 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:242 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:242 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:246 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:246 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:248 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index ac75696eec..939826331d 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -25,19 +25,19 @@ msgstr "Address e API peida nashod" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "تاریخ را وارد کنید" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "یادداشت" @@ -259,7 +259,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "" @@ -342,7 +342,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "" @@ -363,20 +363,20 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "منبع محل" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "" @@ -1089,7 +1089,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index a055974379..79e785059f 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -25,19 +25,19 @@ msgstr "API-rajapintaa ei löydy" msgid "User does not have permission to view this model" msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "Arvoa ei annettu" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "Annettu arvo ei ole kelvollinen numero" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "Annetulla arvolla on virheellinen yksikkö" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "Annettua arvoa ei voitu muuntaa määritetyksi yksiköksi" @@ -68,7 +68,7 @@ msgstr "Anna päivämäärä" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Merkinnät" @@ -259,7 +259,7 @@ msgstr "Valitse liitettävä tiedosto" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Tiedoston kommentti" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Käyttäjä" @@ -342,7 +342,7 @@ msgstr "Virheellinen valinta" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Nimi" @@ -363,20 +363,20 @@ msgstr "Nimi" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Kuvaus" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Polku" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Osa" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "" @@ -1089,7 +1089,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Määrä" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Varastotuote" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Sijainti" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Tila" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "Prioriteetti" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Asiakas" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Toiminnot" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Kategoria" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Päivämäärä" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "Sarjanumero" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "Uusi sijainti" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "Valitse" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "Edistyminen" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "tosi" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "epätosi" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "Valitse suodatin" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "Tulosta raportteja" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "Luo suodatin" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Aseta kategoria" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "Kaikki" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 1e19dc89c9..6ec458f145 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:41\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -25,19 +25,19 @@ msgstr "Point de terminaison de l'API introuvable" msgid "User does not have permission to view this model" msgstr "L'utilisateur n'a pas la permission de voir ce modèle" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Entrer la date" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Notes" @@ -259,7 +259,7 @@ msgstr "Sélectionnez un fichier à joindre" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Commentaire du fichier" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Utilisateur" @@ -342,7 +342,7 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Nom" @@ -363,20 +363,20 @@ msgstr "Nom" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Description" @@ -389,7 +389,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Chemin d'accès" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Ordre de Fabrication" @@ -908,7 +908,7 @@ msgstr "Ordre de Fabrication" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Référence de l' Ordre de Fabrication" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Pièce" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Commande de vente à laquelle cette construction est allouée" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Emplacement d'origine" @@ -1081,7 +1081,7 @@ 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:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Date d'achèvement" @@ -1089,7 +1089,7 @@ msgstr "Date d'achèvement" msgid "completed by" msgstr "achevé par" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Émis par" @@ -1104,7 +1104,7 @@ msgstr "Utilisateur ayant émis cette commande de construction" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Priorité de cet ordre de fabrication" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Quantité" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Article en stock" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Stock de destination de l'article" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Sortie d'assemblage" @@ -1360,7 +1360,7 @@ msgstr "Une liste d'ordre de production doit être fourni" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "Une liste d'ordre de production doit être fourni" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Emplacement" @@ -1397,13 +1397,13 @@ msgstr "Emplacement des ordres de production achevés" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "État" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Actions de code-barres" @@ -1694,7 +1694,7 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "Sorties de Construction terminées" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Commandes" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Émis par" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "Priorité" @@ -1792,11 +1792,11 @@ msgstr "Pièces allouées" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Lot" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Créé le" @@ -3720,7 +3720,7 @@ msgstr "Valeur du paramètre" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Unités" @@ -3805,7 +3805,7 @@ msgstr "Frais minimums (par exemple frais de stock)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Conditionnement" @@ -3838,7 +3838,7 @@ msgstr "Commande multiple" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "Supprimer image" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Client" @@ -4013,7 +4013,7 @@ msgstr "Stock fournisseur" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Nouvelle commande achat" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Pièce fournisseur" @@ -4283,7 +4283,7 @@ msgstr "Mettre à jour la disponibilité des pièces" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Éléments en stock" @@ -4423,7 +4423,7 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Commande d’achat" @@ -4432,7 +4432,7 @@ msgstr "Commande d’achat" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "Nombre d'éléments reçus" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Prix d'achat" @@ -5134,7 +5134,7 @@ msgstr "Dupliquer la sélection" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "Expéditions en attente" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Révision" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "En Commande" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Composantes" @@ -5549,7 +5549,7 @@ msgstr "Catégories de composants" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Catégorie" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Date" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nom de test" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Requis" @@ -5977,7 +5977,7 @@ msgstr "Requis" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Actualiser" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "Prise d'inventaire" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Stock" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "Numéro de série" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "Sélectionner un propriétaire" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Assemblage" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "Nouvelles d'InvenTree" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "Quantité requise" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "Supprimer les sorties" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "Pas d'informations sur l'utilisateur" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Pièce traçable" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "Commander des stocks" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Commander des composants" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "Aucune pièce trouvée" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "Aucune catégorie" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "Afficher sous forme de liste" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "Afficher sous forme de grille" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Modifier le résultat du test" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Supprimer le résultat du test" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé" msgid "Specify stock quantity" msgstr "Spécifiez la quantité du stock" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "L'article de stock est en production" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "L'article en stock a été assigné à une commande de vente" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "L'article en stock a été assigné à un client" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "L'article de stock sérialisé a été alloué" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "L'article de stock a été complètement alloué" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "L'article de stock a été partiellement alloué" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "L'article en stock a été installé dans un autre article" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "L'article en stock a expiré" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "L'article en stock va bientôt expirer" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "L'article de stock a été rejeté" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "L'article de stock est perdu" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "L'article de stock est détruit" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Epuisé" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "Pièce de fournisseur non précisée" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "Aucun article de stock ne correspond à la requête" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "Détails" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "L'emplacement n'existe plus" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "La commande d'achat n'existe plus" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "Le client n'existe plus" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "L'article de stock n'existe plus" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "Ajouté" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "Supprimé" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "Chargement des données" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "résultats par page" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "Afficher toutes les lignes" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "Afficher" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "à" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "de" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "lignes" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "Aucun résultat correspondant n'a été trouvé" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "Masquer/Afficher la pagination" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "Colonnes" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "Tout" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 68fc033a1f..74b23d72cf 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:41\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -25,19 +25,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "הזן תאריך סיום" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "" @@ -259,7 +259,7 @@ msgstr "בחר קובץ לצירוף" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "הערת קובץ" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "משתמש" @@ -342,7 +342,7 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "שם" @@ -363,20 +363,20 @@ msgstr "שם" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "תיאור" @@ -389,7 +389,7 @@ msgid "parent" msgstr "מקור" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "רכיב" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "" @@ -1089,7 +1089,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "כמות" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index b17aa7082c..cf9aeb24a3 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -25,19 +25,19 @@ msgstr "API funkciót nem találom" msgid "User does not have permission to view this model" msgstr "Nincs jogosultságod az adatok megtekintéséhez" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "Nincs érték megadva" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "A megadott érték nem egy szám" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "A megadott érték mértékegysége érvénytelen" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "A megadott érték nem konvertálható a megadott mértékegységre" @@ -68,7 +68,7 @@ msgstr "Dátum megadása" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Megjegyzések" @@ -259,7 +259,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Leírás, bővebb infó" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Felhasználó" @@ -342,7 +342,7 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Név" @@ -363,20 +363,20 @@ msgstr "Név" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Leírás" @@ -389,7 +389,7 @@ msgid "parent" msgstr "szülő" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Elérési út" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "Fogyóeszköz" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "Opcionális" msgid "Tracked" msgstr "Követett" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "Lefoglalva" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Gyártási utasítás" @@ -908,7 +908,7 @@ msgstr "Gyártási utasítás" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Gyártási utasítás azonosító" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Alkatrész" @@ -1015,7 +1015,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:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Forrás hely" @@ -1081,7 +1081,7 @@ 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:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Elkészítés dátuma" @@ -1089,7 +1089,7 @@ msgstr "Elkészítés dátuma" msgid "completed by" msgstr "elkészítette" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Kiállította" @@ -1104,7 +1104,7 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Gyártási utasítás priorítása" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Mennyiség" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Készlet tétel" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Cél készlet tétel" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Gyártás kimenet" @@ -1360,7 +1360,7 @@ msgstr "A gyártási kimenetek listáját meg kell adni" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "A gyártási kimenetek listáját meg kell adni" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Hely" @@ -1397,13 +1397,13 @@ msgstr "A kész gyártási kimenetek helye" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Állapot" @@ -1590,7 +1590,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Vonalkód műveletek" @@ -1695,7 +1695,7 @@ msgstr "Még nincs lefoglalva a szükséges készlet" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1739,7 +1739,7 @@ msgstr "Befejezett kimenetek" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1750,7 +1750,7 @@ msgid "Issued By" msgstr "Kiállította" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "Prioritás" @@ -1793,11 +1793,11 @@ msgstr "Lefoglalt alkatrészek" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1807,7 +1807,7 @@ msgstr "Batch" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Létrehozva" @@ -3721,7 +3721,7 @@ msgstr "Paraméter értéke" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Mértékegység" @@ -3806,7 +3806,7 @@ msgstr "Minimális díj (pl. tárolási díj)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Csomagolás" @@ -3839,7 +3839,7 @@ msgstr "Többszörös rendelés" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3928,7 +3928,7 @@ msgstr "Kép törlése" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Vevő" @@ -4014,7 +4014,7 @@ msgstr "Beszállítói készlet" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4037,7 +4037,7 @@ msgstr "Új beszerzési rendelés" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4190,7 +4190,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -4284,7 +4284,7 @@ msgstr "Alkatrész elérhetőség frissítése" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Készlet tételek" @@ -4424,7 +4424,7 @@ msgstr "Nincs egyező beszerzési rendelés" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Beszerzési rendelés" @@ -4433,7 +4433,7 @@ msgstr "Beszerzési rendelés" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "Visszavételi utasítás" @@ -4638,7 +4638,7 @@ msgstr "Érkezett tételek száma" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Beszerzési ár" @@ -5135,7 +5135,7 @@ msgstr "Kijelöltek másolása" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5319,12 +5319,12 @@ msgid "Sales Order Items" msgstr "Vevői rendelés tételek" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "Függő szállítmányok" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Műveletek" @@ -5369,14 +5369,14 @@ msgid "Part Description" msgstr "Alkatrész leírása" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Változat" @@ -5416,8 +5416,8 @@ msgid "In Stock" msgstr "Készleten" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "Rendelve" @@ -5427,7 +5427,7 @@ msgid "Used In" msgstr "Felhasználva ebben" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "Gyártásban" @@ -5458,7 +5458,7 @@ msgstr "Kategória elérési út" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Alkatrészek" @@ -5550,7 +5550,7 @@ msgstr "Alkatrész kategóriák" msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5639,7 +5639,7 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Kategória" @@ -5737,7 +5737,7 @@ msgstr "Felhasználó aki felelős ezért az alkatrészért" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Utolsó leltár" @@ -5893,7 +5893,7 @@ msgstr "Teljes készlet a leltárkor" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Dátum" @@ -5953,7 +5953,7 @@ msgstr "Teszt sablont csak követésre kötelezett alkatrészhez lehet csinálni 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:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Teszt név" @@ -5969,7 +5969,7 @@ msgstr "Teszt leírása" msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Kötelező" @@ -5978,7 +5978,7 @@ msgstr "Kötelező" msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Kötelező érték" @@ -5986,7 +5986,7 @@ msgstr "Kötelező érték" 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:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Kötelező melléklet" @@ -6593,7 +6593,7 @@ msgid "Refresh scheduling data" msgstr "Ütemezési adatok frissítése" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Frissítés" @@ -6604,7 +6604,7 @@ msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "Leltár" @@ -6791,7 +6791,7 @@ msgstr "Készlet számolása" msgid "Transfer part stock" msgstr "Készlet áthelyezése" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "Készlet műveletek" @@ -6871,7 +6871,7 @@ msgid "Minimum stock level" msgstr "Minimális készlet" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6894,7 +6894,7 @@ msgstr "Alkatrész QR kódja" msgid "Link Barcode to Part" msgstr "Vonalkód hozzárendelése az alkatrészhez" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "alkatrész" @@ -6968,9 +6968,9 @@ msgstr "Változatok" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -7003,7 +7003,7 @@ msgstr "Árazás frissítése" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -7067,11 +7067,11 @@ msgid "Add Sell Price Break" msgstr "Eladási ársáv hozzáadása" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "Nincs készlet" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "Alacsony készlet" @@ -7282,17 +7282,17 @@ msgstr "Módszer" msgid "No author found" msgstr "Nincs szerző" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "A pluginhoz minimum {v} verzió kell" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "A pluginhoz maximum {v} verzió kell" @@ -7508,8 +7508,8 @@ msgstr "Összesen" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7561,7 +7561,7 @@ msgstr "Beépített tételek" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "Sorozatszám" @@ -7629,7 +7629,7 @@ msgstr "Törlés ha kimerül" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "Lejárati dátum" @@ -7682,7 +7682,7 @@ msgstr "Tulajdonos kiválasztása" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Külső" @@ -8088,7 +8088,7 @@ msgstr "Készlet tétel megjegyzések" msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" @@ -8110,7 +8110,7 @@ msgstr "Áthelyezés kódolvasással" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "Nyomtatási műveletek" @@ -8184,7 +8184,7 @@ msgid "Delete stock item" msgstr "Készlet tétel törlése" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Gyártás" @@ -8250,7 +8250,7 @@ msgid "Available Quantity" msgstr "Elérhető mennyiség" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "Nincs beállítva hely" @@ -8394,7 +8394,7 @@ msgid "New Location" msgstr "Új hely" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "készlet hely" @@ -8484,67 +8484,67 @@ msgstr "Index" msgid "Subscribed Parts" msgstr "Értesítésre beállított alkatrészek" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "Értesítésre beállított kategóriák" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "Legújabb alkatrészek" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "Jóváhagyásra váró alkatrészjegyzék" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "Nemrég frissítve" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "Kimerült készlet" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "Gyártáshoz szükséges" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "Lejárt készlet" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "Állott készlet" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "Folyamatban lévő gyártások" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "Késésben lévő gyártások" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "Kintlévő beszerzési rendelések" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "Késésben lévő beszerzések" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "Függő vevői rendelések" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "Késésben lévő vevői rendelések" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "InvenTree hírek" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "Jelenlegi hírek" @@ -8934,7 +8934,7 @@ msgid "Home Page" msgstr "Főoldal" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9505,7 +9505,7 @@ 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:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -9519,7 +9519,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "Minimum mennyiség" @@ -9866,7 +9866,7 @@ msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz" msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" @@ -9886,25 +9886,25 @@ msgstr "Alkatrészjegyzék árazása nem teljes" msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "Fogyóeszköz tétel" @@ -9936,7 +9936,7 @@ msgstr "Alkatrészjegyzék megtekintése" msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "Szükséges alkatrész" @@ -10105,7 +10105,7 @@ msgstr "Gyártási kimenetek törlése" msgid "No build order allocations found" msgstr "Nincs gyártási utasításhoz történő foglalás" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10125,195 +10125,195 @@ msgstr "Gyártási kimenetek selejtezése" msgid "Delete outputs" msgstr "Kimenetek törlése" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "gyártás kimenet" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "gyártás kimenetek" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "Nem található aktív gyártási kimenet" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Kiválasztott alkatrészek" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 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:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "Minden alkatrész lefoglalva" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "Nincs egyező készlet" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "Automatikus készlet foglalás" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "A készlet automatikusan lefoglalásra kerül ehhez a gyártási utasításhoz, a következő feltételek szerint" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Ha egy készlet hely meg van adva, akkor készlet csak arról a helyről lesz foglalva" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Ha a készlet helyettesíthetőnek minősül, akkor az első rendelkezésre álló helyről lesz lefoglalva" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Ha a helyettesítő készlet engedélyezve van, akkor ott az lesz használva ha az elsődleges alkatrésznek nincs készlete" -#: templates/js/translated/build.js:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "Készlet tételek foglalása" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "Kiválaszt" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "Gyártás késésben van" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "Nincs felhasználói információ" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "csoport" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "Foglalás szerkesztése" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "Foglalás törlése" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "Nincs elegendő" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "Van elegendő" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "Gyártási készlet" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10460,7 +10460,7 @@ msgid "Delete Parameters" msgstr "Paraméterek törlése" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Alkatrész rendelés" @@ -10558,45 +10558,45 @@ msgstr "Ársáv szerkesztése" msgid "Delete price break" msgstr "Ársáv törlése" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "igaz" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "hamis" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "Szűrők kiválasztása" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "Címkék nyomtatása" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "Riportok nyomtatása" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "Táblázat letöltése" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "Táblázat frissítése" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "Új szűrő hozzáadása" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "Összes szűrő törlése" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "Szűrő létrehozása" @@ -11092,117 +11092,117 @@ msgstr "Ez a sortétel késésben van" msgid "Receive line item" msgstr "Sortétel bevételezése" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "Alkatrész kapcsolatok törlése" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "Nincs alkatrész" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "Kategória beállítása a kiválasztott alkatrészekhez" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "Alkatrész kategória beállítása" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Kategória beállítása" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "alkatrészek" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "Nincs kategória" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "Megjelenítés listaként" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "Megjelenítés rácsnézetként" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "Nem találhatóak alkategóriák" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "Megjelenítés fában" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "Alkategóriák betöltése" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "Értesítésre beállított kategória" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "Ez a teszt a szülő alkatrészhez lett felvéve" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "Teszt eredmény sablon szerkesztése" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "Teszt eredmény sablon törlése" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "Nincs megadva dátum" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "A megadott dátum a múltban van" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "Spekulatív" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "Hiba az alkatrész ütemezési információinak betöltésekor" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "Ütemezett készlet mennyiség" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "Minimum mennyiség" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "Minimális készlet" @@ -11993,7 +11993,7 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosíthat msgid "Specify stock quantity" msgstr "Készlet mennyiség megadása" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "Készlet tételek kiválasztása" @@ -12081,184 +12081,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "Készletérték" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "készlethelyek" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "Nem változott" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "A gyártási utasítás már nem létezik" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "Vevői megrendelés már nem létezik" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "Visszavételi utasítás már nem létezik" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12552,51 +12552,51 @@ msgstr "Táblázat exportálása" msgid "Select File Format" msgstr "Fájlfomátum kiválasztása" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "Adatok betöltése" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "sor oldalanként" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "Összes sor mutatása" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "Látható" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "-" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "a" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "sorból," -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "Nincs egyező eredmény" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "Lapozó elrejtése/megjelenítése" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "Átváltás" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "Oszlopok" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "Összes" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index e18384a974..4861c6163f 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -25,19 +25,19 @@ msgstr "API endpoint tidak ditemukan" msgid "User does not have permission to view this model" msgstr "Pengguna tidak memiliki izin untuk melihat model ini" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "Nilai tidak tersedia" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "Nilai yang diberikan bukan angka yang valid" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "Nilai yang diberikan mengandung satuan yang tidak valid" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "Nilai yang diberikan tidak dapat dikonversi ke satuan yang dipilih" @@ -68,7 +68,7 @@ msgstr "Masukkan tanggal" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Catatan" @@ -259,7 +259,7 @@ msgstr "Pilih file untuk dilampirkan" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Komentar file" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Pengguna" @@ -342,7 +342,7 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Nama" @@ -363,20 +363,20 @@ msgstr "Nama" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Keterangan" @@ -389,7 +389,7 @@ msgid "parent" msgstr "induk" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Direktori" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Order Produksi" @@ -908,7 +908,7 @@ msgstr "Order Produksi" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Referensi Order Produksi" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Produksi induk dari produksi ini" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Bagian" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Order penjualan yang teralokasikan ke pesanan ini" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Lokasi Sumber" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Tanggal selesai" @@ -1089,7 +1089,7 @@ msgstr "Tanggal selesai" msgid "completed by" msgstr "diselesaikan oleh" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Diserahkan oleh" @@ -1104,7 +1104,7 @@ msgstr "Pengguna yang menyerahkan order ini" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Jumlah" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Stok Item" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Tujuan stok item" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Hasil Produksi" @@ -1360,7 +1360,7 @@ msgstr "Daftar hasil pesanan harus disediakan" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "Daftar hasil pesanan harus disediakan" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Lokasi" @@ -1397,13 +1397,13 @@ msgstr "Lokasi hasil pesanan yang selesai" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Status" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Produksi" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index b21cbb78a3..d245ec57ab 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -25,19 +25,19 @@ msgstr "Endpoint API non trovato" msgid "User does not have permission to view this model" msgstr "L'utente non ha i permessi per vedere questo modello" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Inserisci la data" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Note" @@ -259,7 +259,7 @@ msgstr "Seleziona file da allegare" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Commento del file" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Utente" @@ -342,7 +342,7 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Nome" @@ -363,20 +363,20 @@ msgstr "Nome" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Descrizione" @@ -389,7 +389,7 @@ msgid "parent" msgstr "genitore" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Percorso" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "Consumabile" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "Opzionale" msgid "Tracked" msgstr "Monitorato" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "Allocato" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Ordine di Produzione" @@ -908,7 +908,7 @@ msgstr "Ordine di Produzione" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Riferimento Ordine Di Produzione" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Articolo" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Posizione Di Origine" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Data di completamento" @@ -1089,7 +1089,7 @@ msgstr "Data di completamento" msgid "completed by" msgstr "Completato da" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Rilasciato da" @@ -1104,7 +1104,7 @@ msgstr "Utente che ha emesso questo ordine di costruzione" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Priorità di questo ordine di produzione" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Quantità" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Articoli in magazzino" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Genera Output" @@ -1360,7 +1360,7 @@ msgstr "Deve essere fornito un elenco dei risultati di produzione" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "Deve essere fornito un elenco dei risultati di produzione" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Posizione" @@ -1397,13 +1397,13 @@ msgstr "Posizione per gli output di build completati" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Stato" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Azioni Barcode" @@ -1694,7 +1694,7 @@ msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzi #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "Outputs Completati" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Inviato da" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "Priorità" @@ -1792,11 +1792,11 @@ msgstr "Articoli Assegnati" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Lotto" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Creato" @@ -3720,7 +3720,7 @@ msgstr "Valore del parametro" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Unità" @@ -3805,7 +3805,7 @@ msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Confezionamento" @@ -3838,7 +3838,7 @@ msgstr "Ordine multiplo" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "Elimina immagine" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Cliente" @@ -4013,7 +4013,7 @@ msgstr "Giacenza Fornitore" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Nuovo Ordine di Acquisto" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -4283,7 +4283,7 @@ msgstr "Aggiorna Disponibilità Articolo" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -4423,7 +4423,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Ordine D'Acquisto" @@ -4432,7 +4432,7 @@ msgstr "Ordine D'Acquisto" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "Restituisci ordine" @@ -4637,7 +4637,7 @@ msgstr "Numero di elementi ricevuti" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Prezzo di Acquisto" @@ -5134,7 +5134,7 @@ msgstr "Duplica selezionati" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "Elementi Ordine di Vendita" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "Spedizione in sospeso" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Azioni" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "Descrizione Articolo" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN - Numero di riferimento interno" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisione" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "In magazzino" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "Ordinato" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "Utilizzato In" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "In Costruzione" @@ -5457,7 +5457,7 @@ msgstr "Percorso Categoria" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Articoli" @@ -5549,7 +5549,7 @@ msgstr "Categorie Articolo" msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Categoria" @@ -5736,7 +5736,7 @@ msgstr "Utente responsabile di questo articolo" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Ultimo Inventario" @@ -5892,7 +5892,7 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Data" @@ -5952,7 +5952,7 @@ msgstr "Il modello di prova può essere creato solo per gli articoli rintracciab msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nome Test" @@ -5968,7 +5968,7 @@ msgstr "Descrizione Di Prova" msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Richiesto" @@ -5977,7 +5977,7 @@ msgstr "Richiesto" msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Valore richiesto" @@ -5985,7 +5985,7 @@ msgstr "Valore richiesto" msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Allegato Richiesto" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "Aggiorna i dati di pianificazione" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Aggiorna" @@ -6603,7 +6603,7 @@ msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6790,7 +6790,7 @@ msgstr "Conta articoli magazzino" msgid "Transfer part stock" msgstr "Trasferisci giacenza" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "Azioni articolo" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "Livello minimo di giacenza" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "QR Code Articolo" msgid "Link Barcode to Part" msgstr "Collega il codice a barre all'Articolo" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "Varianti" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -7002,7 +7002,7 @@ msgstr "Aggiorna prezzo articolo" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "Aggiungi Prezzo Ribassato di Vendita" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "Nessuna giacenza" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "Disponibilità scarsa" @@ -7281,17 +7281,17 @@ msgstr "Metodo" msgid "No author found" msgstr "Nessun autore trovato" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "Totale" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "Elementi installati" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "Seriale" @@ -7628,7 +7628,7 @@ msgstr "Elimina al esaurimento" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -7681,7 +7681,7 @@ msgstr "Seleziona Owner" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Esterno" @@ -8087,7 +8087,7 @@ msgstr "Note Elemento di magazzino" msgid "Installed Stock Items" msgstr "Elementi di magazzino installati" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" @@ -8109,7 +8109,7 @@ msgstr "Scansiona nella posizione" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "Impostazioni di stampa" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "Cancella elemento di magazzino" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Produzione" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "Quantità Disponibile" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "Nessuna posizione impostata" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "Nuova Posizione" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "Indice" msgid "Subscribed Parts" msgstr "Articoli Sottoscritti" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "Categoria sottoscritta" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "Articoli Recenti" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "Distinta base In Attesa Di Convalida" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "Aggiornamento Recente" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "Stock esaurito" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "Richiesto per gli Ordini di Produzione" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "Stock Scaduto" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "Stock obsoleto" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "Ordini di Produzione Attivi" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "Ordini Di Produzione Scaduti" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "Ordini Di Acquisto In Corso" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "Ordini Di Acquisto In Ritardo" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "Ordini Di Vendita In Corso" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "Ordini Di Vendita in ritardo" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "Novità InvenTree" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "Notizie Attuali" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "Home Page" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "I seguenti articoli sono pochi nel magazzino richiesto" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "Clicca il seguente link per visualizzare questo articolo" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "Quantità minima" @@ -9865,7 +9865,7 @@ msgstr "Carica la Distinta Base per il sotto assemblaggio" msgid "Substitutes Available" msgstr "Sostituti Disponibili" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "Variante stock consentita" @@ -9885,25 +9885,25 @@ msgstr "I prezzi Distinta Base sono incompleti" msgid "No pricing available" msgstr "Nessun prezzo disponibile" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "Nessuna Scorta Disponibile" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "Include variante e scorte sostitutive" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Comprende varianti magazzino" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "Comprende le scorte sostitutive" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "Elementi consumabili" @@ -9935,7 +9935,7 @@ msgstr "Visualizza Distinta Base" msgid "No BOM items found" msgstr "Nessun elemento trovato in Distinta Base" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "Articolo richiesto" @@ -10104,7 +10104,7 @@ msgstr "Cancella l'output di produzione" msgid "No build order allocations found" msgstr "Nessuna allocazione per l'ordine di produzione trovato" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "Cancella l'output" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "Nessun output di produzione attivo trovato" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Seleziona Articoli" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "È necessario selezionare almeno un articolo da assegnare" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Specificare il quantitativo assegnato allo stock" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "Tutti gli articoli assegnati" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "Tutti gli articoli selezionati sono stati completamente assegnati" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 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)" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "Assegna gli Elementi Stock all'Ordine di Produzione" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Nessuna posizione di magazzino corrispondente" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "Nessun elemento corrispondente trovato" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "Assegna Automaticamente Scorte" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Gli elementi in magazzino saranno automaticamente assegnati a questo ordine di produzione, secondo le linee guida fornite" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "Se viene specificata una posizione, le scorte saranno assegnate solo da quella ubicazione" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "Se lo stock è considerato intercambiabile, sarà assegnato dal primo luogo in cui viene trovato" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" msgstr "Se lo stock sostitutivo è ammesso, sarà utilizzato nel caso in cui lo stock dell'articolo primario non possa essere trovato" -#: templates/js/translated/build.js:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "Assegna Elementi di Magazzino" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "Nessuna produzione corrispondente alla ricerca" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "Seleziona" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "L'ordine di produzione è in ritardo" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "Avanzamento" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "Nessuna informazione utente" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "gruppo" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "Modifica allocazione magazzino" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "Modifica Posizione" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "Rimuovi Posizione" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Parte tracciabile" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "Scorte sufficienti disponibili" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "Produci scorta" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "Ordina scorta" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "Assegna scorta" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "Elimina Parametri" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Articoli ordinati" @@ -10557,45 +10557,45 @@ msgstr "Modifica riduzione di prezzo" msgid "Delete price break" msgstr "Cancella riduzione di prezzo" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "vero" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "falso" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "Seleziona filtro" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "Stampa Etichette" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "Stampa report" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "Aggiungi nuovo filtro" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "Cancella tutti i filtri" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "Crea filtro" @@ -11091,117 +11091,117 @@ msgstr "Questo elemento è in ritardo" msgid "Receive line item" msgstr "Ricevi linea elemento" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "Elimina relazione tra i componenti" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "Elimina Relazione Articolo" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "Nessun articolo trovato" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "Imposta la categoria prodotto per i prodotti selezionati" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "Imposta categoria articolo" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Imposta categoria" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "Nessuna categoria" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "Visualizza come elenco" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "Visualizza come griglia" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "Carica Sotto Categorie" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "Categoria sottoscritta" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "Nessun modello di test corrispondente" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "Modificare il risultato del test" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "Questo test è definito per un articolo principale" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "Modifica Modello Risultato Test" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "Elimina Modello Risultato Test" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "Nessuna data specificata" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "La data specificata è nel passato" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "Speculativo" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "Nessuna informazione di pianificazione disponibile per questo prodotto" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "Errore nel recupero delle informazioni di programmazione per questo articolo" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "Quantità Di Scorte Programmate" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "Quantità Massima" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "Livello Minimo Stock" @@ -11992,7 +11992,7 @@ msgstr "La quantità non può essere regolata per le scorte serializzate" msgid "Specify stock quantity" msgstr "Specificare la quantità di magazzino" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "Seleziona Elementi Magazzino" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "L'articolo di magazzino è in produzione" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "Articolo di magazzino assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "Articolo stock assegnato al cliente" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "L'articolo di magazzino serializzato è stato assegnato" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "La voce di magazzino è stata completamente assegnata" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "La voce di magazzino è stata parzialmente allocata" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "L'elemento stock è stato installato in un altro articolo" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "L'articolo stock è scaduto" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "Articolo in giacenza prossimo alla scadenza" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "L'articolo stock è stato rifiutato" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "L'articolo di magazzino è andato perso" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "Articolo di magazzino distrutto" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "Fornitore dell'articolo non specificato" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "Valore Scorte" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "Nessun articolo in magazzino corrispondente alla richiesta" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "Caricare sublocazioni" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "Dettagli" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "Informazioni sull'articolo non disponibili" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "L'ordine di acquisto non esiste più" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "L'ordine di vendita non esiste più" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "L'ordine di ritorno non esiste più" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "Il cliente non esiste più" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "L'articolo in magazzino non esiste più" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "Nessun elemento installato" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "Disinstallare l'articolo di magazzino" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "Selezionare l'articolo di magazzino da disinstallare" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "Installare un altro articolo di magazzino in questo articolo" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Gli articoli in magazzino possono essere installati solo se soddisfano i seguenti criteri" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "L'articolo di magazzino si collega a un'articolo che è la distinta base di questo articolo di magazzino" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "L'articolo in stock è attualmente disponibile in magazzino" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "L'articolo di magazzino non è già installato in un altro articolo" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "L'articolo di magazzino è tracciato da un codice di lotto o da un numero di serie" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "Selezionare la parte da installare" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "Esporta Dati Tabella" msgid "Select File Format" msgstr "Seleziona Formato File" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "Caricamento dati" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "righe per pagina" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "Mostra tutte le righe" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "Visualizzo" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "a" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "di" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "righe" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "Nessun risultato corrispondente" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "Mostra/nascondi la paginazione" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "Attiva/disattiva" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "Colonne" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "Tutti" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 04d9628f31..6bf4c64950 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -25,19 +25,19 @@ msgstr "APIエンドポイントが見つかりません" msgid "User does not have permission to view this model" msgstr "ユーザーにこのモデルを表示する権限がありません" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "値がありません" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "指定された値は有効な数値ではありません。" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "指定された値に無効な単位があります" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "指定された値は指定された単位に変換できませんでした" @@ -68,7 +68,7 @@ msgstr "日付を入力する" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "メモ" @@ -259,7 +259,7 @@ msgstr "添付ファイルを選択" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "ファイルコメント" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "ユーザー" @@ -342,7 +342,7 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "お名前" @@ -363,20 +363,20 @@ msgstr "お名前" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "説明" @@ -389,7 +389,7 @@ msgid "parent" msgstr "親" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "パーツ" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "" @@ -1089,7 +1089,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "数量" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "在庫商品" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "ステータス" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "購入金額" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "パーツ" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "カテゴリ" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "在庫" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "在庫切れ" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "組立" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "期限切れ在庫" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "パーツの注文" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index cbc11f5e6c..a1621ca622 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -25,19 +25,19 @@ msgstr "API endpoint 없음" msgid "User does not have permission to view this model" msgstr "이 모델을 볼 수 있는 권한이 없습니다." -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "날짜 입력" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "메모" @@ -259,7 +259,7 @@ msgstr "첨부할 파일을 선택하세요" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "사용자" @@ -342,7 +342,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "이름" @@ -363,20 +363,20 @@ msgstr "이름" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "설명" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "" @@ -1089,7 +1089,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "수량" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "위치" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "상태" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "고객" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "홈페이지" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "선택" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index daeb6fce30..682e6329b4 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -25,19 +25,19 @@ msgstr "API eindpunt niet gevonden" msgid "User does not have permission to view this model" msgstr "Gebruiker heeft geen rechten om dit model te bekijken" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Voer datum in" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Opmerkingen" @@ -259,7 +259,7 @@ msgstr "Bestand als bijlage selecteren" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Bestand opmerking" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Gebruiker" @@ -342,7 +342,7 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Naam" @@ -363,20 +363,20 @@ msgstr "Naam" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Omschrijving" @@ -389,7 +389,7 @@ msgid "parent" msgstr "bovenliggende" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Pad" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "Toegewezen" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Productieorder" @@ -908,7 +908,7 @@ msgstr "Productieorder" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Productieorderreferentie" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Onderdeel" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Verkooporder waar deze productie aan is toegewezen" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Bronlocatie" @@ -1081,7 +1081,7 @@ 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:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -1089,7 +1089,7 @@ msgstr "Opleveringsdatum" msgid "completed by" msgstr "voltooid door" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Uitgegeven door" @@ -1104,7 +1104,7 @@ msgstr "Gebruiker die de productieorder heeft gegeven" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Prioriteit van deze bouwopdracht" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Hoeveelheid" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Voorraadartikel" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Bestemming voorraadartikel" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Productieuitvoer" @@ -1360,7 +1360,7 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Locatie" @@ -1397,13 +1397,13 @@ msgstr "Locatie van voltooide productieuitvoeren" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Status" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Barcode acties" @@ -1694,7 +1694,7 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "Voltooide Uitvoeren" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Verkooporder" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Uitgegeven door" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "Prioriteit" @@ -1792,11 +1792,11 @@ msgstr "Toegewezen Onderdelen" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Batch" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Gecreëerd" @@ -3720,7 +3720,7 @@ msgstr "Parameterwaarde" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Eenheden" @@ -3805,7 +3805,7 @@ msgstr "Minimale kosten (bijv. voorraadkosten)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "Order meerdere" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Klant" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Nieuwe Inkooporder" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Leveranciersonderdeel" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Inkooporder" @@ -4432,7 +4432,7 @@ msgstr "Inkooporder" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "Aantal ontvangen artikelen" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Inkoopprijs" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "Verkoooporder Artikelen" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "Verzendingen in behandeling" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Acties" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "In bestelling" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Datum" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "Totaal" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "Scan naar Locatie" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Product" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "Geen locatie ingesteld" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "Nieuwe Locatie" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "Vereist voor Productieorder" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "Productieorders in Uitvoering" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "Achterstallige Productieorders" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "Openstaande Inkooporders" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "Achterstallige Inkooporders" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "Openstaande Verkooporders" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "Achterstallige Verkooporders" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "Startpagina" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "De volgende onderdelen hebben een lage vereiste voorraad" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "Geen Voorraad Aanwezig" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "Verwijder Productieuitvoeren" msgid "No build order allocations found" msgstr "Geen productieordertoewijzingen gevonden" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "Verwijder uitvoeren" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "Geen actieve productieuitvoeren gevonden" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Onderdelen selecteren" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 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:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "Specificeer voorraadtoewijzingshoeveelheid" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "Voorraadartikelen toewijzen aan Productieorder" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "Geen overeenkomende voorraadlocaties" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "Geen overeenkomende voorraadartikelen" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "Voorraadartikelen zullen automatisch worden toegewezen aan de productieorder volgens de aangegeven richtlijnen" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "Productieorder is achterstallig" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "Voorraadtoewijzing bewerken" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "Voorraadtoewijzing verwijderen" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "Genoeg voorraad beschikbaar" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "Productie voorraad" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "Voorraad order" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "Voorraad toewijzen" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "Parameter verwijderen" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Bestel onderdelen" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "Dit artikel is achterstallig" msgid "Receive line item" msgstr "Artikel ontvangen" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "Voorraadartikel toegewezen aan verkooporder" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "Inkooporder bestaat niet meer" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "rijen per pagina" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 30241e2d05..fd96df74e0 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -25,19 +25,19 @@ msgstr "API-endepunkt ikke funnet" msgid "User does not have permission to view this model" msgstr "Brukeren har ikke rettigheter til å se denne modellen" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "Ingen verdi angitt" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "Angitt verdi er ikke et gyldig tall" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "Angitt verdi har en ugyldig enhet" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Oppgi dato" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Notater" @@ -259,7 +259,7 @@ msgstr "Velg fil å legge ved" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Kommentar til fil" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Bruker" @@ -342,7 +342,7 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Navn" @@ -363,20 +363,20 @@ msgstr "Navn" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Beskrivelse" @@ -389,7 +389,7 @@ msgid "parent" msgstr "overkategori" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Sti" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "Forbruksvare" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "Valgfritt" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Build ordre" @@ -908,7 +908,7 @@ msgstr "Build ordre" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Bygg ordrereferanse" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Build order som denne build er tildelt til" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Del" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Salgsordren denne produksjonen er tildelt til" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Kildeplassering" @@ -1081,7 +1081,7 @@ 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:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Fullført dato" @@ -1089,7 +1089,7 @@ msgstr "Fullført dato" msgid "completed by" msgstr "fullført av" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Utstedt av" @@ -1104,7 +1104,7 @@ msgstr "Brukeren som utstede denne prosjekt order" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Produksjonsordrens prioritet" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Antall" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Lagervare" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Lagervare for montering" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Produksjonsartikkel" @@ -1360,7 +1360,7 @@ msgstr "En liste over produksjonsartikler må oppgis" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "En liste over produksjonsartikler må oppgis" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Plassering" @@ -1397,13 +1397,13 @@ msgstr "Plassering for ferdige produksjonsartikler" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Status" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Strekkodehandlinger" @@ -1694,7 +1694,7 @@ msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "Fullførte byggeresultater" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Salgsordre" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Utstedt av" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "Prioritet" @@ -1792,11 +1792,11 @@ msgstr "Tildelte deler" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Parti" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Opprettet" @@ -3720,7 +3720,7 @@ msgstr "Parameterverdi" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Enheter" @@ -3805,7 +3805,7 @@ msgstr "Minimum betaling (f.eks. lageravgift på lager)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Emballasje" @@ -3838,7 +3838,7 @@ msgstr "Bestill flere" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "Slett bilde" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Kunde" @@ -4013,7 +4013,7 @@ msgstr "Leverandørs lagerbeholdning" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Ny innkjøpsordre" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Leverandørdel" @@ -4283,7 +4283,7 @@ msgstr "Oppdater Delens Tilgjengelighet" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Lagervarer" @@ -4423,7 +4423,7 @@ msgstr "Ingen samsvarende innkjøpsordre funnet" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Innkjøpsordre" @@ -4432,7 +4432,7 @@ msgstr "Innkjøpsordre" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "Returordre" @@ -4637,7 +4637,7 @@ msgstr "Antall enheter mottatt" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Innkjøpspris" @@ -5134,7 +5134,7 @@ msgstr "Duplikatvalg" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "Salgsordreartikler" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "Ventende forsendelser" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Handlinger" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Deler" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Kategori" @@ -5736,7 +5736,7 @@ msgstr "Bruker ansvarlig for denne delen" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Siste lagertelling" @@ -5892,7 +5892,7 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Dato" @@ -5952,7 +5952,7 @@ msgstr "Testmaler kan bare bli opprettet for sporbare deler" msgid "Test with this name already exists for this part" msgstr "Test med dette navnet finnes allerede for denne delen" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Testnavn" @@ -5968,7 +5968,7 @@ msgstr "Testbeskrivelse" msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Påkrevd" @@ -5977,7 +5977,7 @@ msgstr "Påkrevd" msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Krever verdi" @@ -5985,7 +5985,7 @@ msgstr "Krever verdi" msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Krever vedlegg" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "Oppdater planleggingsdata" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Oppdater" @@ -6603,7 +6603,7 @@ msgstr "Legg til lagertellingsinformasjon" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "Lagertelling" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "Minimalt lagerbeholdningsnivå" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "Del-QR-kode" msgid "Link Barcode to Part" msgstr "Koble strekkode til Del" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "Varianter" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Lagerbeholdning" @@ -7002,7 +7002,7 @@ msgstr "Oppdater delprising" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "Sist oppdatert" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "Legg til salgsprisbrudd" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "Ingen lagerbeholdning" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "Lav lagerbeholdning" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Produksjon" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "Tilgjengelig antall" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "Ingen plassering satt" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "Ny plassering" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "Følgende deler har for lav lagerbeholdning" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "Antall som kreves" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "Klikk på følgende lenke for å se denne delen" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "Minimum antall" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "Inkluderer erstatningsbeholdning" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "Forbruksvare" @@ -9935,7 +9935,7 @@ msgstr "Vis stykkliste" msgid "No BOM items found" msgstr "Ingen stykklisteartikler funnet" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "Påkrevd del" @@ -10104,7 +10104,7 @@ msgstr "Slett Produksjonsartikler" msgid "No build order allocations found" msgstr "Ingen tildelinger til produksjonsordre funnet" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "Slett resultat" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "Ingen aktive produksjonsartikler funnet" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "Rediger lagertildeling" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "Slett lagertildeling" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "Rediger tildeling" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "Slett tildeling" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Sporbar del" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Bestill deler" @@ -10557,45 +10557,45 @@ msgstr "Rediger prisbrudd" msgid "Delete price break" msgstr "Slett prisbrudd" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "sant" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "usant" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "Velg filter" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "Skriv ut etiketter" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "Skriv ut rapporter" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "Last ned tabelldata" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "Last tabelldata på nytt" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "Legg til nytt filter" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "Fjern alle filtre" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "Opprett filter" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Sett kategori" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index a5e76d9f48..49530933e6 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -25,19 +25,19 @@ msgstr "Nie znaleziono punktu końcowego API" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Wprowadź dane" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Uwagi" @@ -259,7 +259,7 @@ msgstr "Wybierz plik do załączenia" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Komentarz pliku" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Użytkownik" @@ -342,7 +342,7 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Nazwa" @@ -363,20 +363,20 @@ msgstr "Nazwa" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Opis" @@ -389,7 +389,7 @@ msgid "parent" msgstr "nadrzędny" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Ścieżka" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "Opcjonalne" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "Przydzielono" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Zlecenie Budowy" @@ -908,7 +908,7 @@ msgstr "Zlecenie Budowy" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Odwołanie do zamówienia wykonania" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Komponent" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Lokalizacja źródła" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Data zakończenia" @@ -1089,7 +1089,7 @@ msgstr "Data zakończenia" msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Wydany przez" @@ -1104,7 +1104,7 @@ msgstr "Użytkownik, który wydał to zamówienie" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Ilość" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Element magazynowy" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Lokalizacja" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Status" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Akcje kodów kreskowych" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Dodane przez" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Partia" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Utworzony" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Jednostki" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Opakowanie" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Klient" @@ -4013,7 +4013,7 @@ msgstr "Zapasy dostawcy" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Nowe zamówienie zakupu" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Towary" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Zlecenie zakupu" @@ -4432,7 +4432,7 @@ msgstr "Zlecenie zakupu" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Cena zakupu" @@ -5134,7 +5134,7 @@ msgstr "Duplikuj wybrane" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "Oczekujące przesyłki" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Akcje" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Wersja" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "Na stanie" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "W Zamówieniu" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "Użyte w" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "Ścieżka kategorii" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Części" @@ -5549,7 +5549,7 @@ msgstr "Kategorie części" msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Kategoria" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Data" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nazwa testu" @@ -5968,7 +5968,7 @@ msgstr "Testowy opis" msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Wymagane" @@ -5977,7 +5977,7 @@ msgstr "Wymagane" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Wymaga wartości" @@ -5985,7 +5985,7 @@ msgstr "Wymaga wartości" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Wymaga załącznika" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Odśwież" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "Minimalny poziom stanu magazynowego" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "Kod QR części" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "Warianty" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "Brak w magazynie" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "Mała ilość w magazynie" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "Razem" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "Zainstalowane elementy" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "Numer seryjny" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "Data ważności" @@ -7681,7 +7681,7 @@ msgstr "Wybierz właściciela" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "Skanuj do lokacji" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "Akcje druku" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Budowa" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "Lokacje nie są ustawione" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "Nowa lokalizacja" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "Indeks" msgid "Subscribed Parts" msgstr "Obserwowane elementy" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "Obserwowane kategorie" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "Najnowsze części" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "Wyczerpane stany magazynowe" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "Zaległe zlecenia budowy" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "Trwające zlecenia zakupu" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "Zaległe zlecenia zakupu" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "Trwające zlecenia sprzedaży" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "Zaległe zlecenia sprzedaży" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "Strona główna" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "Minimalna ilość" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "Zobacz BOM" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Wybierz części" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "Wybierz" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "Brak informacji o użytkowniku" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "Usuń parametry" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Zamów komponenty" @@ -10557,45 +10557,45 @@ msgstr "Edytuj przedział cenowy" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "prawda" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "fałsz" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "Wybierz filtr" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "Dodaj nowy filtr" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "Wyczyść wszystkie filtry" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "Utwórz filtr" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "Nie znaleziono części" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "Ustaw kategorię części" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Ustaw kategorię" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "Brak kategorii" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "Wyświetl jako listę" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "Wyświetl jako siatkę" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "Wyświetl jako drzewo" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "Obserwowana kategoria" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "Wybierz przedmioty magazynowe" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "Szczegóły" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "Lokalizacja już nie istnieje" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "Zamówienie zakupu już nie istnieje" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "Klient już nie istnieje" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "Element magazynowy już nie istnieje" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "Usunięto" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "Eksportuj dane tabeli" msgid "Select File Format" msgstr "Wybierz format pliku" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "Wczytywanie danych" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "wierszy na stronę" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "Pokaż wszystkie wiersze" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "Pokazywane" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "do" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "z" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "wierszy" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "Brak pasujących wyników" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "Ukryj/Pokaż stronicowanie" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "Przełącz" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "Kolumny" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "Wszystkie" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index db9c8fe888..43db866694 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -25,19 +25,19 @@ msgstr "API endpoint não encontrado" msgid "User does not have permission to view this model" msgstr "Usuário não tem permissão para ver este modelo" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "Nenhum valor fornecido" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "O valor fornecido não é um número válido" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "Valor fornecido tem uma unidade inválida" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "Valor fornecido não pôde ser convertido para a unidade especificada" @@ -68,7 +68,7 @@ msgstr "Insira uma Data" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Anotações" @@ -123,7 +123,7 @@ msgstr "O domínio de e-mail providenciado não foi aprovado." #: InvenTree/forms.py:345 msgid "Registration is disabled." -msgstr "" +msgstr "Cadastro está desativado." #: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" @@ -259,7 +259,7 @@ msgstr "Selecione arquivo para anexar" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Comentario sobre arquivo" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Usuario" @@ -342,7 +342,7 @@ msgstr "Escolha inválida" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Nome" @@ -363,20 +363,20 @@ msgstr "Nome" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Descricao" @@ -389,7 +389,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Caminho" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "Consumível" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -886,10 +886,10 @@ msgstr "Opcional" #: build/api.py:288 templates/js/translated/table_filters.js:360 #: templates/js/translated/table_filters.js:514 msgid "Tracked" -msgstr "" +msgstr "Monitorado" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "Alocado" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Ondem de Produção" @@ -908,7 +908,7 @@ msgstr "Ondem de Produção" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Referência do pedido de produção" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Peça" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Ordem de Venda para qual esta produção está alocada" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Local de Origem" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data alvo para finalização de produção. Estará atrasado a partir deste dia." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Data de conclusão" @@ -1089,7 +1089,7 @@ msgstr "Data de conclusão" msgid "completed by" msgstr "Concluído em" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Emitido em" @@ -1104,7 +1104,7 @@ msgstr "Usuário que emitiu esta ordem de produção" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "Prioridade desta ordem de produção" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1148,7 +1148,7 @@ msgstr "Código do projeto" #: build/models.py:310 msgid "Project code for this build order" -msgstr "" +msgstr "Código do projeto para esta ordem de produção" #: build/models.py:545 #, python-brace-format @@ -1184,7 +1184,7 @@ msgstr "Quantidade não pode ser maior do que a quantidade de saída" #: build/models.py:1260 msgid "Build object" -msgstr "" +msgstr "Objeto de produção" #: build/models.py:1274 build/models.py:1556 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,14 +1227,14 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Quantidade" #: build/models.py:1275 msgid "Required quantity for build order" -msgstr "" +msgstr "Quantidade necessária para a ordem de produção" #: build/models.py:1357 msgid "Build item must specify a build output, as master part is marked as trackable" @@ -1259,14 +1259,14 @@ msgstr "Quantidade deve ser 1 para estoque serializado" #: build/models.py:1449 msgid "Selected stock item does not match BOM line" -msgstr "" +msgstr "Item estoque selecionado não coincide com linha da LDM" #: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Item de estoque" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Destino do Item do Estoque" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Saída da Produção" @@ -1360,7 +1360,7 @@ msgstr "Uma lista de saídas de produção deve ser fornecida" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "Uma lista de saídas de produção deve ser fornecida" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Local" @@ -1383,11 +1383,11 @@ msgstr "Descartar alocações" #: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas" #: build/serializers.py:436 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "Motivo para sucatear saída(s) de produção" #: build/serializers.py:497 msgid "Location for completed build outputs" @@ -1397,13 +1397,13 @@ msgstr "Local para saídas de produção concluídas" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Situação" @@ -1485,7 +1485,7 @@ msgstr "Pedido de produção tem saídas incompletas" #: build/serializers.py:722 msgid "Build Line" -msgstr "" +msgstr "Linha de produção" #: build/serializers.py:732 msgid "Build output" @@ -1497,7 +1497,7 @@ msgstr "Saída de produção deve indicar a mesma produção" #: build/serializers.py:776 msgid "Build Line Item" -msgstr "" +msgstr "Item da linha de produção" #: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" @@ -1579,7 +1579,7 @@ msgstr "Pedido de produção {bo} está atrasada" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Miniatura da parte" #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Ações de código de barras" @@ -1694,7 +1694,7 @@ msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "Saídas Concluídas" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Pedido de Venda" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Emitido por" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "Prioridade" @@ -1792,11 +1792,11 @@ msgstr "Peças alocadas" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Lote" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Criado" @@ -1834,11 +1834,11 @@ msgstr "Alocar Estoque para Produção" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "Desalocar estoque" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "Desalocar estoque" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" @@ -1879,7 +1879,7 @@ msgstr "Nova saída de produção" #: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "" +msgstr "Consumir estoque" #: build/templates/build/detail.html:244 msgid "Completed Build Outputs" @@ -1911,7 +1911,7 @@ msgstr "Alocação Concluída" #: build/templates/build/detail.html:426 msgid "All lines have been fully allocated" -msgstr "" +msgstr "Todas as linhas foram totalmente alocadas" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" @@ -2597,11 +2597,11 @@ msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" #: common/models.py:1471 msgid "Show Installed Stock Items" -msgstr "" +msgstr "Mostrar Itens de Estoque Instalados" #: common/models.py:1472 msgid "Display installed stock items in stock tables" -msgstr "" +msgstr "Exibir itens de estoque instalados nas tabelas de estoque" #: common/models.py:1478 msgid "Build Order Reference Pattern" @@ -3237,27 +3237,27 @@ msgstr "Limite máximo de comprimento para frases exibidas nas visualizações d #: common/models.py:2098 msgid "Default part label template" -msgstr "" +msgstr "Modelo de rótulo padrão da peça" #: common/models.py:2099 msgid "The part label template to be automatically selected" -msgstr "" +msgstr "O modelo de rótulo da peça a ser selecionado automaticamente" #: common/models.py:2107 msgid "Default stock item template" -msgstr "" +msgstr "Modelo padrão de item de estoque" #: common/models.py:2108 msgid "The stock item label template to be automatically selected" -msgstr "" +msgstr "O modelo de rótulo do item a ser selecionado automaticamente" #: common/models.py:2116 msgid "Default stock location label template" -msgstr "" +msgstr "Modelo de rótulo de localização do estoque padrão" #: common/models.py:2117 msgid "The stock location label template to be automatically selected" -msgstr "" +msgstr "O modelo de rótulo do local de estoque a ser selecionado automaticamente" #: common/models.py:2163 msgid "Price break quantity" @@ -3555,94 +3555,94 @@ msgstr "Empresa" #: company/models.py:324 msgid "Company already has a primary address" -msgstr "" +msgstr "A empresa já tem um endereço principal" #: company/models.py:329 msgid "Select company" -msgstr "" +msgstr "Selecione a Empresa" #: company/models.py:332 msgid "Address title" -msgstr "" +msgstr "Título do endereço" #: company/models.py:333 msgid "Title describing the address entry" -msgstr "" +msgstr "Título descrevendo a entrada de endereço" #: company/models.py:337 msgid "Primary address" -msgstr "" +msgstr "Endereço Principal" #: company/models.py:338 msgid "Set as primary address" -msgstr "" +msgstr "Definir como endereço principal" #: company/models.py:341 templates/js/translated/company.js:941 #: templates/js/translated/company.js:1002 msgid "Line 1" -msgstr "" +msgstr "Linha 1" #: company/models.py:342 msgid "Address line 1" -msgstr "" +msgstr "Linha de endereço 1" #: company/models.py:346 templates/js/translated/company.js:942 #: templates/js/translated/company.js:1008 msgid "Line 2" -msgstr "" +msgstr "Linha 2" #: company/models.py:347 msgid "Address line 2" -msgstr "" +msgstr "Linha de endereço 2" #: company/models.py:351 company/models.py:352 #: templates/js/translated/company.js:1014 msgid "Postal code" -msgstr "" +msgstr "Código Postal" #: company/models.py:356 msgid "City/Region" -msgstr "" +msgstr "Cidade/Região" #: company/models.py:357 msgid "Postal code city/region" -msgstr "" +msgstr "Código Postal Cidade / Região" #: company/models.py:361 msgid "State/Province" -msgstr "" +msgstr "Estado/Provincia" #: company/models.py:362 msgid "State or province" -msgstr "" +msgstr "Estado ou Província" #: company/models.py:366 templates/js/translated/company.js:1032 msgid "Country" -msgstr "" +msgstr "País" #: company/models.py:367 msgid "Address country" -msgstr "" +msgstr "País do endereço" #: company/models.py:371 msgid "Courier shipping notes" -msgstr "" +msgstr "Notas de envio da transportadora" #: company/models.py:372 msgid "Notes for shipping courier" -msgstr "" +msgstr "Notas para o envio da transportadora" #: company/models.py:376 msgid "Internal shipping notes" -msgstr "" +msgstr "Notas de envio interno" #: company/models.py:377 msgid "Shipping notes for internal use" -msgstr "" +msgstr "Notas de envio para uso interno" #: company/models.py:382 msgid "Link to address information (external)" -msgstr "" +msgstr "Link para as informações do endereço (externo)" #: company/models.py:427 company/models.py:702 stock/models.py:675 #: stock/serializers.py:204 stock/templates/stock/item_base.html:143 @@ -3720,7 +3720,7 @@ msgstr "Valor do Parâmetro" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Unidades" @@ -3730,11 +3730,11 @@ msgstr "Unidades do parâmetro" #: company/models.py:647 msgid "Pack units must be compatible with the base part units" -msgstr "" +msgstr "Unidades de pacote devem ser compatíveis com as unidades de peça base" #: company/models.py:653 msgid "Pack units must be greater than zero" -msgstr "" +msgstr "Unidades de pacote deve ser maior do que zero" #: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" @@ -3805,7 +3805,7 @@ msgstr "Taxa mínima (ex.: taxa de estoque)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Embalagem" @@ -3825,7 +3825,7 @@ msgstr "Quantidade de embalagens" #: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "" +msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos." #: company/models.py:773 part/models.py:1923 msgid "multiple" @@ -3838,7 +3838,7 @@ msgstr "Pedir múltiplos" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "Excluir imagem" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Cliente" @@ -4013,7 +4013,7 @@ msgstr "Estoque do Fornecedor" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Novo Pedido de Compra" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4093,12 +4093,12 @@ msgstr "Adicionar Contato" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "" +msgstr "Endereços da empresa" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "" +msgstr "Adicionar endereço" #: company/templates/company/index.html:8 msgid "Supplier List" @@ -4182,14 +4182,14 @@ msgstr "Contatos" #: company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "" +msgstr "Endereços" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Fornecedor da Peça" @@ -4283,7 +4283,7 @@ msgstr "Atualizar disponibilidade de peças" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Itens de Estoque" @@ -4423,7 +4423,7 @@ msgstr "Nenhum pedido de compra correspondente encontrado" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Pedido de Compra" @@ -4432,7 +4432,7 @@ msgstr "Pedido de Compra" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "Devolver pedido" @@ -4637,7 +4637,7 @@ msgstr "Número de itens recebidos" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Preço de Compra" @@ -5134,7 +5134,7 @@ msgstr "Duplicar seleção" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "Itens do Pedido de Venda" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "Envios Pendentes" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Ações" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "Descrição da Peça" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisão" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "Em Estoque" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "No pedido" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "Usado em" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "Produzindo" @@ -5457,7 +5457,7 @@ msgstr "Caminho da Categoria" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Peças" @@ -5549,7 +5549,7 @@ msgstr "Categorias de Peça" msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Categoria" @@ -5736,7 +5736,7 @@ msgstr "Usuário responsável por esta peça" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Último Balanço" @@ -5892,7 +5892,7 @@ msgstr "Estoque total disponível no momento do balanço" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "Data" @@ -5952,7 +5952,7 @@ msgstr "Modelos de teste só podem ser criados para peças rastreáveis" msgid "Test with this name already exists for this part" msgstr "O teste com este nome já existe para esta peça" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nome de Teste" @@ -5968,7 +5968,7 @@ msgstr "Descrição do Teste" msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Requerido" @@ -5977,7 +5977,7 @@ msgstr "Requerido" msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Requer Valor" @@ -5985,7 +5985,7 @@ msgstr "Requer Valor" msgid "Does this test require a value when adding a test result?" msgstr "Este teste requer um valor ao adicionar um resultado de teste?" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Anexo obrigatório" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "Atualizar dados de agendamento" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Recarregar" @@ -6603,7 +6603,7 @@ msgstr "Adicionar informações de balanço de estoque" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "Balanço" @@ -6790,7 +6790,7 @@ msgstr "Contagem peça em estoque" msgid "Transfer part stock" msgstr "Transferir estoque de peça" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "Ações de peça" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "Nível mínimo de estoque" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "QR Code da Peça" msgid "Link Barcode to Part" msgstr "Vincular Código de Barras à Peça" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "peça" @@ -6967,9 +6967,9 @@ msgstr "Variantes" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Estoque" @@ -7002,7 +7002,7 @@ msgstr "Atualizar Preço da Peça" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "Última atualização" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "Adicionar intervalo de preço de venda" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "Sem Estoque" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "Estoque Baixo" @@ -7281,17 +7281,17 @@ msgstr "Método" msgid "No author found" msgstr "Nenhum autor encontrado" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Extensão requer pelo menos a versão {v}" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Extensão requer no máximo a versão {v}" @@ -7507,8 +7507,8 @@ msgstr "Total" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "Itens instalados" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "Série" @@ -7628,7 +7628,7 @@ msgstr "Excluir quando esgotado" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "Data de validade" @@ -7681,7 +7681,7 @@ msgstr "Selecionar Responsável" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Externo" @@ -8087,7 +8087,7 @@ msgstr "Notas de Item Estoque" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "Excluir item de estoque" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Produção" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "Estoque Inativo" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "Exlcuir saídas" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Pedir peças" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Definir categoria" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index c66e4d295c..ada5f437c0 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: 2023-06-12 21:36+0000\n" +"POT-Creation-Date: 2023-06-21 06:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -50,26 +50,26 @@ msgstr "" msgid "Enter date" msgstr "" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "" @@ -82,47 +82,51 @@ msgstr "" msgid "Provided value does not match required pattern: " msgstr "" -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "" -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "" -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "" @@ -240,7 +244,7 @@ msgstr "" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "" @@ -248,29 +252,30 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:493 common/models.py:2688 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "" @@ -278,13 +283,13 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 -#: common/models.py:2148 common/models.py:2361 common/models.py:2362 -#: common/models.py:2618 common/models.py:2619 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "" @@ -325,53 +330,54 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:78 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "" @@ -384,7 +390,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "" @@ -420,12 +426,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -498,130 +504,130 @@ msgstr "" msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:743 msgid "German" msgstr "" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:745 msgid "English" msgstr "" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:749 msgid "Finnish" msgstr "" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:750 msgid "French" msgstr "" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "" -#: InvenTree/settings.py:741 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "" -#: InvenTree/settings.py:742 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "" -#: InvenTree/settings.py:743 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "" -#: InvenTree/settings.py:744 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:745 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "" -#: InvenTree/settings.py:746 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "" -#: InvenTree/settings.py:747 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:748 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "" @@ -631,7 +637,7 @@ msgstr "" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "" @@ -655,10 +661,10 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "" @@ -690,7 +696,7 @@ msgstr "" msgid "Legacy stock tracking entry" msgstr "" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "" @@ -746,7 +752,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "" @@ -766,7 +772,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "" @@ -782,7 +788,7 @@ msgstr "" msgid "Returned against Return Order" msgstr "" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "" @@ -850,83 +856,111 @@ msgstr "" msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "" -#: build/models.py:167 +#: build/models.py:171 msgid "Brief description of the build (optional)" msgstr "" -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -936,266 +970,229 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:310 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" +#: build/models.py:1260 +msgid "Build object" msgstr "" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2169 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1204,315 +1201,367 @@ msgstr "" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "" -#: build/models.py:1469 +#: build/models.py:1275 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1449 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "" -#: build/serializers.py:416 +#: build/serializers.py:424 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:422 +#: build/serializers.py:430 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "" - -#: build/serializers.py:724 -msgid "Build output" +#: build/serializers.py:722 +msgid "Build Line" msgstr "" #: build/serializers.py:732 +msgid "Build output" +msgstr "" + +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:782 +#: build/serializers.py:776 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "" @@ -1541,6 +1590,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1619,69 +1669,67 @@ msgstr "" msgid "Build Description" msgstr "" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" msgstr "" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1689,32 +1737,32 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 msgid "Build Order QR Code" msgstr "" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" msgstr "" @@ -1730,8 +1778,8 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "" @@ -1745,21 +1793,21 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "" @@ -1767,147 +1815,106 @@ msgstr "" msgid "No target date set" msgstr "" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" msgstr "" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "" - -#: build/templates/build/detail.html:265 -msgid "Scrap selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:266 -msgid "Scrap outputs" -msgstr "" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" msgstr "" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" +#: build/templates/build/detail.html:426 +msgid "All lines have been fully allocated" msgstr "" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "" @@ -1915,14 +1922,10 @@ msgstr "" msgid "Build Order Details" msgstr "" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "" - #: common/files.py:63 #, python-brace-format msgid "Unsupported file format: {fmt}" @@ -1969,16 +1972,6 @@ msgstr "" msgid "Timestamp of last update" msgstr "" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -msgid "Project Code" -msgstr "" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2130,7 +2123,7 @@ msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 #: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1688 +#: common/models.py:1323 common/models.py:1446 common/models.py:1695 msgid "days" msgstr "" @@ -2262,9 +2255,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2272,10 +2265,10 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "" @@ -2283,8 +2276,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2292,7 +2285,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "" @@ -2300,8 +2293,8 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2309,10 +2302,10 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "" @@ -2320,10 +2313,10 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "" @@ -2355,7 +2348,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2604,291 +2597,291 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" +msgid "Show Installed Stock Items" msgstr "" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 -msgid "Enable Return Orders" +msgid "Build Order Reference Pattern" msgstr "" #: common/models.py:1479 -msgid "Enable return order functionality in the user interface" +msgid "Required pattern for generating Build Order reference field" msgstr "" #: common/models.py:1485 -msgid "Return Order Reference Pattern" +msgid "Enable Return Orders" msgstr "" #: common/models.py:1486 -msgid "Required pattern for generating Return Order reference field" +msgid "Enable return order functionality in the user interface" msgstr "" #: common/models.py:1492 -msgid "Edit Completed Return Orders" +msgid "Return Order Reference Pattern" msgstr "" #: common/models.py:1493 -msgid "Allow editing of return orders after they have been completed" +msgid "Required pattern for generating Return Order reference field" msgstr "" #: common/models.py:1499 -msgid "Sales Order Reference Pattern" +msgid "Edit Completed Return Orders" msgstr "" #: common/models.py:1500 -msgid "Required pattern for generating Sales Order reference field" +msgid "Allow editing of return orders after they have been completed" msgstr "" #: common/models.py:1506 -msgid "Sales Order Default Shipment" +msgid "Sales Order Reference Pattern" msgstr "" #: common/models.py:1507 -msgid "Enable creation of default shipment with sales orders" +msgid "Required pattern for generating Sales Order reference field" msgstr "" #: common/models.py:1513 -msgid "Edit Completed Sales Orders" +msgid "Sales Order Default Shipment" msgstr "" #: common/models.py:1514 -msgid "Allow editing of sales orders after they have been shipped or completed" +msgid "Enable creation of default shipment with sales orders" msgstr "" #: common/models.py:1520 -msgid "Purchase Order Reference Pattern" +msgid "Edit Completed Sales Orders" msgstr "" #: common/models.py:1521 -msgid "Required pattern for generating Purchase Order reference field" +msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" #: common/models.py:1527 -msgid "Edit Completed Purchase Orders" +msgid "Purchase Order Reference Pattern" msgstr "" #: common/models.py:1528 -msgid "Allow editing of purchase orders after they have been shipped or completed" +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1534 +msgid "Edit Completed Purchase Orders" msgstr "" #: common/models.py:1535 -msgid "Enable password forgot" -msgstr "" - -#: common/models.py:1536 -msgid "Enable password forgot function on the login pages" +msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" #: common/models.py:1542 -msgid "Enable registration" +msgid "Enable password forgot" msgstr "" #: common/models.py:1543 -msgid "Enable self-registration for users on the login pages" +msgid "Enable password forgot function on the login pages" msgstr "" #: common/models.py:1549 -msgid "Enable SSO" +msgid "Enable registration" msgstr "" #: common/models.py:1550 -msgid "Enable SSO on the login pages" +msgid "Enable self-registration for users on the login pages" msgstr "" #: common/models.py:1556 -msgid "Enable SSO registration" +msgid "Enable SSO" msgstr "" #: common/models.py:1557 -msgid "Enable self-registration via SSO for users on the login pages" +msgid "Enable SSO on the login pages" msgstr "" #: common/models.py:1563 -msgid "Email required" +msgid "Enable SSO registration" msgstr "" #: common/models.py:1564 -msgid "Require user to supply mail on signup" +msgid "Enable self-registration via SSO for users on the login pages" msgstr "" #: common/models.py:1570 -msgid "Auto-fill SSO users" +msgid "Email required" msgstr "" #: common/models.py:1571 -msgid "Automatically fill out user-details from SSO account-data" +msgid "Require user to supply mail on signup" msgstr "" #: common/models.py:1577 -msgid "Mail twice" +msgid "Auto-fill SSO users" msgstr "" #: common/models.py:1578 -msgid "On signup ask users twice for their mail" +msgid "Automatically fill out user-details from SSO account-data" msgstr "" #: common/models.py:1584 -msgid "Password twice" +msgid "Mail twice" msgstr "" #: common/models.py:1585 -msgid "On signup ask users twice for their password" +msgid "On signup ask users twice for their mail" msgstr "" #: common/models.py:1591 -msgid "Allowed domains" +msgid "Password twice" msgstr "" #: common/models.py:1592 -msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgid "On signup ask users twice for their password" msgstr "" #: common/models.py:1598 -msgid "Group on signup" +msgid "Allowed domains" msgstr "" #: common/models.py:1599 -msgid "Group to which new users are assigned on registration" +msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" #: common/models.py:1605 -msgid "Enforce MFA" +msgid "Group on signup" msgstr "" #: common/models.py:1606 -msgid "Users must use multifactor security." +msgid "Group to which new users are assigned on registration" msgstr "" #: common/models.py:1612 -msgid "Check plugins on startup" +msgid "Enforce MFA" msgstr "" #: common/models.py:1613 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1619 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1621 +#: common/models.py:1628 msgid "Enable URL integration" msgstr "" -#: common/models.py:1622 +#: common/models.py:1629 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1630 +#: common/models.py:1637 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable app integration" msgstr "" -#: common/models.py:1638 +#: common/models.py:1645 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1646 +#: common/models.py:1653 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable event integration" msgstr "" -#: common/models.py:1654 +#: common/models.py:1661 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable project codes" msgstr "" -#: common/models.py:1662 +#: common/models.py:1669 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1685 +#: common/models.py:1692 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1686 +#: common/models.py:1693 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1703 common/models.py:2140 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1722 +#: common/models.py:1729 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1745 +#: common/models.py:1752 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show latest parts" msgstr "" -#: common/models.py:1766 -msgid "Show latest parts on the homepage" -msgstr "" - -#: common/models.py:1772 -msgid "Recent Part Count" -msgstr "" - #: common/models.py:1773 -msgid "Number of recent parts to display on index page" +msgid "Show latest parts on the homepage" msgstr "" #: common/models.py:1779 @@ -2908,504 +2901,497 @@ msgid "Show recently changed stock items on the homepage" msgstr "" #: common/models.py:1793 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1794 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "" -#: common/models.py:1843 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1878 +#: common/models.py:1871 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1885 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1884 msgid "Inline label display" msgstr "" -#: common/models.py:1892 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1898 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1899 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1905 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1906 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1912 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1941 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1948 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1955 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1962 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1969 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2003 msgid "Search Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "" -#: common/models.py:2025 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2024 msgid "Regex Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2038 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2045 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2060 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2066 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2067 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2082 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2089 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2096 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2105 +#: common/models.py:2098 msgid "Default part label template" msgstr "" -#: common/models.py:2106 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 msgid "Default stock item template" msgstr "" -#: common/models.py:2115 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2123 +#: common/models.py:2116 msgid "Default stock location label template" msgstr "" -#: common/models.py:2124 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2170 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2177 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "" -#: common/models.py:2178 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2338 common/models.py:2516 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2339 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2348 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2353 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2354 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2368 +#: common/models.py:2361 msgid "Token" msgstr "" -#: common/models.py:2369 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2376 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2377 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2483 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2484 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2492 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2493 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2500 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2501 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2507 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2508 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2517 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2522 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2523 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2677 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2683 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2693 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2703 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2708 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2709 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2729 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3415,7 +3401,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2730 +#: common/models.py:2723 msgid "Image file" msgstr "" @@ -3492,7 +3478,7 @@ msgstr "" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "" @@ -3500,303 +3486,387 @@ msgstr "" msgid "Company website URL" msgstr "" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "" - -#: company/models.py:119 -msgid "Company address" -msgstr "" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +msgid "Select company" +msgstr "" + +#: company/models.py:332 +msgid "Address title" +msgstr "" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +msgid "Primary address" +msgstr "" + +#: company/models.py:338 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +msgid "Address line 1" +msgstr "" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +msgid "Address line 2" +msgstr "" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +msgid "Address country" +msgstr "" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "" @@ -3809,7 +3879,7 @@ msgid "Edit company information" msgstr "" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "" @@ -3849,17 +3919,17 @@ msgstr "" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -3867,6 +3937,13 @@ msgstr "" msgid "Uses default currency" msgstr "" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "" @@ -3899,7 +3976,7 @@ msgstr "" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "" @@ -3909,129 +3986,121 @@ msgstr "" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" msgstr "" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" msgstr "" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" msgstr "" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 msgid "Company Contacts" msgstr "" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 msgid "Add Contact" msgstr "" +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "" @@ -4043,17 +4112,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "" @@ -4073,40 +4142,22 @@ msgstr "" msgid "Suppliers" msgstr "" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:248 -msgid "Delete" -msgstr "" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "" @@ -4130,23 +4181,28 @@ msgstr "" msgid "Contacts" msgstr "" +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "" @@ -4157,13 +4213,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4190,7 +4246,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4198,37 +4254,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4254,7 +4310,7 @@ msgstr "" msgid "New Customer" msgstr "" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "" @@ -4262,72 +4318,76 @@ msgstr "" msgid "New Company" msgstr "" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4345,8 +4405,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4354,30 +4414,30 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4385,11 +4445,11 @@ msgstr "" msgid "Total price for this order" msgstr "" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 msgid "Order Currency" msgstr "" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4401,492 +4461,496 @@ msgstr "" msgid "Order description (optional)" msgstr "" -#: order/models.py:234 +#: order/models.py:237 msgid "Select project code for this order" msgstr "" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "" -#: order/models.py:267 +#: order/models.py:271 msgid "Point of contact for this order" msgstr "" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 msgid "Only an open order can be marked as complete" msgstr "" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 msgid "Line item description (optional)" msgstr "" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 msgid "Return Order reference" msgstr "" -#: order/models.py:1739 +#: order/models.py:1752 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 msgid "Select item to return from customer" msgstr "" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "" -#: order/serializers.py:529 +#: order/serializers.py:535 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:1565 +#: order/serializers.py:1571 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 msgid "Line price currency" msgstr "" @@ -4950,82 +5014,74 @@ msgid "Issue Order" msgstr "" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" msgstr "" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 msgid "Purchase Order QR Code" msgstr "" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 msgid "Link Barcode to Purchase Order" msgstr "" @@ -5078,13 +5134,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "" @@ -5145,9 +5201,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5158,30 +5214,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -msgid "Delete Line Items" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5201,29 +5252,29 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 msgid "Return Order QR Code" msgstr "" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 msgid "Link Barcode to Return Order" msgstr "" @@ -5241,7 +5292,7 @@ msgid "Ship Items" msgstr "" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5250,16 +5301,16 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 msgid "Sales Order QR Code" msgstr "" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 msgid "Link Barcode to Sales Order" msgstr "" @@ -5267,18 +5318,17 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5304,12 +5354,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5318,19 +5368,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5351,24 +5401,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5376,23 +5426,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5409,13 +5452,13 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5432,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5446,35 +5489,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5484,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "" @@ -5492,916 +5535,913 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 msgid "Part description (optional)" msgstr "" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 msgid "Choices must be unique" msgstr "" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:321 +msgid "Select category" +msgstr "" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6414,9 +6454,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6454,14 +6494,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6498,7 +6530,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "" @@ -6511,33 +6543,20 @@ msgstr "" msgid "Create new part" msgstr "" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6574,7 +6593,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6585,7 +6604,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6597,101 +6616,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6725,13 +6744,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6772,7 +6791,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6817,10 +6836,10 @@ msgid "Part is not active" msgstr "" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -6843,7 +6862,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -6851,8 +6870,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6875,7 +6894,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 msgid "part" msgstr "" @@ -6949,9 +6968,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6982,9 +7001,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7047,12 +7066,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7156,7 +7175,7 @@ msgid "Match found for barcode data" msgstr "" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7219,43 +7238,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7407,47 +7426,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7468,8 +7487,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "" @@ -7481,23 +7500,23 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7510,7 +7529,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7541,8 +7560,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7610,31 +7629,31 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7645,7 +7664,7 @@ msgid "Stock Location" msgstr "" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "" @@ -7663,8 +7682,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7680,7 +7699,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7814,7 +7833,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "" @@ -7842,7 +7861,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -7894,132 +7913,141 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:670 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8027,48 +8055,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8076,13 +8104,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8091,15 +8119,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8108,11 +8138,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8152,6 +8183,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8214,7 +8250,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "" @@ -8232,7 +8268,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8242,7 +8278,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8251,7 +8287,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 msgid "stock item" msgstr "" @@ -8357,20 +8393,20 @@ msgstr "" msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8444,71 +8480,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8679,15 +8715,15 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:68 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:77 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -8855,12 +8891,12 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "" @@ -8898,7 +8934,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -8975,6 +9011,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9424,14 +9461,6 @@ msgstr "" msgid "Add Attachment" msgstr "" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9476,7 +9505,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9490,7 +9519,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9562,23 +9591,35 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9635,7 +9676,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9693,775 +9734,869 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" +#: templates/js/translated/build.js:424 +msgid "Deallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 msgid "Scrap build output" msgstr "" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" +#: templates/js/translated/build.js:468 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" msgstr "" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" +#: templates/js/translated/build.js:486 +msgid "Deallocate Stock Items" msgstr "" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" msgstr "" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" msgstr "" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" msgstr "" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" msgstr "" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" msgstr "" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" msgstr "" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" msgstr "" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" msgstr "" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1024 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1100 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2385 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2468 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2571 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 msgid "Create New Contact" msgstr "" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 msgid "Edit Contact" msgstr "" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" msgstr "" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 msgid "Delete Contacts" msgstr "" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 msgid "No contacts found" msgstr "" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 msgid "Phone Number" msgstr "" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 msgid "Email Address" msgstr "" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 msgid "Delete Contact" msgstr "" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:936 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:977 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:1020 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1070 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1271 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 msgid "Base Units" msgstr "" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10486,6 +10621,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10503,23 +10644,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10539,6 +10680,14 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10640,7 +10789,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10689,7 +10838,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10705,363 +10854,355 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 msgid "Create new category after this one" msgstr "" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 msgid "Part category created" msgstr "" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 -msgid "parts" -msgstr "" - -#: templates/js/translated/part.js:2276 -msgid "No category" -msgstr "" - -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 -msgid "Display as list" -msgstr "" - -#: templates/js/translated/part.js:2406 -msgid "Display as grid" -msgstr "" - -#: templates/js/translated/part.js:2472 +#: templates/js/translated/part.js:2174 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2477 +#: templates/js/translated/part.js:2179 msgid "Set Part Category" msgstr "" +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2259 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2352 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 +msgid "Display as list" +msgstr "" + #: templates/js/translated/part.js:2482 -msgid "Select Part Category" +msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11157,234 +11298,234 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 msgid "Specify location" msgstr "" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 msgid "Serials" msgstr "" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 msgid "Scan Item Barcode" msgstr "" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 msgid "Invalid barcode data" msgstr "" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11413,941 +11554,973 @@ msgstr "" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 msgid "Create Return Order" msgstr "" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 msgid "Are you sure you wish to cancel this Return Order?" msgstr "" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 msgid "Cancel Return Order" msgstr "" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 msgid "Complete Return Order" msgstr "" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 msgid "Issue this Sales Order?" msgstr "" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 msgid "Issue Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 msgid "Stock location created" msgstr "" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:244 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1882 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:1929 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3165 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3169 +msgid "Change Stock Status" +msgstr "" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 msgid "Has Units" msgstr "" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 msgid "Part has defined units" msgstr "" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 msgid "Has Choices" msgstr "" @@ -12379,51 +12552,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12606,50 +12779,6 @@ msgstr "" msgid "Email settings not configured" msgstr "" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "" @@ -12682,34 +12811,34 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:231 +#: users/models.py:236 msgid "Permission set" msgstr "" -#: users/models.py:239 +#: users/models.py:244 msgid "Group" msgstr "" -#: users/models.py:242 +#: users/models.py:247 msgid "View" msgstr "" -#: users/models.py:242 +#: users/models.py:247 msgid "Permission to view items" msgstr "" -#: users/models.py:244 +#: users/models.py:249 msgid "Permission to add items" msgstr "" -#: users/models.py:246 +#: users/models.py:251 msgid "Change" msgstr "" -#: users/models.py:246 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "" -#: users/models.py:248 +#: users/models.py:253 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 88d59bed39..2062dbf391 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -25,19 +25,19 @@ msgstr "Конечная точка API не обнаружена" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Введите дату" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Заметки" @@ -259,7 +259,7 @@ msgstr "Выберите файл для вложения" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Комментарий к файлу" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Пользователь" @@ -342,7 +342,7 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Название" @@ -363,20 +363,20 @@ msgstr "Название" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Описание" @@ -389,7 +389,7 @@ msgid "parent" msgstr "родитель" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Путь" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Порядок сборки" @@ -908,7 +908,7 @@ msgstr "Порядок сборки" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Ссылка на заказ" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Детали" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Расположение источника" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Дата завершения" @@ -1089,7 +1089,7 @@ msgstr "Дата завершения" msgid "completed by" msgstr "выполнено" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Выдал/ла" @@ -1104,7 +1104,7 @@ msgstr "Пользователь, выпустивший этот заказ н #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Количество" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Предметы на складе" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Расположение" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Статус" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Действия со штрих-кодом" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Выдано" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Партия" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Создано" @@ -3720,7 +3720,7 @@ msgstr "Значение параметра" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "Ед.изм" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Упаковка" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Покупатель" @@ -4013,7 +4013,7 @@ msgstr "Склад поставщика" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Новый заказ на закупку" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Деталь поставщика" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Детали на складе" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Заказ на закупку" @@ -4432,7 +4432,7 @@ msgstr "Заказ на закупку" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Закупочная цена" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "Действия" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Версия" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "На складе" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "Сборки" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "Путь к категории" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Детали" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "Ключевые слова для улучшения видимости #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "Категория" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Обновить" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "Действия с деталью" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "Минимальный складской запас" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "Разновидности" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "Автор не найден" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "Заметки о единице хранения" msgid "Installed Stock Items" msgstr "Установленные единицы хранения" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "Установить единицу хранения" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "Удалить единицу хранения" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Сборка" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "Новое место хранения" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "Последние детали" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "BOM для проверки" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "Главная страница" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "Минимальное количество" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "Элементы BOM не найдены" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "Удалить параметры" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "Заказать детали" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "Детали не найдены" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "Укажите категорию" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Укажите категорию" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "Нет категории" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "Список" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "Таблица" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "Дерево" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "Загрузка данных" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "строк на странице" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "Показываются все строки" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "Показано от" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "до" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "из" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "строк" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "Ничего не найдено" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index 66664e6a5e..aed569b14d 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -25,19 +25,19 @@ msgstr "API vmesnik ni najden" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Vnesi datum" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Zapiski" @@ -259,7 +259,7 @@ msgstr "Izberite prilogo" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Komentar datoteke" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Uporabnik" @@ -342,7 +342,7 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Ime" @@ -363,20 +363,20 @@ msgstr "Ime" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Opis" @@ -389,7 +389,7 @@ msgid "parent" msgstr "nadrejen" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Pot" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Nalog izgradnje" @@ -908,7 +908,7 @@ msgstr "Nalog izgradnje" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Referenca naloga izgradnje" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Del" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Dobavnica na katero se navezuje ta izgradnja" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Lokacija vira" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Datom končanja" @@ -1089,7 +1089,7 @@ msgstr "Datom končanja" msgid "completed by" msgstr "dokončal" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Izdal" @@ -1104,7 +1104,7 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Količina" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Postavka zaloge" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Destinacija postavke zaloge" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Izgradnja" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Izdelava" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index bc3f6281fa..9a2124dbef 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -25,19 +25,19 @@ msgstr "API-slutpunkt hittades inte" msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Ange datum" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Anteeckningar" @@ -259,7 +259,7 @@ msgstr "Välj fil att bifoga" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Fil kommentar" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Användare" @@ -342,7 +342,7 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Namn" @@ -363,20 +363,20 @@ msgstr "Namn" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Beskrivning" @@ -389,7 +389,7 @@ msgid "parent" msgstr "överordnad" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "Sökväg" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Byggorder" @@ -908,7 +908,7 @@ msgstr "Byggorder" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Byggorderreferens" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Del" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Försäljningsorder till vilken detta bygge allokeras" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Källa Plats" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum." #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Slutförandedatum" @@ -1089,7 +1089,7 @@ msgstr "Slutförandedatum" msgid "completed by" msgstr "slutfört av" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Utfärdad av" @@ -1104,7 +1104,7 @@ msgstr "Användare som utfärdade denna byggorder" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Antal" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Artikel i lager" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Destination lagervara" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "Bygg utdata" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Plats" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Status" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Försäljningsorder" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Utfärdad av" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Skapad" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Artiklar" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Bygg" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Välj artiklar" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 13aa63076b..567240b04d 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -25,19 +25,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "ป้อนวันที่" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "หมายเหตุ" @@ -259,7 +259,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "ความเห็นของไฟล์" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "ผู้ใช้งาน" @@ -342,7 +342,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "ชื่อ" @@ -363,20 +363,20 @@ msgstr "ชื่อ" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "คำอธิบาย" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "" @@ -1089,7 +1089,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "สถานะ" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index 20a4689eb0..f05b5079c4 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -25,19 +25,19 @@ msgstr "API uç noktası bulunamadı" msgid "User does not have permission to view this model" msgstr "Kullanıcının bu modeli görüntüleme izni yok" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Tarih giriniz" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Notlar" @@ -259,7 +259,7 @@ msgstr "Eklenecek dosyayı seç" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Dosya yorumu" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Kullanıcı" @@ -342,7 +342,7 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "Adı" @@ -363,20 +363,20 @@ msgstr "Adı" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Açıklama" @@ -389,7 +389,7 @@ msgid "parent" msgstr "üst" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Yapım İşi Emri" @@ -908,7 +908,7 @@ msgstr "Yapım İşi Emri" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "Yapım İşi Emri Referansı" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Parça" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "Bu yapım işinin tahsis edildiği satış emri" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "Kaynak Konum" @@ -1081,7 +1081,7 @@ 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:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -1089,7 +1089,7 @@ msgstr "Tamamlama tarihi" msgid "completed by" msgstr "tamamlayan" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "Veren" @@ -1104,7 +1104,7 @@ msgstr "Bu yapım işi emrini veren kullanıcı" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Miktar" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "Stok Kalemi" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "Hedef stok kalemi" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "Konum" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Durum" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "Barkod işlemleri" @@ -1694,7 +1694,7 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "Veren" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "Toplu" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "Oluşturuldu" @@ -3720,7 +3720,7 @@ msgstr "Parametre değeri" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "Paketleme" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Müşteri" @@ -4013,7 +4013,7 @@ msgstr "Tedarikçi Stoku" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "Yeni Satın Alma Emri" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "İşlemler" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "DPN" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revizyon" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Parçalar" @@ -5549,7 +5549,7 @@ msgstr "Parça Kategorileri" msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabili msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Test Adı" @@ -5968,7 +5968,7 @@ msgstr "Test Açıklaması" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Gerekli" @@ -5977,7 +5977,7 @@ msgstr "Gerekli" msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "Yenile" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "Parça işlemleri" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "Stok Yok" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "Düşük Stok" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "Seri No" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "Konuma Tara" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "Yazdırma işlemleri" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "Yapım İşi" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "Konum ayarlanmadı" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "Yeni Konum" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "Yapım İşi Emirleri için Gerekli" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "Gerekli Parça" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "Parçaları Seçin" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "doğru" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "yanlış" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "Kategori ayarla" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "Katagori Yok" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "Detaylar" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "Gösteriliyor" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "için" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "yüzünden" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "satırlar" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "Sonuç bulunamadı" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "Sayfalandırmayı Göster" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "Değiştir" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "Sütunlar" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "Tümü" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 3fb77c1166..f5c6a88a5f 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -25,19 +25,19 @@ msgstr "API endpoint không tồn tại" msgid "User does not have permission to view this model" msgstr "Người dùng không được phân quyền xem mẫu này" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "Chưa cung cấp giá trị" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "Nhập ngày" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "Ghi chú" @@ -259,7 +259,7 @@ msgstr "Chọn file đính kèm" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "Bình luận tệp tin" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "Người dùng" @@ -342,7 +342,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "" @@ -363,20 +363,20 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "Mô tả" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "Tạo đơn hàng" @@ -908,7 +908,7 @@ msgstr "Tạo đơn hàng" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "Nguyên liệu" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -1089,7 +1089,7 @@ msgstr "Ngày hoàn thành" msgid "completed by" msgstr "hoàn thành bởi" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "Số lượng" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1360,7 +1360,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1397,13 +1397,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "Trạng thái" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1792,11 +1792,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -3720,7 +3720,7 @@ msgstr "" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3838,7 +3838,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4013,7 +4013,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "Đơn hàng" @@ -4432,7 +4432,7 @@ msgstr "Đơn hàng" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "Giá mua" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "Nguyên liệu" @@ -5549,7 +5549,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "Hàng còn ít" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "Nguyên liệu mới nhất" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "Xóa các thông số" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index db9a520055..f9cea27d5f 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: 2023-06-20 07:01+0000\n" -"PO-Revision-Date: 2023-06-20 07:06\n" +"POT-Creation-Date: 2023-06-23 07:27+0000\n" +"PO-Revision-Date: 2023-06-23 07:42\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -25,19 +25,19 @@ msgstr "未找到 API 端点" msgid "User does not have permission to view this model" msgstr "用户无权查看该模型" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -68,7 +68,7 @@ msgstr "输入日期" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "备注" @@ -259,7 +259,7 @@ msgstr "选择附件" #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -288,7 +288,7 @@ msgstr "文件注释" #: part/models.py:3135 part/models.py:3214 part/models.py:3234 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "用户" @@ -342,7 +342,7 @@ msgstr "选择无效" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "名称" @@ -363,20 +363,20 @@ msgstr "名称" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "描述信息" @@ -389,7 +389,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "路径" @@ -868,7 +868,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" #: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" @@ -876,7 +876,7 @@ msgstr "" #: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -888,8 +888,8 @@ msgstr "可选项" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -900,7 +900,7 @@ msgstr "已分配" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "生产订单" @@ -908,7 +908,7 @@ msgstr "生产订单" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -931,7 +931,7 @@ msgstr "相关生产订单" #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -977,14 +977,14 @@ msgstr "此次生产匹配的订单" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -996,9 +996,9 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "商品" @@ -1015,7 +1015,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "来源地点" @@ -1081,7 +1081,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "完成日期:" @@ -1089,7 +1089,7 @@ msgstr "完成日期:" msgid "completed by" msgstr "完成人" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "发布者" @@ -1104,7 +1104,7 @@ msgstr "发布此生产订单的用户" #: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1137,7 +1137,7 @@ msgstr "此构建订单的优先级" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1207,12 +1207,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1227,8 +1227,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "数量" @@ -1266,7 +1266,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1274,7 +1274,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "库存项" @@ -1295,7 +1295,7 @@ msgid "Destination stock item" msgstr "目标库存项" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "生产产出" @@ -1360,7 +1360,7 @@ msgstr "必须提供生产产出列表" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1368,8 +1368,8 @@ msgstr "必须提供生产产出列表" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "地点" @@ -1397,13 +1397,13 @@ msgstr "已完成生产产出的仓储地点" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "状态" @@ -1589,7 +1589,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1694,7 +1694,7 @@ msgstr "库存尚未被完全分配到此构建订单" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1738,7 +1738,7 @@ msgstr "已完成输出" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "销售订单" @@ -1749,7 +1749,7 @@ msgid "Issued By" msgstr "发布者" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "优先级" @@ -1792,11 +1792,11 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1806,7 +1806,7 @@ msgstr "批量" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "已创建" @@ -3720,7 +3720,7 @@ msgstr "参数值" #: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "单位" @@ -3805,7 +3805,7 @@ msgstr "最低收费(例如库存费)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "打包" @@ -3838,7 +3838,7 @@ msgstr "订购多个" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3927,7 +3927,7 @@ msgstr "删除图片" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "客户" @@ -4013,7 +4013,7 @@ msgstr "供货商库存" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4036,7 @@ msgstr "新建采购订单" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "供应商商品" @@ -4283,7 +4283,7 @@ msgstr "更新部件可用性" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -4423,7 +4423,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4432,7 +4432,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4637,7 +4637,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "采购价格" @@ -5134,7 +5134,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5318,12 +5318,12 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "操作" @@ -5368,14 +5368,14 @@ msgid "Part Description" msgstr "部件描述" #: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "版本号" @@ -5415,8 +5415,8 @@ msgid "In Stock" msgstr "有库存" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "订购中" @@ -5426,7 +5426,7 @@ msgid "Used In" msgstr "用于" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" @@ -5457,7 +5457,7 @@ msgstr "类别路径" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -5549,7 +5549,7 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5638,7 +5638,7 @@ msgstr "提高搜索结果可见性的关键字" #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "类别" @@ -5736,7 +5736,7 @@ msgstr "" #: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" @@ -5892,7 +5892,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "日期" @@ -5952,7 +5952,7 @@ msgstr "" msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3309 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" @@ -5968,7 +5968,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3321 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" @@ -5977,7 +5977,7 @@ msgstr "" msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3327 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" @@ -5985,7 +5985,7 @@ msgstr "" msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3333 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" @@ -6592,7 +6592,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6603,7 +6603,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6790,7 +6790,7 @@ msgstr "清点商品库存" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6870,7 +6870,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6893,7 +6893,7 @@ msgstr "商品二维码" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6967,9 +6967,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -7002,7 +7002,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "最后更新" @@ -7066,11 +7066,11 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "无库存" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "低库存" @@ -7281,17 +7281,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7507,8 +7507,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7560,7 +7560,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7628,7 +7628,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7681,7 +7681,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8087,7 +8087,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8109,7 +8109,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8183,7 +8183,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "生产" @@ -8249,7 +8249,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "未设置仓储地点" @@ -8393,7 +8393,7 @@ msgid "New Location" msgstr "新建仓储地点" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8483,67 +8483,67 @@ msgstr "" msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:53 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:63 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "最近商品" -#: templates/InvenTree/index.html:78 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:107 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:134 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:148 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:156 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:172 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:199 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:210 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:230 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:241 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:262 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:273 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:299 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:301 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8933,7 +8933,7 @@ msgid "Home Page" msgstr "主页" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9504,7 +9504,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9518,7 +9518,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9865,7 +9865,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9885,25 +9885,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9935,7 +9935,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10104,7 +10104,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10124,195 +10124,195 @@ msgstr "" msgid "Delete outputs" msgstr "删除输出" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10459,7 +10459,7 @@ msgid "Delete Parameters" msgstr "删除参数" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "订购商品" @@ -10557,45 +10557,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "选择筛选项" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11091,117 +11091,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "找不到部件" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "设置类别" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "以列表显示" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "以网格显示" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "以树形图显示" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "编辑测试结果" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "删除测试结果" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "无指定日期" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "指定的日期已过" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "最大数量" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11992,7 +11992,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "选择库存项" @@ -12080,184 +12080,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12551,51 +12551,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index 4ef461fe1f..f9c1e4050d 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-12 21:36+0000\n" +"POT-Creation-Date: 2023-06-21 06:43+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -53,26 +53,26 @@ msgstr "在管理面板中可以找到错误详细信息" msgid "Enter date" msgstr "输入日期" -#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:427 -#: build/serializers.py:506 build/templates/build/sidebar.html:23 -#: company/models.py:597 company/templates/company/sidebar.html:35 -#: order/models.py:1089 order/templates/order/po_sidebar.html:11 +#: InvenTree/fields.py:206 InvenTree/models.py:766 build/serializers.py:435 +#: build/serializers.py:514 build/templates/build/sidebar.html:21 +#: company/models.py:746 company/templates/company/sidebar.html:37 +#: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3005 part/templates/part/part_sidebar.html:63 +#: part/models.py:3039 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 -#: stock/serializers.py:342 stock/serializers.py:475 stock/serializers.py:556 -#: stock/serializers.py:839 stock/serializers.py:938 stock/serializers.py:1070 -#: stock/templates/stock/stock_sidebar.html:25 -#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1224 -#: templates/js/translated/company.js:1294 templates/js/translated/order.js:347 -#: templates/js/translated/part.js:1054 -#: templates/js/translated/purchase_order.js:2168 -#: templates/js/translated/return_order.js:760 -#: templates/js/translated/sales_order.js:1055 -#: templates/js/translated/sales_order.js:1959 -#: templates/js/translated/stock.js:1460 templates/js/translated/stock.js:2164 +#: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 +#: stock/serializers.py:681 stock/serializers.py:956 stock/serializers.py:1055 +#: stock/serializers.py:1187 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 +#: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1053 +#: templates/js/translated/purchase_order.js:2178 +#: templates/js/translated/return_order.js:772 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 msgid "Notes" msgstr "备注" @@ -85,47 +85,51 @@ msgstr "值 '{name}' 没有以模式格式显示" msgid "Provided value does not match required pattern: " msgstr "提供的值与所需模式不匹配: " -#: InvenTree/forms.py:145 +#: InvenTree/forms.py:147 msgid "Enter password" msgstr "输入密码" -#: InvenTree/forms.py:146 +#: InvenTree/forms.py:148 msgid "Enter new password" msgstr "输入新密码" -#: InvenTree/forms.py:155 +#: InvenTree/forms.py:157 msgid "Confirm password" msgstr "确认密码" -#: InvenTree/forms.py:156 +#: InvenTree/forms.py:158 msgid "Confirm new password" msgstr "确认新密码" -#: InvenTree/forms.py:160 +#: InvenTree/forms.py:162 msgid "Old password" msgstr "旧密码" -#: InvenTree/forms.py:179 +#: InvenTree/forms.py:181 msgid "Email (again)" msgstr "Email (再次)" -#: InvenTree/forms.py:183 +#: InvenTree/forms.py:185 msgid "Email address confirmation" msgstr "Email 地址确认" -#: InvenTree/forms.py:204 +#: InvenTree/forms.py:206 msgid "You must type the same email each time." msgstr "您必须输入相同的 Email 。" -#: InvenTree/forms.py:230 InvenTree/forms.py:236 +#: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." msgstr "所提供的主要电子邮件地址无效。" -#: InvenTree/forms.py:242 +#: InvenTree/forms.py:249 msgid "The provided email domain is not approved." msgstr "提供的电子邮件域未被核准。" -#: InvenTree/helpers.py:462 order/models.py:442 order/models.py:611 +#: InvenTree/forms.py:345 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" msgstr "提供的数量无效" @@ -243,7 +247,7 @@ msgstr "缺少外部链接" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 -#: templates/js/translated/attachment.js:306 +#: templates/js/translated/attachment.js:316 msgid "Attachment" msgstr "附件" @@ -251,29 +255,30 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:493 common/models.py:2688 company/models.py:132 -#: company/models.py:306 company/models.py:584 order/models.py:236 -#: order/models.py:1093 order/models.py:1453 part/admin.py:39 -#: part/models.py:901 part/templates/part/part_scheduling.html:11 +#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: company/models.py:381 company/models.py:455 company/models.py:733 +#: order/models.py:240 order/models.py:1106 order/models.py:1466 +#: part/admin.py:39 part/models.py:902 +#: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 -#: stock/admin.py:120 templates/js/translated/company.js:977 -#: templates/js/translated/company.js:1283 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2316 -#: templates/js/translated/purchase_order.js:2008 -#: templates/js/translated/purchase_order.js:2172 -#: templates/js/translated/return_order.js:764 -#: templates/js/translated/sales_order.js:1044 -#: templates/js/translated/sales_order.js:1964 +#: stock/admin.py:120 templates/js/translated/company.js:1350 +#: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2392 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/purchase_order.js:2182 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1976 msgid "Link" msgstr "链接" -#: InvenTree/models.py:494 build/models.py:291 part/models.py:902 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 #: stock/models.py:735 msgid "Link to external URL" msgstr "链接到外部 URL" #: InvenTree/models.py:497 templates/js/translated/attachment.js:120 -#: templates/js/translated/attachment.js:321 +#: templates/js/translated/attachment.js:331 msgid "Comment" msgstr "注释" @@ -281,13 +286,13 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 -#: common/models.py:2148 common/models.py:2361 common/models.py:2362 -#: common/models.py:2618 common/models.py:2619 part/models.py:3013 -#: part/models.py:3101 part/models.py:3180 part/models.py:3200 -#: plugin/models.py:217 plugin/models.py:218 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 +#: common/models.py:2141 common/models.py:2354 common/models.py:2355 +#: common/models.py:2611 common/models.py:2612 part/models.py:3047 +#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2773 +#: templates/js/translated/stock.js:2904 msgid "User" msgstr "用户" @@ -328,53 +333,54 @@ msgstr "" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 -#: company/models.py:390 label/models.py:103 part/models.py:847 -#: part/models.py:3400 plugin/models.py:41 report/models.py:160 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: company/models.py:539 label/models.py:111 part/models.py:848 +#: part/models.py:3434 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:78 +#: templates/InvenTree/settings/plugin.html:74 #: templates/InvenTree/settings/plugin_settings.html:22 -#: templates/js/translated/company.js:658 -#: templates/js/translated/company.js:706 -#: templates/js/translated/company.js:871 -#: templates/js/translated/company.js:1071 templates/js/translated/part.js:1160 -#: templates/js/translated/part.js:1447 templates/js/translated/part.js:1583 -#: templates/js/translated/part.js:2699 templates/js/translated/stock.js:2464 +#: templates/js/translated/company.js:665 +#: templates/js/translated/company.js:713 +#: templates/js/translated/company.js:940 +#: templates/js/translated/company.js:1196 +#: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 +#: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 +#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 msgid "Name" msgstr "名称" -#: InvenTree/models.py:655 build/models.py:164 +#: InvenTree/models.py:655 build/models.py:168 #: build/templates/build/detail.html:24 common/models.py:111 -#: company/models.py:312 company/models.py:590 +#: company/models.py:461 company/models.py:739 #: company/templates/company/company_base.html:72 #: company/templates/company/manufacturer_part.html:75 -#: company/templates/company/supplier_part.html:108 label/models.py:110 -#: order/models.py:232 order/models.py:1117 part/admin.py:194 part/admin.py:276 -#: part/models.py:869 part/models.py:3416 part/templates/part/category.html:81 +#: company/templates/company/supplier_part.html:108 label/models.py:118 +#: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 +#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:587 report/models.py:631 +#: report/models.py:589 report/models.py:633 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 -#: templates/js/translated/bom.js:632 templates/js/translated/bom.js:933 -#: templates/js/translated/build.js:2857 templates/js/translated/company.js:510 -#: templates/js/translated/company.js:988 -#: templates/js/translated/company.js:1251 templates/js/translated/order.js:298 -#: templates/js/translated/part.js:1212 templates/js/translated/part.js:1456 -#: templates/js/translated/part.js:1594 templates/js/translated/part.js:1933 -#: templates/js/translated/part.js:2247 templates/js/translated/part.js:2735 -#: templates/js/translated/part.js:2826 -#: templates/js/translated/purchase_order.js:1666 -#: templates/js/translated/purchase_order.js:1812 -#: templates/js/translated/purchase_order.js:1990 -#: templates/js/translated/return_order.js:302 -#: templates/js/translated/sales_order.js:790 -#: templates/js/translated/stock.js:1439 templates/js/translated/stock.js:1817 -#: templates/js/translated/stock.js:2496 templates/js/translated/stock.js:2568 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 +#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/company.js:1361 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 +#: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 +#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 +#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/purchase_order.js:1681 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2000 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 +#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 msgid "Description" msgstr "描述信息" @@ -387,7 +393,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2744 templates/js/translated/stock.js:2505 +#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 msgid "Path" msgstr "路径" @@ -425,12 +431,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3897 +#: InvenTree/serializers.py:60 part/models.py:3941 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:90 company/models.py:154 -#: company/templates/company/company_base.html:107 part/models.py:2852 +#: InvenTree/serializers.py:90 company/models.py:150 +#: company/templates/company/company_base.html:107 part/models.py:2886 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -503,132 +509,132 @@ msgstr "远程图像文件的 URL" msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图像" -#: InvenTree/settings.py:722 +#: InvenTree/settings.py:741 msgid "Czech" msgstr "捷克语" -#: InvenTree/settings.py:723 +#: InvenTree/settings.py:742 msgid "Danish" msgstr "丹麦语" -#: InvenTree/settings.py:724 +#: InvenTree/settings.py:743 msgid "German" msgstr "德语" -#: InvenTree/settings.py:725 +#: InvenTree/settings.py:744 msgid "Greek" msgstr "希腊语" -#: InvenTree/settings.py:726 +#: InvenTree/settings.py:745 msgid "English" msgstr "英语" -#: InvenTree/settings.py:727 +#: InvenTree/settings.py:746 msgid "Spanish" msgstr "西班牙语" -#: InvenTree/settings.py:728 +#: InvenTree/settings.py:747 msgid "Spanish (Mexican)" msgstr "西班牙语(墨西哥)" -#: InvenTree/settings.py:729 +#: InvenTree/settings.py:748 msgid "Farsi / Persian" msgstr "波斯语" -#: InvenTree/settings.py:730 +#: InvenTree/settings.py:749 #, fuzzy #| msgid "Danish" msgid "Finnish" msgstr "丹麦语" -#: InvenTree/settings.py:731 +#: InvenTree/settings.py:750 msgid "French" msgstr "法语" -#: InvenTree/settings.py:732 +#: InvenTree/settings.py:751 msgid "Hebrew" msgstr "希伯来语" -#: InvenTree/settings.py:733 +#: InvenTree/settings.py:752 msgid "Hungarian" msgstr "匈牙利语" -#: InvenTree/settings.py:734 +#: InvenTree/settings.py:753 msgid "Italian" msgstr "意大利语" -#: InvenTree/settings.py:735 +#: InvenTree/settings.py:754 msgid "Japanese" msgstr "日语" -#: InvenTree/settings.py:736 +#: InvenTree/settings.py:755 msgid "Korean" msgstr "韩语" -#: InvenTree/settings.py:737 +#: InvenTree/settings.py:756 msgid "Dutch" msgstr "荷兰语" -#: InvenTree/settings.py:738 +#: InvenTree/settings.py:757 msgid "Norwegian" msgstr "挪威语" -#: InvenTree/settings.py:739 +#: InvenTree/settings.py:758 msgid "Polish" msgstr "波兰语" -#: InvenTree/settings.py:740 +#: InvenTree/settings.py:759 msgid "Portuguese" msgstr "葡萄牙语" -#: InvenTree/settings.py:741 +#: InvenTree/settings.py:760 msgid "Portuguese (Brazilian)" msgstr "葡萄牙语 (巴西)" -#: InvenTree/settings.py:742 +#: InvenTree/settings.py:761 msgid "Russian" msgstr "俄语" -#: InvenTree/settings.py:743 +#: InvenTree/settings.py:762 msgid "Slovenian" msgstr "斯洛文尼亚" -#: InvenTree/settings.py:744 +#: InvenTree/settings.py:763 msgid "Swedish" msgstr "瑞典语" -#: InvenTree/settings.py:745 +#: InvenTree/settings.py:764 msgid "Thai" msgstr "泰语" -#: InvenTree/settings.py:746 +#: InvenTree/settings.py:765 msgid "Turkish" msgstr "土耳其语" -#: InvenTree/settings.py:747 +#: InvenTree/settings.py:766 msgid "Vietnamese" msgstr "越南语" -#: InvenTree/settings.py:748 +#: InvenTree/settings.py:767 msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:61 part/serializers.py:878 +#: InvenTree/status.py:68 part/serializers.py:940 msgid "Background worker check failed" msgstr "后台工作人员检查失败" -#: InvenTree/status.py:65 +#: InvenTree/status.py:72 msgid "Email backend not configured" msgstr "未配置电子邮件后端" -#: InvenTree/status.py:68 +#: InvenTree/status.py:75 msgid "InvenTree system health checks failed" msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:12 InvenTree/status_codes.py:40 #: InvenTree/status_codes.py:148 InvenTree/status_codes.py:167 #: InvenTree/status_codes.py:188 generic/states/tests.py:16 -#: templates/js/translated/table_filters.js:511 +#: templates/js/translated/table_filters.js:533 msgid "Pending" msgstr "待定" @@ -638,7 +644,7 @@ msgstr "已添加" #: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 #: InvenTree/status_codes.py:172 generic/states/tests.py:18 -#: order/templates/order/order_base.html:162 +#: order/templates/order/order_base.html:158 #: order/templates/order/sales_order_base.html:162 msgid "Complete" msgstr "完成" @@ -662,10 +668,10 @@ msgstr "已退回" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:42 order/models.py:1332 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1630 -#: templates/js/translated/sales_order.js:1934 +#: InvenTree/status_codes.py:42 order/models.py:1345 +#: templates/js/translated/sales_order.js:1521 +#: templates/js/translated/sales_order.js:1642 +#: templates/js/translated/sales_order.js:1946 msgid "Shipped" msgstr "已发货" @@ -697,7 +703,7 @@ msgstr "隔离" msgid "Legacy stock tracking entry" msgstr "旧库存跟踪条目" -#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:511 +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:510 msgid "Stock item created" msgstr "库存项已创建" @@ -755,7 +761,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:2243 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 msgid "Merged stock items" msgstr "合并的库存项目" @@ -777,7 +783,7 @@ msgstr "生产订单输出已完成" msgid "Build order output rejected" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1676 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 msgid "Consumed by build order" msgstr "被生产订单消耗" @@ -799,7 +805,7 @@ msgstr "收到定购单" msgid "Returned against Return Order" msgstr "收到定购单" -#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:321 +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" msgstr "发送给客户" @@ -875,85 +881,113 @@ msgstr "密码字段必须相匹配。" msgid "Wrong password provided" msgstr "密码错误" -#: InvenTree/views.py:651 templates/navbar.html:157 +#: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" msgstr "系统信息" -#: InvenTree/views.py:658 templates/navbar.html:168 +#: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" msgstr "关于 InventTree" -#: build/api.py:222 +#: build/api.py:242 msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/models.py:69 build/templates/build/build_base.html:9 +#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: templates/js/translated/table_filters.js:166 +#: templates/js/translated/table_filters.js:518 +msgid "Consumable" +msgstr "" + +#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 +#: templates/js/translated/build.js:2458 +#: templates/js/translated/table_filters.js:162 +#: templates/js/translated/table_filters.js:191 +#: templates/js/translated/table_filters.js:522 +msgid "Optional" +msgstr "可选项" + +#: build/api.py:288 templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:514 +msgid "Tracked" +msgstr "" + +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 +#: templates/js/translated/build.js:2549 +#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/table_filters.js:506 +msgid "Allocated" +msgstr "" + +#: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:945 templates/js/translated/stock.js:2629 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 msgid "Build Order" msgstr "生产订单" -#: build/models.py:70 build/templates/build/build_base.html:13 +#: build/models.py:74 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:119 +#: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:244 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 -#: templates/js/translated/search.js:228 users/models.py:42 +#: templates/js/translated/search.js:186 users/models.py:42 msgid "Build Orders" msgstr "生产订单" -#: build/models.py:111 +#: build/models.py:115 msgid "Invalid choice for parent build" msgstr "上级生产选项无效" -#: build/models.py:155 +#: build/models.py:159 msgid "Build Order Reference" msgstr "相关生产订单" -#: build/models.py:156 order/models.py:359 order/models.py:765 -#: order/models.py:1087 order/models.py:1724 part/admin.py:278 -#: part/models.py:3798 part/templates/part/upload_bom.html:54 +#: build/models.py:160 order/models.py:372 order/models.py:778 +#: order/models.py:1100 order/models.py:1737 part/admin.py:278 +#: part/models.py:3842 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 -#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:943 -#: templates/js/translated/build.js:2098 templates/js/translated/order.js:291 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 +#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2033 -#: templates/js/translated/return_order.js:713 -#: templates/js/translated/sales_order.js:1798 +#: templates/js/translated/purchase_order.js:2043 +#: templates/js/translated/return_order.js:725 +#: templates/js/translated/sales_order.js:1810 msgid "Reference" msgstr "引用" -#: build/models.py:167 +#: build/models.py:171 #, fuzzy #| msgid "Brief description of the build" msgid "Brief description of the build (optional)" msgstr "生产的简短描述." -#: build/models.py:175 build/templates/build/build_base.html:183 +#: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 msgid "Parent Build" msgstr "上级生产" -#: build/models.py:176 +#: build/models.py:180 msgid "BuildOrder to which this build is allocated" msgstr "此次生产匹配的订单" -#: build/models.py:181 build/templates/build/build_base.html:98 -#: build/templates/build/detail.html:29 company/models.py:775 -#: order/models.py:1195 order/models.py:1311 order/models.py:1312 -#: part/models.py:391 part/models.py:2865 part/models.py:2979 -#: part/models.py:3119 part/models.py:3138 part/models.py:3157 -#: part/models.py:3178 part/models.py:3270 part/models.py:3555 -#: part/models.py:3663 part/models.py:3763 part/models.py:4077 -#: part/serializers.py:842 part/serializers.py:1245 +#: build/models.py:185 build/templates/build/build_base.html:98 +#: build/templates/build/detail.html:29 company/models.py:924 +#: order/models.py:1208 order/models.py:1324 order/models.py:1325 +#: part/models.py:392 part/models.py:2899 part/models.py:3013 +#: part/models.py:3153 part/models.py:3172 part/models.py:3191 +#: part/models.py:3212 part/models.py:3304 part/models.py:3589 +#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -963,268 +997,237 @@ msgstr "此次生产匹配的订单" #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 #: report/templates/report/inventree_so_report_base.html:27 -#: stock/serializers.py:156 stock/serializers.py:509 +#: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 -#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:631 -#: templates/js/translated/bom.js:768 templates/js/translated/bom.js:887 -#: templates/js/translated/build.js:1403 templates/js/translated/build.js:1965 -#: templates/js/translated/build.js:2464 templates/js/translated/build.js:2868 -#: templates/js/translated/company.js:337 -#: templates/js/translated/company.js:822 -#: templates/js/translated/company.js:929 -#: templates/js/translated/company.js:1169 templates/js/translated/part.js:1918 -#: templates/js/translated/part.js:1990 templates/js/translated/part.js:2216 -#: templates/js/translated/pricing.js:369 -#: templates/js/translated/purchase_order.js:746 -#: templates/js/translated/purchase_order.js:1274 -#: templates/js/translated/purchase_order.js:1811 -#: templates/js/translated/purchase_order.js:1975 -#: templates/js/translated/return_order.js:527 -#: templates/js/translated/return_order.js:694 -#: templates/js/translated/sales_order.js:285 -#: templates/js/translated/sales_order.js:1185 -#: templates/js/translated/sales_order.js:1584 -#: templates/js/translated/sales_order.js:1782 -#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:1021 templates/js/translated/stock.js:1773 -#: templates/js/translated/stock.js:2594 templates/js/translated/stock.js:2831 -#: templates/js/translated/stock.js:2968 +#: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 +#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/company.js:347 +#: templates/js/translated/company.js:1147 +#: templates/js/translated/company.js:1302 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 +#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:757 +#: templates/js/translated/purchase_order.js:1289 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:1985 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:706 +#: templates/js/translated/sales_order.js:297 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1596 +#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 +#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 +#: templates/js/translated/stock.js:3095 msgid "Part" msgstr "商品" -#: build/models.py:189 +#: build/models.py:193 msgid "Select part to build" msgstr "选择要生产的商品" -#: build/models.py:194 +#: build/models.py:198 msgid "Sales Order Reference" msgstr "相关销售订单" -#: build/models.py:198 +#: build/models.py:202 msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" -#: build/models.py:203 build/serializers.py:942 -#: templates/js/translated/build.js:2452 -#: templates/js/translated/sales_order.js:1173 +#: build/models.py:207 build/serializers.py:946 +#: templates/js/translated/build.js:1657 +#: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "来源地点" -#: build/models.py:207 +#: build/models.py:211 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" msgstr "此次生产从哪个仓储位置获取库存(留空即可从任何仓储位置取出)" -#: build/models.py:212 +#: build/models.py:216 msgid "Destination Location" msgstr "目标地点" -#: build/models.py:216 +#: build/models.py:220 msgid "Select location where the completed items will be stored" msgstr "选择已完成项目仓储地点" -#: build/models.py:220 +#: build/models.py:224 msgid "Build Quantity" msgstr "生产数量" -#: build/models.py:223 +#: build/models.py:227 msgid "Number of stock items to build" msgstr "要生产的项目数量" -#: build/models.py:227 +#: build/models.py:231 msgid "Completed items" msgstr "已完成项目" -#: build/models.py:229 +#: build/models.py:233 msgid "Number of stock items which have been completed" msgstr "已完成的库存项目数量" -#: build/models.py:233 +#: build/models.py:237 msgid "Build Status" msgstr "生产状态" -#: build/models.py:237 +#: build/models.py:241 msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:246 build/serializers.py:269 order/serializers.py:506 -#: stock/models.py:739 templates/js/translated/purchase_order.js:1099 +#: build/models.py:250 build/serializers.py:277 order/serializers.py:512 +#: stock/models.py:739 templates/js/translated/purchase_order.js:1114 msgid "Batch Code" msgstr "批量代码" -#: build/models.py:250 build/serializers.py:270 +#: build/models.py:254 build/serializers.py:278 msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:253 order/models.py:244 part/models.py:1038 +#: build/models.py:257 order/models.py:248 part/models.py:1039 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:327 -#: templates/js/translated/sales_order.js:815 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 msgid "Creation Date" msgstr "创建日期" -#: build/models.py:257 +#: build/models.py:261 msgid "Target completion date" msgstr "预计完成日期" -#: build/models.py:258 +#: build/models.py:262 msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:261 order/models.py:409 order/models.py:1767 -#: templates/js/translated/build.js:2953 +#: build/models.py:265 order/models.py:422 order/models.py:1780 +#: templates/js/translated/build.js:2170 msgid "Completion Date" msgstr "完成日期:" -#: build/models.py:267 +#: build/models.py:271 msgid "completed by" msgstr "完成人" -#: build/models.py:275 templates/js/translated/build.js:2913 +#: build/models.py:279 templates/js/translated/build.js:2130 msgid "Issued by" msgstr "发布者" -#: build/models.py:276 +#: build/models.py:280 msgid "User who issued this build order" msgstr "发布此生产订单的用户" -#: build/models.py:284 build/templates/build/build_base.html:204 -#: build/templates/build/detail.html:122 order/models.py:258 -#: order/templates/order/order_base.html:214 -#: order/templates/order/return_order_base.html:182 -#: order/templates/order/sales_order_base.html:222 part/models.py:1042 +#: build/models.py:288 build/templates/build/build_base.html:205 +#: build/templates/build/detail.html:122 order/models.py:262 +#: order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:189 +#: order/templates/order/sales_order_base.html:229 part/models.py:1043 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2925 -#: templates/js/translated/purchase_order.js:1723 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/table_filters.js:461 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1738 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "责任人" -#: build/models.py:285 +#: build/models.py:289 msgid "User or group responsible for this build order" msgstr "构建此订单的用户或组" -#: build/models.py:290 build/templates/build/detail.html:108 +#: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 #: company/templates/company/supplier_part.html:195 -#: order/templates/order/order_base.html:171 +#: order/templates/order/order_base.html:167 #: order/templates/order/return_order_base.html:146 #: order/templates/order/sales_order_base.html:181 #: part/templates/part/part_base.html:385 stock/models.py:733 #: stock/templates/stock/item_base.html:201 +#: templates/js/translated/company.js:1050 msgid "External Link" msgstr "外部链接" -#: build/models.py:295 +#: build/models.py:299 msgid "Build Priority" msgstr "创建优先级" -#: build/models.py:298 +#: build/models.py:302 msgid "Priority of this build order" msgstr "此构建订单的优先级" -#: build/models.py:536 +#: build/models.py:309 common/models.py:104 order/admin.py:17 +#: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 +#: templates/js/translated/build.js:2067 +#: templates/js/translated/purchase_order.js:1685 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:24 +#: templates/project_code_data.html:6 +#, fuzzy +#| msgid "Part QR Code" +msgid "Project Code" +msgstr "商品二维码" + +#: build/models.py:310 +#, fuzzy +#| msgid "Priority of this build order" +msgid "Project code for this build order" +msgstr "此构建订单的优先级" + +#: build/models.py:545 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:542 +#: build/models.py:551 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:744 build/models.py:811 +#: build/models.py:753 build/models.py:831 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:747 +#: build/models.py:756 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:750 +#: build/models.py:759 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:815 build/serializers.py:212 build/serializers.py:251 -#: build/serializers.py:811 order/models.py:440 order/serializers.py:379 -#: order/serializers.py:501 part/serializers.py:1087 part/serializers.py:1408 -#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:315 +#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/serializers.py:819 order/models.py:453 order/serializers.py:385 +#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:820 build/serializers.py:217 +#: build/models.py:840 build/serializers.py:225 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Quantity cannot be greater than the output quantity" msgstr "数量必须大于0" -#: build/models.py:1272 -msgid "Build item must specify a build output, as master part is marked as trackable" -msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" +#: build/models.py:1260 +#, fuzzy +#| msgid "Build Notes" +msgid "Build object" +msgstr "生产备注" -#: build/models.py:1281 -#, python-brace-format -msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" - -#: build/models.py:1291 order/models.py:1601 -msgid "Stock item is over-allocated" -msgstr "库存物品分配过度!" - -#: build/models.py:1297 order/models.py:1604 -msgid "Allocation quantity must be greater than zero" -msgstr "分配数量必须大于0" - -#: build/models.py:1303 -msgid "Quantity must be 1 for serialized stock" -msgstr "序列化库存的数量必须是 1" - -#: build/models.py:1360 -msgid "Selected stock item not found in BOM" -msgstr "在BOM中找不到选定的库存项" - -#: build/models.py:1438 stock/templates/stock/item_base.html:170 -#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2841 -#: templates/navbar.html:38 -msgid "Build" -msgstr "生产" - -#: build/models.py:1439 -msgid "Build to allocate parts" -msgstr "生产以分配部件" - -#: build/models.py:1455 build/serializers.py:791 order/serializers.py:1059 -#: order/serializers.py:1080 stock/serializers.py:413 stock/serializers.py:770 -#: stock/serializers.py:896 stock/templates/stock/item_base.html:10 -#: stock/templates/stock/item_base.html:23 -#: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:955 templates/js/translated/build.js:960 -#: templates/js/translated/build.js:2466 templates/js/translated/build.js:3038 -#: templates/js/translated/sales_order.js:286 -#: templates/js/translated/sales_order.js:1186 -#: templates/js/translated/sales_order.js:1485 -#: templates/js/translated/sales_order.js:1490 -#: templates/js/translated/sales_order.js:1591 -#: templates/js/translated/sales_order.js:1678 -#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:2714 -msgid "Stock Item" -msgstr "库存项" - -#: build/models.py:1456 -msgid "Source stock item" -msgstr "源库存项" - -#: build/models.py:1468 build/serializers.py:198 build/serializers.py:236 -#: build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2169 -#: order/models.py:1073 order/models.py:1645 order/serializers.py:1233 +#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/serializers.py:244 build/templates/build/build_base.html:103 +#: build/templates/build/detail.html:34 common/models.py:2162 +#: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:2992 part/models.py:3779 +#: part/forms.py:47 part/models.py:3026 part/models.py:3823 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1233,321 +1236,381 @@ msgstr "源库存项" #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 -#: stock/admin.py:103 stock/serializers.py:306 +#: stock/admin.py:103 stock/serializers.py:372 #: stock/templates/stock/item_base.html:288 #: stock/templates/stock/item_base.html:296 #: stock/templates/stock/item_base.html:343 #: templates/email/build_order_completed.html:18 -#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:770 -#: templates/js/translated/bom.js:951 templates/js/translated/build.js:504 -#: templates/js/translated/build.js:716 templates/js/translated/build.js:982 -#: templates/js/translated/build.js:1425 templates/js/translated/build.js:1991 -#: templates/js/translated/build.js:2467 -#: templates/js/translated/company.js:1428 -#: templates/js/translated/model_renderers.js:207 -#: templates/js/translated/order.js:304 templates/js/translated/part.js:935 -#: templates/js/translated/part.js:1784 templates/js/translated/part.js:3263 +#: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 +#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/company.js:1849 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:934 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 -#: templates/js/translated/purchase_order.js:749 -#: templates/js/translated/purchase_order.js:1815 -#: templates/js/translated/purchase_order.js:2039 -#: templates/js/translated/sales_order.js:302 -#: templates/js/translated/sales_order.js:1187 -#: templates/js/translated/sales_order.js:1504 -#: templates/js/translated/sales_order.js:1594 -#: templates/js/translated/sales_order.js:1684 -#: templates/js/translated/sales_order.js:1804 -#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:669 -#: templates/js/translated/stock.js:840 templates/js/translated/stock.js:2758 -#: templates/js/translated/stock.js:2843 +#: templates/js/translated/purchase_order.js:760 +#: templates/js/translated/purchase_order.js:1830 +#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/sales_order.js:314 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1516 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 +#: templates/js/translated/stock.js:2970 msgid "Quantity" msgstr "数量" -#: build/models.py:1469 +#: build/models.py:1275 +#, fuzzy +#| msgid "Stock required for build order" +msgid "Required quantity for build order" +msgstr "生产订单所需的库存" + +#: build/models.py:1357 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" + +#: build/models.py:1366 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" + +#: build/models.py:1376 order/models.py:1614 +msgid "Stock item is over-allocated" +msgstr "库存物品分配过度!" + +#: build/models.py:1382 order/models.py:1617 +msgid "Allocation quantity must be greater than zero" +msgstr "分配数量必须大于0" + +#: build/models.py:1388 +msgid "Quantity must be 1 for serialized stock" +msgstr "序列化库存的数量必须是 1" + +#: build/models.py:1449 +#, fuzzy +#| msgid "Selected stock item not found in BOM" +msgid "Selected stock item does not match BOM line" +msgstr "在BOM中找不到选定的库存项" + +#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 +#: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:195 +#: templates/js/translated/build.js:1671 +#: templates/js/translated/sales_order.js:298 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1497 +#: templates/js/translated/sales_order.js:1502 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 +#: templates/js/translated/stock.js:2845 +msgid "Stock Item" +msgstr "库存项" + +#: build/models.py:1544 +msgid "Source stock item" +msgstr "源库存项" + +#: build/models.py:1557 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1477 +#: build/models.py:1565 msgid "Install into" msgstr "安装到" -#: build/models.py:1478 +#: build/models.py:1566 msgid "Destination stock item" msgstr "目标库存项" -#: build/serializers.py:148 build/serializers.py:820 -#: templates/js/translated/build.js:1413 +#: build/serializers.py:156 build/serializers.py:828 +#: templates/js/translated/build.js:1299 msgid "Build Output" msgstr "生产产出" -#: build/serializers.py:160 +#: build/serializers.py:168 msgid "Build output does not match the parent build" msgstr "生产产出与对应生产不匹配" -#: build/serializers.py:164 +#: build/serializers.py:172 msgid "Output part does not match BuildOrder part" msgstr "产出部件与生产订单部件不匹配" -#: build/serializers.py:168 +#: build/serializers.py:176 msgid "This build output has already been completed" msgstr "此生产产出已经完成" -#: build/serializers.py:179 +#: build/serializers.py:187 msgid "This build output is not fully allocated" msgstr "生产产出未被完成分配" -#: build/serializers.py:199 build/serializers.py:237 +#: build/serializers.py:207 build/serializers.py:245 msgid "Enter quantity for build output" msgstr "输入生产产出数量" -#: build/serializers.py:258 +#: build/serializers.py:266 msgid "Integer quantity required for trackable parts" msgstr "对于可追踪的部件,需要整数型数值" -#: build/serializers.py:261 +#: build/serializers.py:269 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "需要整数型数值,因为BOM包含可追踪的部件" -#: build/serializers.py:276 order/serializers.py:514 order/serializers.py:1237 -#: stock/serializers.py:324 templates/js/translated/purchase_order.js:1123 -#: templates/js/translated/stock.js:334 templates/js/translated/stock.js:532 +#: build/serializers.py:284 order/serializers.py:520 order/serializers.py:1243 +#: stock/serializers.py:390 templates/js/translated/purchase_order.js:1138 +#: templates/js/translated/stock.js:333 templates/js/translated/stock.js:531 msgid "Serial Numbers" msgstr "序列号" -#: build/serializers.py:277 +#: build/serializers.py:285 msgid "Enter serial numbers for build outputs" msgstr "输入生产产出的序列号" -#: build/serializers.py:290 +#: build/serializers.py:298 msgid "Auto Allocate Serial Numbers" msgstr "自动分配序列号" -#: build/serializers.py:291 +#: build/serializers.py:299 msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:326 stock/api.py:670 +#: build/serializers.py:334 stock/api.py:707 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:377 build/serializers.py:439 build/serializers.py:518 +#: build/serializers.py:385 build/serializers.py:447 build/serializers.py:526 msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" -#: build/serializers.py:415 build/serializers.py:488 order/serializers.py:487 -#: order/serializers.py:606 order/serializers.py:1588 part/serializers.py:854 -#: stock/serializers.py:335 stock/serializers.py:470 stock/serializers.py:551 -#: stock/serializers.py:931 stock/serializers.py:1173 +#: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 +#: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 -#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:967 -#: templates/js/translated/build.js:2006 -#: templates/js/translated/purchase_order.js:1148 -#: templates/js/translated/purchase_order.js:1238 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1605 -#: templates/js/translated/sales_order.js:1613 -#: templates/js/translated/sales_order.js:1692 -#: templates/js/translated/stock.js:645 templates/js/translated/stock.js:811 -#: templates/js/translated/stock.js:1023 templates/js/translated/stock.js:1937 -#: templates/js/translated/stock.js:2608 +#: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 +#: templates/js/translated/build.js:2298 +#: templates/js/translated/purchase_order.js:1163 +#: templates/js/translated/purchase_order.js:1253 +#: templates/js/translated/sales_order.js:1509 +#: templates/js/translated/sales_order.js:1617 +#: templates/js/translated/sales_order.js:1625 +#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 +#: templates/js/translated/stock.js:2739 msgid "Location" msgstr "地点" -#: build/serializers.py:416 +#: build/serializers.py:424 #, fuzzy #| msgid "Stock item created" msgid "Stock location for scrapped outputs" msgstr "库存项已创建" -#: build/serializers.py:422 +#: build/serializers.py:430 #, fuzzy #| msgid "Stock Locations" msgid "Discard Allocations" msgstr "仓储地点" -#: build/serializers.py:423 +#: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:428 +#: build/serializers.py:436 #, fuzzy #| msgid "Location for completed build outputs" msgid "Reason for scrapping build output(s)" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:489 +#: build/serializers.py:497 msgid "Location for completed build outputs" msgstr "已完成生产产出的仓储地点" -#: build/serializers.py:495 build/templates/build/build_base.html:151 -#: build/templates/build/detail.html:62 order/models.py:791 -#: order/models.py:1750 order/serializers.py:524 stock/admin.py:106 -#: stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2897 -#: templates/js/translated/purchase_order.js:1278 -#: templates/js/translated/purchase_order.js:1682 -#: templates/js/translated/return_order.js:319 -#: templates/js/translated/sales_order.js:807 -#: templates/js/translated/stock.js:1912 templates/js/translated/stock.js:2732 -#: templates/js/translated/stock.js:2859 +#: build/serializers.py:503 build/templates/build/build_base.html:152 +#: build/templates/build/detail.html:62 order/models.py:804 +#: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 +#: stock/serializers.py:677 stock/templates/stock/item_base.html:423 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/purchase_order.js:1293 +#: templates/js/translated/purchase_order.js:1697 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 +#: templates/js/translated/stock.js:2986 msgid "Status" msgstr "状态" -#: build/serializers.py:501 +#: build/serializers.py:509 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:502 +#: build/serializers.py:510 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未完成分配,完成产出" -#: build/serializers.py:571 +#: build/serializers.py:579 msgid "Remove Allocated Stock" msgstr "移除已分配的库存" -#: build/serializers.py:572 +#: build/serializers.py:580 msgid "Subtract any stock which has already been allocated to this build" msgstr "减去已经分配至此生产的库存" -#: build/serializers.py:578 +#: build/serializers.py:586 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:579 +#: build/serializers.py:587 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的生产产出" -#: build/serializers.py:606 +#: build/serializers.py:614 msgid "Not permitted" msgstr "" -#: build/serializers.py:607 +#: build/serializers.py:615 msgid "Accept as consumed by this build order" msgstr "接受此构建订单所消耗的内容" -#: build/serializers.py:608 +#: build/serializers.py:616 msgid "Deallocate before completing this build order" msgstr "在完成此构建订单前取消分配" -#: build/serializers.py:631 +#: build/serializers.py:639 msgid "Overallocated Stock" msgstr "超出分配的库存" -#: build/serializers.py:633 +#: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "你想如何处理分配给构建订单的额外库存物品" -#: build/serializers.py:643 +#: build/serializers.py:651 msgid "Some stock items have been overallocated" msgstr "一些库存项已被过度分配" -#: build/serializers.py:648 +#: build/serializers.py:656 msgid "Accept Unallocated" msgstr "接受未分配的" -#: build/serializers.py:649 +#: build/serializers.py:657 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完成分配至此生产订单" -#: build/serializers.py:659 templates/js/translated/build.js:295 +#: build/serializers.py:667 templates/js/translated/build.js:304 msgid "Required stock has not been fully allocated" msgstr "所需库存尚未完全分配" -#: build/serializers.py:664 order/serializers.py:261 order/serializers.py:1127 +#: build/serializers.py:672 order/serializers.py:267 order/serializers.py:1133 msgid "Accept Incomplete" msgstr "接受未完成" -#: build/serializers.py:665 +#: build/serializers.py:673 msgid "Accept that the required number of build outputs have not been completed" msgstr "接受所需的生产产出未完成" -#: build/serializers.py:675 templates/js/translated/build.js:299 +#: build/serializers.py:683 templates/js/translated/build.js:308 msgid "Required build quantity has not been completed" msgstr "所需生产数量尚未完成" -#: build/serializers.py:684 templates/js/translated/build.js:283 +#: build/serializers.py:692 templates/js/translated/build.js:292 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:714 build/serializers.py:768 part/models.py:3686 -#: part/models.py:4069 -msgid "BOM Item" -msgstr "BOM项" +#: build/serializers.py:722 +#, fuzzy +#| msgid "Build actions" +msgid "Build Line" +msgstr "生产操作" -#: build/serializers.py:724 +#: build/serializers.py:732 msgid "Build output" msgstr "生产产出" -#: build/serializers.py:732 +#: build/serializers.py:740 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:782 +#: build/serializers.py:776 +#, fuzzy +#| msgid "Delete parameters" +msgid "Build Line Item" +msgstr "删除参数" + +#: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单指向相同的部件" -#: build/serializers.py:797 stock/serializers.py:783 +#: build/serializers.py:805 stock/serializers.py:900 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:846 order/serializers.py:1117 +#: build/serializers.py:853 order/serializers.py:1123 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出了限制" -#: build/serializers.py:852 +#: build/serializers.py:859 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的部件的分配,必须指定生产产出" -#: build/serializers.py:859 +#: build/serializers.py:866 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的部件,无法指定生产产出" -#: build/serializers.py:864 +#: build/serializers.py:871 msgid "This stock item has already been allocated to this build output" msgstr "此库存项已被分配至此生产产出" -#: build/serializers.py:887 order/serializers.py:1401 +#: build/serializers.py:894 order/serializers.py:1407 msgid "Allocation items must be provided" msgstr "必须提供分配的项" -#: build/serializers.py:943 +#: build/serializers.py:947 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部件来源的仓储地点(留空则可来源于任何仓储地点)" -#: build/serializers.py:951 +#: build/serializers.py:955 msgid "Exclude Location" msgstr "排除地点" -#: build/serializers.py:952 +#: build/serializers.py:956 msgid "Exclude stock items from this selected location" msgstr "从该选定的仓储地点排除库存项" -#: build/serializers.py:957 +#: build/serializers.py:961 msgid "Interchangeable Stock" msgstr "可互换的库存" -#: build/serializers.py:958 +#: build/serializers.py:962 msgid "Stock items in multiple locations can be used interchangeably" msgstr "多处地点的库存项可以互换使用" -#: build/serializers.py:963 +#: build/serializers.py:967 msgid "Substitute Stock" msgstr "可替换的库存" -#: build/serializers.py:964 +#: build/serializers.py:968 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的部件" -#: build/serializers.py:969 +#: build/serializers.py:973 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:970 +#: build/serializers.py:974 msgid "Allocate optional BOM items to build order" msgstr "分配可选的BOM项目来建立订单" @@ -1578,6 +1641,7 @@ msgstr "商品名称" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 +#: templates/js/translated/filters.js:336 msgid "Barcode actions" msgstr "" @@ -1656,69 +1720,67 @@ msgstr "生产完成" msgid "Build Description" msgstr "构建描述" -#: build/templates/build/build_base.html:117 +#: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" msgstr "针对此生产订单,尚未创建生产产出" -#: build/templates/build/build_base.html:124 +#: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" msgstr "构建订单已准备好标记为已完成" -#: build/templates/build/build_base.html:129 +#: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" msgstr "创建订单无法完成,因为未完成的输出" -#: build/templates/build/build_base.html:134 +#: build/templates/build/build_base.html:135 msgid "Required build quantity has not yet been completed" msgstr "所需生产数量尚未完成" -#: build/templates/build/build_base.html:139 +#: build/templates/build/build_base.html:140 msgid "Stock has not been fully allocated to this Build Order" msgstr "库存尚未被完全分配到此构建订单" -#: build/templates/build/build_base.html:160 -#: build/templates/build/detail.html:138 order/models.py:240 -#: order/models.py:1099 order/templates/order/order_base.html:190 +#: build/templates/build/build_base.html:161 +#: build/templates/build/detail.html:138 order/models.py:244 +#: order/models.py:1112 order/templates/order/order_base.html:186 #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2945 templates/js/translated/part.js:1802 -#: templates/js/translated/purchase_order.js:1699 -#: templates/js/translated/purchase_order.js:2115 -#: templates/js/translated/return_order.js:335 -#: templates/js/translated/return_order.js:735 -#: templates/js/translated/sales_order.js:823 -#: templates/js/translated/sales_order.js:1847 +#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/purchase_order.js:1714 +#: templates/js/translated/purchase_order.js:2125 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:747 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1859 msgid "Target Date" msgstr "预计日期" -#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:166 #, python-format msgid "This build was due on %(target)s" msgstr "此次生产的截止日期为 %(target)s" -#: build/templates/build/build_base.html:165 -#: build/templates/build/build_base.html:222 -#: order/templates/order/order_base.html:126 +#: build/templates/build/build_base.html:166 +#: build/templates/build/build_base.html:223 +#: order/templates/order/order_base.html:122 #: order/templates/order/return_order_base.html:118 #: order/templates/order/sales_order_base.html:123 -#: templates/js/translated/table_filters.js:68 -#: templates/js/translated/table_filters.js:454 -#: templates/js/translated/table_filters.js:539 -#: templates/js/translated/table_filters.js:580 +#: templates/js/translated/table_filters.js:74 +#: templates/js/translated/table_filters.js:460 +#: templates/js/translated/table_filters.js:561 +#: templates/js/translated/table_filters.js:602 msgid "Overdue" msgstr "逾期" -#: build/templates/build/build_base.html:177 -#: build/templates/build/detail.html:67 build/templates/build/detail.html:149 -#: order/templates/order/sales_order_base.html:203 -#: templates/js/translated/table_filters.js:602 -msgid "Completed" -msgstr "已完成" +#: build/templates/build/build_base.html:178 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "已完成输出" -#: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1304 -#: order/models.py:1403 order/models.py:1551 +#: build/templates/build/build_base.html:191 +#: build/templates/build/detail.html:101 order/api.py:1454 order/models.py:1317 +#: order/models.py:1416 order/models.py:1564 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -1726,34 +1788,34 @@ msgstr "已完成" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:757 -#: templates/js/translated/sales_order.js:980 -#: templates/js/translated/stock.js:2661 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2792 msgid "Sales Order" msgstr "销售订单" -#: build/templates/build/build_base.html:197 +#: build/templates/build/build_base.html:198 #: build/templates/build/detail.html:115 #: report/templates/report/inventree_build_order_base.html:152 msgid "Issued By" msgstr "发布者" -#: build/templates/build/build_base.html:211 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2862 +#: build/templates/build/build_base.html:212 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 msgid "Priority" msgstr "优先级" -#: build/templates/build/build_base.html:273 +#: build/templates/build/build_base.html:274 msgid "Delete Build Order" msgstr "删除生产订单" -#: build/templates/build/build_base.html:283 +#: build/templates/build/build_base.html:284 #, fuzzy #| msgid "Build Order" msgid "Build Order QR Code" msgstr "生产订单" -#: build/templates/build/build_base.html:295 +#: build/templates/build/build_base.html:296 #, fuzzy #| msgid "Print Build Orders" msgid "Link Barcode to Build Order" @@ -1771,8 +1833,8 @@ msgstr "库存来源" msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" -#: build/templates/build/detail.html:49 order/models.py:1222 -#: templates/js/translated/purchase_order.js:2157 +#: build/templates/build/detail.html:49 order/models.py:1235 +#: templates/js/translated/purchase_order.js:2167 msgid "Destination" msgstr "目的地" @@ -1786,21 +1848,21 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1432 -#: templates/js/translated/model_renderers.js:212 -#: templates/js/translated/purchase_order.js:1244 -#: templates/js/translated/stock.js:1093 templates/js/translated/stock.js:1926 -#: templates/js/translated/stock.js:2866 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:350 +#: templates/js/translated/build.js:1319 +#: templates/js/translated/model_renderers.js:226 +#: templates/js/translated/purchase_order.js:1259 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 +#: templates/js/translated/stock.js:2993 +#: templates/js/translated/table_filters.js:265 +#: templates/js/translated/table_filters.js:356 msgid "Batch" msgstr "批量" #: build/templates/build/detail.html:133 -#: order/templates/order/order_base.html:177 +#: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2905 +#: templates/js/translated/build.js:2122 msgid "Created" msgstr "已创建" @@ -1808,153 +1870,114 @@ msgstr "已创建" msgid "No target date set" msgstr "无预计日期" +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:203 +#: templates/js/translated/table_filters.js:624 +msgid "Completed" +msgstr "已完成" + #: build/templates/build/detail.html:153 msgid "Build not complete" msgstr "生产未完成" -#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:19 +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 msgid "Child Build Orders" msgstr "子生产订单" -#: build/templates/build/detail.html:179 +#: build/templates/build/detail.html:177 msgid "Allocate Stock to Build" msgstr "为生产分配库存" -#: build/templates/build/detail.html:183 templates/js/translated/build.js:2276 -msgid "Unallocate stock" +#: build/templates/build/detail.html:181 +#, fuzzy +#| msgid "Unallocate stock" +msgid "Deallocate stock" +msgstr "未分配库存" + +#: build/templates/build/detail.html:182 +#, fuzzy +#| msgid "Unallocate Stock" +msgid "Deallocate Stock" msgstr "未分配库存" #: build/templates/build/detail.html:184 -msgid "Unallocate Stock" -msgstr "未分配库存" - -#: build/templates/build/detail.html:186 msgid "Automatically allocate stock to build" msgstr "自动分配存货进行生成" -#: build/templates/build/detail.html:187 +#: build/templates/build/detail.html:185 msgid "Auto Allocate" msgstr "自动分配" -#: build/templates/build/detail.html:189 +#: build/templates/build/detail.html:187 msgid "Manually allocate stock to build" msgstr "手动分配存货进行生成" -#: build/templates/build/detail.html:190 build/templates/build/sidebar.html:8 +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 msgid "Allocate Stock" msgstr "分配库存" -#: build/templates/build/detail.html:193 +#: build/templates/build/detail.html:191 msgid "Order required parts" msgstr "订单所需部件" -#: build/templates/build/detail.html:194 -#: company/templates/company/detail.html:38 -#: company/templates/company/detail.html:86 -#: part/templates/part/category.html:184 -#: templates/js/translated/purchase_order.js:789 +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:800 msgid "Order Parts" msgstr "订购商品" -#: build/templates/build/detail.html:206 -msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "未跟踪的库存已完全分配给此生产订单" - #: build/templates/build/detail.html:210 -msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "未跟踪的库存尚未完全分配给此生产订单" - -#: build/templates/build/detail.html:217 -msgid "Allocate selected items" -msgstr "分配选定项目" - -#: build/templates/build/detail.html:227 -msgid "This Build Order does not have any associated untracked BOM items" -msgstr "此构建订单没有任何关联的 BOM 项目" - -#: build/templates/build/detail.html:236 msgid "Incomplete Build Outputs" msgstr "未完成的生产产出" -#: build/templates/build/detail.html:240 +#: build/templates/build/detail.html:214 msgid "Create new build output" msgstr "创建新构建输出" -#: build/templates/build/detail.html:241 +#: build/templates/build/detail.html:215 msgid "New Build Output" msgstr "新建构建输出" -#: build/templates/build/detail.html:255 -msgid "Output Actions" -msgstr "输出操作" - -#: build/templates/build/detail.html:260 -msgid "Complete selected build outputs" -msgstr "完成选定的构建输出" - -#: build/templates/build/detail.html:261 -msgid "Complete outputs" -msgstr "已完成输出" - -#: build/templates/build/detail.html:265 -#, fuzzy -#| msgid "Complete selected build outputs" -msgid "Scrap selected build outputs" -msgstr "完成选定的构建输出" - -#: build/templates/build/detail.html:266 -#, fuzzy -#| msgid "Complete outputs" -msgid "Scrap outputs" -msgstr "已完成输出" - -#: build/templates/build/detail.html:270 -msgid "Delete selected build outputs" -msgstr "删除选中的构建输出" - -#: build/templates/build/detail.html:271 -msgid "Delete outputs" -msgstr "删除输出" - -#: build/templates/build/detail.html:288 build/templates/build/sidebar.html:11 +#: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 #, fuzzy #| msgid "Minimum Stock" msgid "Consumed Stock" msgstr "最低库存" -#: build/templates/build/detail.html:300 +#: build/templates/build/detail.html:244 msgid "Completed Build Outputs" msgstr "已完成构建输出" -#: build/templates/build/detail.html:312 build/templates/build/sidebar.html:21 -#: company/templates/company/detail.html:261 -#: company/templates/company/manufacturer_part.html:151 +#: build/templates/build/detail.html:256 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 #: company/templates/company/manufacturer_part_sidebar.html:9 -#: company/templates/company/sidebar.html:37 +#: company/templates/company/sidebar.html:39 #: order/templates/order/po_sidebar.html:9 -#: order/templates/order/purchase_order_detail.html:102 -#: order/templates/order/return_order_detail.html:74 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 #: order/templates/order/return_order_sidebar.html:7 -#: order/templates/order/sales_order_detail.html:134 -#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:234 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:117 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "附件" -#: build/templates/build/detail.html:327 +#: build/templates/build/detail.html:271 msgid "Build Notes" msgstr "生产备注" -#: build/templates/build/detail.html:502 +#: build/templates/build/detail.html:425 msgid "Allocation Complete" msgstr "分配完成" -#: build/templates/build/detail.html:503 -msgid "All untracked stock items have been allocated" -msgstr "所有未跟踪的库存项目都已分配" +#: build/templates/build/detail.html:426 +#, fuzzy +#| msgid "Required stock has not been fully allocated" +msgid "All lines have been fully allocated" +msgstr "所需库存尚未完全分配" -#: build/templates/build/index.html:18 part/templates/part/detail.html:340 +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" msgstr "新建生产订单" @@ -1962,14 +1985,10 @@ msgstr "新建生产订单" msgid "Build Order Details" msgstr "生产订单详情" -#: build/templates/build/sidebar.html:14 +#: build/templates/build/sidebar.html:10 msgid "Incomplete Outputs" msgstr "未完成输出" -#: build/templates/build/sidebar.html:17 -msgid "Completed Outputs" -msgstr "已完成输出" - #: common/files.py:63 #, fuzzy, python-brace-format #| msgid "Unsupported file format: {ext.upper()}" @@ -2017,18 +2036,6 @@ msgstr "已更新" msgid "Timestamp of last update" msgstr "最后一次更新时间" -#: common/models.py:104 order/admin.py:17 order/models.py:234 -#: templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/purchase_order.js:1670 -#: templates/js/translated/return_order.js:306 -#: templates/js/translated/sales_order.js:794 -#: templates/js/translated/table_filters.js:24 -#: templates/project_code_data.html:6 -#, fuzzy -#| msgid "Part QR Code" -msgid "Project Code" -msgstr "商品二维码" - #: common/models.py:105 msgid "Unique project code" msgstr "" @@ -2182,7 +2189,7 @@ msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 #: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1688 +#: common/models.py:1323 common/models.py:1446 common/models.py:1695 msgid "days" msgstr "天" @@ -2318,9 +2325,9 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3560 -#: report/models.py:166 templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:680 +#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "模板" @@ -2328,10 +2335,10 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:996 -#: templates/js/translated/bom.js:1598 -#: templates/js/translated/table_filters.js:276 -#: templates/js/translated/table_filters.js:634 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: templates/js/translated/bom.js:1618 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:656 msgid "Assembly" msgstr "组装" @@ -2339,8 +2346,8 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1002 -#: templates/js/translated/table_filters.js:642 +#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "组件" @@ -2348,7 +2355,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1013 +#: common/models.py:1183 part/admin.py:53 part/models.py:1014 msgid "Purchaseable" msgstr "可购买" @@ -2356,8 +2363,8 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1190 part/admin.py:54 part/models.py:1018 -#: templates/js/translated/table_filters.js:668 +#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "可销售" @@ -2365,10 +2372,10 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1197 part/admin.py:56 part/models.py:1008 -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:193 -#: templates/js/translated/table_filters.js:684 +#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: templates/js/translated/table_filters.js:123 +#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:706 msgid "Trackable" msgstr "可追踪" @@ -2376,10 +2383,10 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1204 part/admin.py:57 part/models.py:1028 +#: common/models.py:1204 part/admin.py:57 part/models.py:1029 #: part/templates/part/part_base.html:156 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:688 +#: templates/js/translated/table_filters.js:119 +#: templates/js/translated/table_filters.js:710 msgid "Virtual" msgstr "虚拟" @@ -2411,7 +2418,7 @@ msgstr "" msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/models.py:1232 templates/js/translated/part.js:108 +#: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" msgstr "" @@ -2660,303 +2667,305 @@ msgid "Stock location default icon (empty means no icon)" msgstr "" #: common/models.py:1471 -msgid "Build Order Reference Pattern" -msgstr "" +#, fuzzy +#| msgid "Select Stock Items" +msgid "Show Installed Stock Items" +msgstr "选择库存项" #: common/models.py:1472 -msgid "Required pattern for generating Build Order reference field" +msgid "Display installed stock items in stock tables" msgstr "" #: common/models.py:1478 +msgid "Build Order Reference Pattern" +msgstr "" + +#: common/models.py:1479 +msgid "Required pattern for generating Build Order reference field" +msgstr "" + +#: common/models.py:1485 #, fuzzy #| msgid "Sales Orders" msgid "Enable Return Orders" msgstr "销售订单" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order Reference Pattern" msgstr "相关生产订单" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 #, fuzzy #| msgid "Complete Build Order" msgid "Edit Completed Return Orders" msgstr "生产订单完成" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Enable password forgot" msgstr "" -#: common/models.py:1536 +#: common/models.py:1543 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable registration" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable SSO" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Email required" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Mail twice" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Password twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Allowed domains" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Group on signup" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Enforce MFA" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1621 +#: common/models.py:1628 msgid "Enable URL integration" msgstr "" -#: common/models.py:1622 +#: common/models.py:1629 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1630 +#: common/models.py:1637 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable app integration" msgstr "" -#: common/models.py:1638 +#: common/models.py:1645 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1646 +#: common/models.py:1653 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable event integration" msgstr "" -#: common/models.py:1654 +#: common/models.py:1661 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 #, fuzzy #| msgid "Sales Orders" msgid "Enable project codes" msgstr "销售订单" -#: common/models.py:1662 +#: common/models.py:1669 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1685 +#: common/models.py:1692 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1686 +#: common/models.py:1693 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1703 common/models.py:2140 +#: common/models.py:1710 common/models.py:2133 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1722 +#: common/models.py:1729 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1744 +#: common/models.py:1751 #, fuzzy #| msgid "Build to allocate parts" msgid "Hide inactive parts" msgstr "生产以分配部件" -#: common/models.py:1745 +#: common/models.py:1752 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1772 -msgid "Recent Part Count" -msgstr "" - -#: common/models.py:1773 -msgid "Number of recent parts to display on index page" -msgstr "" - #: common/models.py:1779 msgid "Show unvalidated BOMs" msgstr "" @@ -2974,516 +2983,509 @@ msgid "Show recently changed stock items on the homepage" msgstr "" #: common/models.py:1793 -msgid "Recent Stock Count" -msgstr "" - -#: common/models.py:1794 -msgid "Number of recent stock items to display on index page" -msgstr "" - -#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1794 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1800 msgid "Show depleted stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1801 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1807 msgid "Show needed stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1808 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1814 msgid "Show expired stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1815 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1821 msgid "Show stale stock" msgstr "" -#: common/models.py:1829 +#: common/models.py:1822 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1828 msgid "Show pending builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1829 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1835 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1843 +#: common/models.py:1836 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1849 +#: common/models.py:1842 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1843 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1849 msgid "Show overdue POs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1850 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1856 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1857 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1863 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1871 +#: common/models.py:1864 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1870 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1878 +#: common/models.py:1871 #, fuzzy #| msgid "Show latest parts on the homepage" msgid "Show pending SO shipments on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1884 +#: common/models.py:1877 msgid "Show News" msgstr "" -#: common/models.py:1885 +#: common/models.py:1878 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1891 +#: common/models.py:1884 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1892 +#: common/models.py:1885 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1898 +#: common/models.py:1891 msgid "Default label printer" msgstr "" -#: common/models.py:1899 +#: common/models.py:1892 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1905 +#: common/models.py:1898 msgid "Inline report display" msgstr "" -#: common/models.py:1906 +#: common/models.py:1899 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1912 +#: common/models.py:1905 msgid "Search Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1906 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1912 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1913 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1919 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1920 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1926 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1934 +#: common/models.py:1927 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1933 msgid "Search Categories" msgstr "" -#: common/models.py:1941 +#: common/models.py:1934 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1940 msgid "Search Stock" msgstr "" -#: common/models.py:1948 +#: common/models.py:1941 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1947 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1955 +#: common/models.py:1948 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1954 msgid "Search Locations" msgstr "" -#: common/models.py:1962 +#: common/models.py:1955 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1961 msgid "Search Companies" msgstr "" -#: common/models.py:1969 +#: common/models.py:1962 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1968 msgid "Search Build Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1969 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1975 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1976 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1982 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1983 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:1989 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:1990 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:1996 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:1997 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2003 #, fuzzy #| msgid "Purchase Orders" msgid "Search Return Orders" msgstr "采购订单" -#: common/models.py:2011 +#: common/models.py:2004 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2010 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2018 +#: common/models.py:2011 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2017 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2025 +#: common/models.py:2018 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2031 +#: common/models.py:2024 #, fuzzy #| msgid "Search" msgid "Regex Search" msgstr "搜索" -#: common/models.py:2032 +#: common/models.py:2025 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2038 +#: common/models.py:2031 msgid "Whole Word Search" msgstr "" -#: common/models.py:2039 +#: common/models.py:2032 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2045 +#: common/models.py:2038 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2046 +#: common/models.py:2039 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2052 +#: common/models.py:2045 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2053 +#: common/models.py:2046 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2059 +#: common/models.py:2052 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2060 +#: common/models.py:2053 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2066 +#: common/models.py:2059 msgid "Date Format" msgstr "" -#: common/models.py:2067 +#: common/models.py:2060 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:41 +#: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2082 +#: common/models.py:2075 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2088 part/templates/part/detail.html:62 +#: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2089 +#: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2095 +#: common/models.py:2088 msgid "Table String Length" msgstr "" -#: common/models.py:2096 +#: common/models.py:2089 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2105 +#: common/models.py:2098 #, fuzzy #| msgid "Select Label Template" msgid "Default part label template" msgstr "选择标签模板" -#: common/models.py:2106 +#: common/models.py:2099 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2114 +#: common/models.py:2107 #, fuzzy #| msgid "stock items selected" msgid "Default stock item template" msgstr "已选择库存项" -#: common/models.py:2115 +#: common/models.py:2108 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2123 +#: common/models.py:2116 #, fuzzy #| msgid "No stock location set" msgid "Default stock location label template" msgstr "未设置仓储地点" -#: common/models.py:2124 +#: common/models.py:2117 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2170 +#: common/models.py:2163 msgid "Price break quantity" msgstr "" -#: common/models.py:2177 company/serializers.py:434 order/admin.py:43 -#: order/models.py:1132 order/models.py:1939 -#: templates/js/translated/company.js:1433 templates/js/translated/part.js:1856 +#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: order/models.py:1145 order/models.py:1952 +#: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:725 +#: templates/js/translated/return_order.js:737 msgid "Price" msgstr "价格" -#: common/models.py:2178 +#: common/models.py:2171 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2338 common/models.py:2516 +#: common/models.py:2331 common/models.py:2509 msgid "Endpoint" msgstr "" -#: common/models.py:2339 +#: common/models.py:2332 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2348 +#: common/models.py:2341 msgid "Name for this webhook" msgstr "" -#: common/models.py:2353 part/admin.py:50 part/models.py:1023 -#: plugin/models.py:47 templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:189 -#: templates/js/translated/table_filters.js:434 -#: templates/js/translated/table_filters.js:450 -#: templates/js/translated/table_filters.js:629 +#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: plugin/models.py:48 templates/js/translated/table_filters.js:111 +#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:440 +#: templates/js/translated/table_filters.js:456 +#: templates/js/translated/table_filters.js:651 msgid "Active" msgstr "" -#: common/models.py:2354 +#: common/models.py:2347 msgid "Is this webhook active" msgstr "" -#: common/models.py:2368 +#: common/models.py:2361 msgid "Token" msgstr "令牌" -#: common/models.py:2369 +#: common/models.py:2362 msgid "Token for access" msgstr "" -#: common/models.py:2376 +#: common/models.py:2369 msgid "Secret" msgstr "" -#: common/models.py:2377 +#: common/models.py:2370 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2483 +#: common/models.py:2476 msgid "Message ID" msgstr "" -#: common/models.py:2484 +#: common/models.py:2477 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2492 +#: common/models.py:2485 msgid "Host" msgstr "" -#: common/models.py:2493 +#: common/models.py:2486 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2500 +#: common/models.py:2493 msgid "Header" msgstr "" -#: common/models.py:2501 +#: common/models.py:2494 msgid "Header of this message" msgstr "" -#: common/models.py:2507 +#: common/models.py:2500 msgid "Body" msgstr "" -#: common/models.py:2508 +#: common/models.py:2501 msgid "Body of this message" msgstr "" -#: common/models.py:2517 +#: common/models.py:2510 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2522 +#: common/models.py:2515 msgid "Worked on" msgstr "" -#: common/models.py:2523 +#: common/models.py:2516 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2677 +#: common/models.py:2670 msgid "Id" msgstr "" -#: common/models.py:2683 templates/js/translated/news.js:44 +#: common/models.py:2676 templates/js/translated/company.js:996 +#: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2693 templates/js/translated/news.js:60 +#: common/models.py:2686 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2703 templates/js/translated/news.js:52 +#: common/models.py:2696 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2708 +#: common/models.py:2701 msgid "Read" msgstr "" -#: common/models.py:2709 +#: common/models.py:2702 msgid "Was this news item read?" msgstr "" -#: common/models.py:2729 company/models.py:143 part/models.py:914 +#: common/models.py:2722 company/models.py:139 part/models.py:915 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3493,7 +3495,7 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:2730 +#: common/models.py:2723 #, fuzzy #| msgid "Image" msgid "Image file" @@ -3574,7 +3576,7 @@ msgstr "公司简介" #: company/models.py:113 company/templates/company/company_base.html:101 #: templates/InvenTree/settings/plugin_settings.html:54 -#: templates/js/translated/company.js:514 +#: templates/js/translated/company.js:521 msgid "Website" msgstr "网站" @@ -3582,305 +3584,407 @@ msgstr "网站" msgid "Company website URL" msgstr "公司网站" -#: company/models.py:118 company/templates/company/company_base.html:119 -msgid "Address" -msgstr "地址" - -#: company/models.py:119 -msgid "Company address" -msgstr "公司地址" - -#: company/models.py:122 +#: company/models.py:118 msgid "Phone number" msgstr "电话号码" -#: company/models.py:123 +#: company/models.py:119 msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:126 company/templates/company/company_base.html:133 +#: company/models.py:122 company/templates/company/company_base.html:133 #: templates/InvenTree/settings/user.html:49 -#: templates/js/translated/company.js:659 +#: templates/js/translated/company.js:666 msgid "Email" msgstr "电子邮件" -#: company/models.py:126 +#: company/models.py:122 msgid "Contact email address" msgstr "联系人电子邮件" -#: company/models.py:129 company/templates/company/company_base.html:140 -#: order/models.py:266 order/templates/order/order_base.html:207 +#: company/models.py:125 company/templates/company/company_base.html:140 +#: order/models.py:270 order/templates/order/order_base.html:203 #: order/templates/order/return_order_base.html:175 #: order/templates/order/sales_order_base.html:215 msgid "Contact" msgstr "联系人" -#: company/models.py:130 +#: company/models.py:126 msgid "Point of contact" msgstr "" -#: company/models.py:132 +#: company/models.py:128 msgid "Link to external company information" msgstr "链接到外部公司信息" -#: company/models.py:146 +#: company/models.py:142 msgid "is customer" msgstr "是客户" -#: company/models.py:146 +#: company/models.py:142 msgid "Do you sell items to this company?" msgstr "您是否向该公司出售商品?" -#: company/models.py:148 +#: company/models.py:144 msgid "is supplier" msgstr "是供应商" -#: company/models.py:148 +#: company/models.py:144 msgid "Do you purchase items from this company?" msgstr "您是否从该公司采购商品?" -#: company/models.py:150 +#: company/models.py:146 msgid "is manufacturer" msgstr "是制造商" -#: company/models.py:150 +#: company/models.py:146 msgid "Does this company manufacture parts?" msgstr "该公司制造商品吗?" -#: company/models.py:157 +#: company/models.py:153 msgid "Default currency used for this company" msgstr "该公司使用的默认货币" -#: company/models.py:223 company/templates/company/company_base.html:8 +#: company/models.py:235 company/models.py:328 +#: company/templates/company/company_base.html:8 #: company/templates/company/company_base.html:12 -#: templates/InvenTree/search.html:178 templates/js/translated/company.js:487 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:494 msgid "Company" msgstr "公司" -#: company/models.py:278 company/models.py:553 stock/models.py:675 -#: stock/serializers.py:155 stock/templates/stock/item_base.html:143 -#: templates/js/translated/bom.js:621 +#: company/models.py:324 +msgid "Company already has a primary address" +msgstr "" + +#: company/models.py:329 +#, fuzzy +#| msgid "Delete Company" +msgid "Select company" +msgstr "删除该公司" + +#: company/models.py:332 +#, fuzzy +#| msgid "Address" +msgid "Address title" +msgstr "地址" + +#: company/models.py:333 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:337 +#, fuzzy +#| msgid "Company address" +msgid "Primary address" +msgstr "公司地址" + +#: company/models.py:338 +#, fuzzy +#| msgid "Contact email address" +msgid "Set as primary address" +msgstr "联系人电子邮件" + +#: company/models.py:341 templates/js/translated/company.js:941 +#: templates/js/translated/company.js:1002 +msgid "Line 1" +msgstr "" + +#: company/models.py:342 +#, fuzzy +#| msgid "Address" +msgid "Address line 1" +msgstr "地址" + +#: company/models.py:346 templates/js/translated/company.js:942 +#: templates/js/translated/company.js:1008 +msgid "Line 2" +msgstr "" + +#: company/models.py:347 +#, fuzzy +#| msgid "Address" +msgid "Address line 2" +msgstr "地址" + +#: company/models.py:351 company/models.py:352 +#: templates/js/translated/company.js:1014 +msgid "Postal code" +msgstr "" + +#: company/models.py:356 +msgid "City/Region" +msgstr "" + +#: company/models.py:357 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:361 +msgid "State/Province" +msgstr "" + +#: company/models.py:362 +msgid "State or province" +msgstr "" + +#: company/models.py:366 templates/js/translated/company.js:1032 +msgid "Country" +msgstr "" + +#: company/models.py:367 +#, fuzzy +#| msgid "Address" +msgid "Address country" +msgstr "地址" + +#: company/models.py:371 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:372 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:376 +#, fuzzy +#| msgid "Internal company name" +msgid "Internal shipping notes" +msgstr "内部公司名称" + +#: company/models.py:377 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:382 +#, fuzzy +#| msgid "Description (optional)" +msgid "Link to address information (external)" +msgstr "描述 (可选)" + +#: company/models.py:427 company/models.py:702 stock/models.py:675 +#: stock/serializers.py:204 stock/templates/stock/item_base.html:143 +#: templates/js/translated/bom.js:622 msgid "Base Part" msgstr "" -#: company/models.py:282 company/models.py:557 +#: company/models.py:431 company/models.py:706 msgid "Select part" msgstr "选择商品" -#: company/models.py:293 company/templates/company/company_base.html:77 +#: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:354 +#: company/templates/company/supplier_part.html:146 part/serializers.py:404 #: stock/templates/stock/item_base.html:208 -#: templates/js/translated/company.js:498 -#: templates/js/translated/company.js:824 -#: templates/js/translated/company.js:954 -#: templates/js/translated/company.js:1221 -#: templates/js/translated/table_filters.js:709 +#: templates/js/translated/company.js:505 +#: templates/js/translated/company.js:1149 +#: templates/js/translated/company.js:1327 +#: templates/js/translated/company.js:1642 +#: templates/js/translated/table_filters.js:731 msgid "Manufacturer" msgstr "制造商" -#: company/models.py:294 +#: company/models.py:443 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:300 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:360 -#: templates/js/translated/company.js:340 -#: templates/js/translated/company.js:823 -#: templates/js/translated/company.js:970 -#: templates/js/translated/company.js:1240 templates/js/translated/part.js:1773 -#: templates/js/translated/purchase_order.js:1814 -#: templates/js/translated/purchase_order.js:2021 +#: company/models.py:449 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:1148 +#: templates/js/translated/company.js:1343 +#: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 +#: templates/js/translated/purchase_order.js:1829 +#: templates/js/translated/purchase_order.js:2031 msgid "MPN" msgstr "" -#: company/models.py:301 +#: company/models.py:450 msgid "Manufacturer Part Number" msgstr "制造商商品编号" -#: company/models.py:307 +#: company/models.py:456 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:313 +#: company/models.py:462 msgid "Manufacturer part description" msgstr "制造商商品描述" -#: company/models.py:360 company/models.py:384 company/models.py:578 +#: company/models.py:509 company/models.py:533 company/models.py:727 #: company/templates/company/manufacturer_part.html:7 #: company/templates/company/manufacturer_part.html:24 #: stock/templates/stock/item_base.html:218 msgid "Manufacturer Part" msgstr "制造商商品" -#: company/models.py:391 +#: company/models.py:540 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:397 +#: company/models.py:546 #: report/templates/report/inventree_test_report_base.html:104 -#: stock/models.py:2255 templates/js/translated/company.js:872 -#: templates/js/translated/company.js:1077 templates/js/translated/part.js:1465 -#: templates/js/translated/stock.js:1446 +#: stock/models.py:2255 templates/js/translated/company.js:1197 +#: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 +#: templates/js/translated/stock.js:1445 msgid "Value" msgstr "数值" -#: company/models.py:398 +#: company/models.py:547 msgid "Parameter value" msgstr "参数值" -#: company/models.py:404 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:987 part/models.py:3407 +#: company/models.py:553 company/templates/company/supplier_part.html:169 +#: part/admin.py:40 part/models.py:988 part/models.py:3441 #: part/templates/part/part_base.html:286 -#: templates/js/translated/company.js:1083 templates/js/translated/part.js:1484 -#: templates/js/translated/part.js:1588 templates/js/translated/part.js:2262 +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 msgid "Units" msgstr "单位" -#: company/models.py:405 +#: company/models.py:554 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:498 +#: company/models.py:647 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:504 +#: company/models.py:653 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Pack units must be greater than zero" msgstr "数量必须大于0" -#: company/models.py:520 +#: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:564 company/templates/company/company_base.html:82 -#: company/templates/company/supplier_part.html:130 order/models.py:382 -#: order/templates/order/order_base.html:140 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:343 stock/templates/stock/item_base.html:225 +#: company/models.py:713 company/templates/company/company_base.html:82 +#: company/templates/company/supplier_part.html:130 order/models.py:395 +#: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 +#: part/serializers.py:393 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 -#: templates/js/translated/company.js:339 -#: templates/js/translated/company.js:502 -#: templates/js/translated/company.js:1194 templates/js/translated/part.js:1741 +#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:509 +#: templates/js/translated/company.js:1615 templates/js/translated/part.js:1740 #: templates/js/translated/pricing.js:498 -#: templates/js/translated/purchase_order.js:1653 -#: templates/js/translated/table_filters.js:713 +#: templates/js/translated/purchase_order.js:1668 +#: templates/js/translated/table_filters.js:735 msgid "Supplier" msgstr "供应商" -#: company/models.py:565 +#: company/models.py:714 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:570 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:349 -#: templates/js/translated/company.js:338 templates/js/translated/part.js:1759 +#: company/models.py:719 company/templates/company/supplier_part.html:140 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1813 -#: templates/js/translated/purchase_order.js:1996 +#: templates/js/translated/purchase_order.js:1828 +#: templates/js/translated/purchase_order.js:2006 msgid "SKU" msgstr "" -#: company/models.py:571 part/serializers.py:349 +#: company/models.py:720 part/serializers.py:399 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:579 +#: company/models.py:728 msgid "Select manufacturer part" msgstr "选择制造商商品" -#: company/models.py:585 +#: company/models.py:734 msgid "URL for external supplier part link" msgstr "外部供货商商品链接URL" -#: company/models.py:591 +#: company/models.py:740 msgid "Supplier part description" msgstr "供应商商品描述" -#: company/models.py:596 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3801 part/templates/part/upload_bom.html:59 +#: company/models.py:745 company/templates/company/supplier_part.html:188 +#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 #: report/templates/report/inventree_so_report_base.html:32 -#: stock/serializers.py:418 +#: stock/serializers.py:484 msgid "Note" msgstr "备注" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "base cost" msgstr "" -#: company/models.py:600 part/models.py:1919 +#: company/models.py:749 part/models.py:1921 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" -#: company/models.py:602 company/templates/company/supplier_part.html:161 +#: company/models.py:751 company/templates/company/supplier_part.html:161 #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 -#: templates/js/translated/company.js:1256 -#: templates/js/translated/stock.js:2160 +#: templates/js/translated/company.js:1677 +#: templates/js/translated/stock.js:2317 msgid "Packaging" msgstr "打包" -#: company/models.py:602 +#: company/models.py:751 msgid "Part packaging" msgstr "商品打包" -#: company/models.py:606 templates/js/translated/company.js:1261 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:300 -#: templates/js/translated/purchase_order.js:827 -#: templates/js/translated/purchase_order.js:1073 -#: templates/js/translated/purchase_order.js:2052 -#: templates/js/translated/purchase_order.js:2069 +#: company/models.py:755 templates/js/translated/company.js:1682 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:842 +#: templates/js/translated/purchase_order.js:1088 +#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2079 msgid "Pack Quantity" msgstr "" -#: company/models.py:607 +#: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:624 part/models.py:1921 +#: company/models.py:773 part/models.py:1923 msgid "multiple" msgstr "" -#: company/models.py:624 +#: company/models.py:773 msgid "Order multiple" msgstr "" -#: company/models.py:632 company/templates/company/supplier_part.html:115 +#: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1127 templates/js/translated/build.js:2136 -#: templates/js/translated/build.js:3045 -#: templates/js/translated/model_renderers.js:205 -#: templates/js/translated/part.js:670 templates/js/translated/part.js:672 -#: templates/js/translated/part.js:677 -#: templates/js/translated/table_filters.js:286 -#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/index.js:118 +#: templates/js/translated/model_renderers.js:219 +#: templates/js/translated/part.js:669 templates/js/translated/part.js:671 +#: templates/js/translated/part.js:676 +#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:510 msgid "Available" msgstr "空闲" -#: company/models.py:633 +#: company/models.py:782 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:637 +#: company/models.py:786 msgid "Availability Updated" msgstr "" -#: company/models.py:638 +#: company/models.py:787 msgid "Date of last update of availability data" msgstr "" -#: company/serializers.py:99 +#: company/serializers.py:156 msgid "Default currency used for this supplier" msgstr "该公司使用的默认货币" #: company/templates/company/company_base.html:22 -#: templates/js/translated/purchase_order.js:228 +#: templates/js/translated/purchase_order.js:239 msgid "Create Purchase Order" msgstr "创建采购订单" @@ -3893,7 +3997,7 @@ msgid "Edit company information" msgstr "编辑公司信息" #: company/templates/company/company_base.html:34 -#: templates/js/translated/company.js:436 +#: templates/js/translated/company.js:443 msgid "Edit Company" msgstr "编辑公司信息" @@ -3935,17 +4039,17 @@ msgstr "从 URL 下载图片" msgid "Delete image" msgstr "" -#: company/templates/company/company_base.html:87 order/models.py:779 -#: order/models.py:1738 order/templates/order/return_order_base.html:132 +#: company/templates/company/company_base.html:87 order/models.py:792 +#: order/models.py:1751 order/templates/order/return_order_base.html:132 #: order/templates/order/sales_order_base.html:145 stock/models.py:720 -#: stock/models.py:721 stock/serializers.py:825 +#: stock/models.py:721 stock/serializers.py:942 #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 -#: templates/js/translated/company.js:494 -#: templates/js/translated/return_order.js:284 -#: templates/js/translated/sales_order.js:772 -#: templates/js/translated/stock.js:2696 -#: templates/js/translated/table_filters.js:717 +#: templates/js/translated/company.js:501 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2827 +#: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "客户" @@ -3953,6 +4057,13 @@ msgstr "客户" msgid "Uses default currency" msgstr "使用默认货币" +#: company/templates/company/company_base.html:119 order/models.py:279 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:182 +#: order/templates/order/sales_order_base.html:222 +msgid "Address" +msgstr "地址" + #: company/templates/company/company_base.html:126 msgid "Phone" msgstr "电话" @@ -3985,7 +4096,7 @@ msgstr "下载图片" #: company/templates/company/detail.html:15 #: company/templates/company/manufacturer_part_sidebar.html:7 -#: templates/InvenTree/search.html:120 templates/js/translated/search.js:189 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" msgstr "供应商商品" @@ -3995,139 +4106,135 @@ msgstr "创建新的供应商商品" #: company/templates/company/detail.html:20 #: company/templates/company/manufacturer_part.html:123 -#: part/templates/part/detail.html:381 +#: part/templates/part/detail.html:356 msgid "New Supplier Part" msgstr "新建供应商商品" -#: company/templates/company/detail.html:37 -#: company/templates/company/detail.html:85 -#: part/templates/part/category.html:183 -msgid "Order parts" -msgstr "订购商品" - -#: company/templates/company/detail.html:42 -#: company/templates/company/detail.html:90 -msgid "Delete parts" -msgstr "删除商品" - -#: company/templates/company/detail.html:43 -#: company/templates/company/detail.html:91 -msgid "Delete Parts" -msgstr "删除商品" - -#: company/templates/company/detail.html:62 templates/InvenTree/search.html:105 -#: templates/js/translated/search.js:193 +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 msgid "Manufacturer Parts" msgstr "制造商商品" -#: company/templates/company/detail.html:66 +#: company/templates/company/detail.html:45 msgid "Create new manufacturer part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:67 part/templates/part/detail.html:411 +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 msgid "New Manufacturer Part" msgstr "新建制造商商品" -#: company/templates/company/detail.html:108 +#: company/templates/company/detail.html:65 msgid "Supplier Stock" msgstr "供货商库存" -#: company/templates/company/detail.html:118 +#: company/templates/company/detail.html:75 #: company/templates/company/sidebar.html:12 #: company/templates/company/supplier_part_sidebar.html:7 #: order/templates/order/order_base.html:13 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 -#: part/templates/part/detail.html:108 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:275 templates/InvenTree/search.html:199 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 -#: templates/js/translated/search.js:247 templates/navbar.html:50 +#: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" msgstr "采购订单" -#: company/templates/company/detail.html:122 +#: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 msgid "Create new purchase order" msgstr "新建采购订单" -#: company/templates/company/detail.html:123 +#: company/templates/company/detail.html:80 #: order/templates/order/purchase_orders.html:18 msgid "New Purchase Order" msgstr "新建采购订单" -#: company/templates/company/detail.html:146 +#: company/templates/company/detail.html:101 #: company/templates/company/sidebar.html:21 #: order/templates/order/sales_order_base.html:13 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 -#: part/templates/part/detail.html:131 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:307 templates/InvenTree/search.html:219 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 -#: templates/js/translated/search.js:261 templates/navbar.html:62 +#: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 msgid "Sales Orders" msgstr "销售订单" -#: company/templates/company/detail.html:150 +#: company/templates/company/detail.html:105 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "新建销售订单" -#: company/templates/company/detail.html:151 +#: company/templates/company/detail.html:106 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "新建销售订单" -#: company/templates/company/detail.html:173 -#: templates/js/translated/build.js:1976 +#: company/templates/company/detail.html:126 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:191 +#: company/templates/company/detail.html:142 #: company/templates/company/sidebar.html:29 #: order/templates/order/return_order_base.html:13 #: order/templates/order/return_orders.html:8 #: order/templates/order/return_orders.html:15 #: templates/InvenTree/settings/sidebar.html:59 -#: templates/js/translated/search.js:274 templates/navbar.html:65 +#: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 #, fuzzy #| msgid "Returned" msgid "Return Orders" msgstr "已退回" -#: company/templates/company/detail.html:195 +#: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 #, fuzzy #| msgid "Create new sales order" msgid "Create new return order" msgstr "新建销售订单" -#: company/templates/company/detail.html:196 +#: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 #, fuzzy #| msgid "New Build Order" msgid "New Return Order" msgstr "新建生产订单" -#: company/templates/company/detail.html:221 +#: company/templates/company/detail.html:168 msgid "Company Notes" msgstr "公司备注" -#: company/templates/company/detail.html:236 +#: company/templates/company/detail.html:183 #, fuzzy #| msgid "Company Notes" msgid "Company Contacts" msgstr "公司备注" -#: company/templates/company/detail.html:240 -#: company/templates/company/detail.html:241 +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 #, fuzzy #| msgid "Contact" msgid "Add Contact" msgstr "联系人" +#: company/templates/company/detail.html:206 +#, fuzzy +#| msgid "Company address" +msgid "Company addresses" +msgstr "公司地址" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +#, fuzzy +#| msgid "Address" +msgid "Add Address" +msgstr "地址" + #: company/templates/company/index.html:8 msgid "Supplier List" msgstr "供应商列表" @@ -4139,17 +4246,17 @@ msgstr "制造商" #: company/templates/company/manufacturer_part.html:35 #: company/templates/company/supplier_part.html:228 -#: part/templates/part/detail.html:111 part/templates/part/part_base.html:85 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:85 msgid "Order part" msgstr "订购商品" #: company/templates/company/manufacturer_part.html:39 -#: templates/js/translated/company.js:1001 +#: templates/js/translated/company.js:1374 msgid "Edit manufacturer part" msgstr "编辑制造商商品" #: company/templates/company/manufacturer_part.html:43 -#: templates/js/translated/company.js:1002 +#: templates/js/translated/company.js:1375 msgid "Delete manufacturer part" msgstr "删除生产商商品" @@ -4169,40 +4276,22 @@ msgstr "" msgid "Suppliers" msgstr "供应商" -#: company/templates/company/manufacturer_part.html:136 -#: part/templates/part/detail.html:392 -msgid "Delete supplier parts" -msgstr "删除供应商商品" - -#: company/templates/company/manufacturer_part.html:136 -#: company/templates/company/manufacturer_part.html:183 -#: part/templates/part/detail.html:393 part/templates/part/detail.html:423 -#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 -#: templates/js/translated/part.js:370 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:216 users/models.py:248 -msgid "Delete" -msgstr "删除" - -#: company/templates/company/manufacturer_part.html:166 +#: company/templates/company/manufacturer_part.html:156 #: company/templates/company/manufacturer_part_sidebar.html:5 #: part/templates/part/category_sidebar.html:20 -#: part/templates/part/detail.html:208 part/templates/part/part_sidebar.html:8 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 msgid "Parameters" msgstr "参数" -#: company/templates/company/manufacturer_part.html:170 -#: part/templates/part/detail.html:213 +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 #: templates/InvenTree/settings/part_parameters.html:12 msgid "New Parameter" msgstr "新建参数" -#: company/templates/company/manufacturer_part.html:183 -msgid "Delete parameters" -msgstr "删除参数" - -#: company/templates/company/manufacturer_part.html:226 -#: templates/js/translated/part.js:1396 +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1395 msgid "Add Parameter" msgstr "添加参数" @@ -4228,23 +4317,30 @@ msgstr "" msgid "Contacts" msgstr "联系人" +#: company/templates/company/sidebar.html:35 +#, fuzzy +#| msgid "Address" +msgid "Addresses" +msgstr "地址" + #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 -#: templates/js/translated/company.js:1210 -#: templates/js/translated/purchase_order.js:747 -#: templates/js/translated/stock.js:2016 +#: templates/js/translated/company.js:1631 +#: templates/js/translated/purchase_order.js:758 +#: templates/js/translated/stock.js:2173 msgid "Supplier Part" msgstr "供应商商品" #: company/templates/company/supplier_part.html:51 +#: templates/js/translated/company.js:1557 msgid "Supplier part actions" msgstr "" #: company/templates/company/supplier_part.html:56 #: company/templates/company/supplier_part.html:57 #: company/templates/company/supplier_part.html:229 -#: part/templates/part/detail.html:112 +#: part/templates/part/detail.html:110 msgid "Order Part" msgstr "订购商品" @@ -4255,13 +4351,13 @@ msgstr "" #: company/templates/company/supplier_part.html:64 #: company/templates/company/supplier_part.html:65 -#: templates/js/translated/company.js:283 +#: templates/js/translated/company.js:293 msgid "Edit Supplier Part" msgstr "编辑供应商商品" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 -#: templates/js/translated/company.js:258 +#: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" msgstr "" @@ -4288,7 +4384,7 @@ msgstr "" #: company/templates/company/supplier_part.html:211 #: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 -#: templates/js/translated/stock.js:504 +#: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4296,37 +4392,37 @@ msgstr "" msgid "Supplier Part Orders" msgstr "供应商商品订单" -#: company/templates/company/supplier_part.html:249 +#: company/templates/company/supplier_part.html:247 msgid "Pricing Information" msgstr "价格信息" -#: company/templates/company/supplier_part.html:254 -#: templates/js/translated/company.js:387 +#: company/templates/company/supplier_part.html:252 +#: templates/js/translated/company.js:397 #: templates/js/translated/pricing.js:684 msgid "Add Price Break" msgstr "" -#: company/templates/company/supplier_part.html:281 +#: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" msgstr "" -#: company/templates/company/supplier_part.html:292 +#: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:365 +#: company/templates/company/supplier_part.html:361 msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 -#: part/templates/part/category.html:199 +#: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/templates/stock/location.html:168 +#: stock/serializers.py:662 stock/templates/stock/location.html:168 #: stock/templates/stock/location.html:182 #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 -#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1034 -#: templates/js/translated/search.js:214 templates/js/translated/stock.js:2514 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -4352,7 +4448,7 @@ msgstr "客户信息" msgid "New Customer" msgstr "新建客户" -#: company/views.py:52 templates/js/translated/search.js:234 +#: company/views.py:52 templates/js/translated/search.js:192 msgid "Companies" msgstr "公司" @@ -4360,72 +4456,78 @@ msgstr "公司" msgid "New Company" msgstr "新建公司信息" -#: label/models.py:104 +#: label/models.py:112 msgid "Label name" msgstr "标签名称" -#: label/models.py:111 +#: label/models.py:119 msgid "Label description" msgstr "标签说明" -#: label/models.py:118 +#: label/models.py:126 msgid "Label" msgstr "标签" -#: label/models.py:119 +#: label/models.py:127 msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:125 report/models.py:273 +#: label/models.py:133 report/models.py:273 msgid "Enabled" msgstr "已启用" -#: label/models.py:126 +#: label/models.py:134 msgid "Label template is enabled" msgstr "标签模板已启用" -#: label/models.py:131 +#: label/models.py:139 msgid "Width [mm]" msgstr "宽度 [mm]" -#: label/models.py:132 +#: label/models.py:140 msgid "Label width, specified in mm" msgstr "标注宽度,以毫米为单位。" -#: label/models.py:138 +#: label/models.py:146 msgid "Height [mm]" msgstr "高度 [mm]" -#: label/models.py:139 +#: label/models.py:147 msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:145 report/models.py:266 +#: label/models.py:153 report/models.py:266 msgid "Filename Pattern" msgstr "文件名样式" -#: label/models.py:146 +#: label/models.py:154 msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:242 +#: label/models.py:250 msgid "Query filters (comma-separated list of key=value pairs)," msgstr "查询筛选器 (逗号分隔的键值对列表)" -#: label/models.py:243 label/models.py:284 label/models.py:312 -#: report/models.py:294 report/models.py:452 report/models.py:490 -#: report/models.py:528 +#: label/models.py:251 label/models.py:292 label/models.py:320 +#: label/models.py:356 report/models.py:294 report/models.py:454 +#: report/models.py:492 report/models.py:530 msgid "Filters" msgstr "筛选器" -#: label/models.py:283 +#: label/models.py:291 msgid "Query filters (comma-separated list of key=value pairs" msgstr "查询筛选器 (逗号分隔的键值对列表" -#: label/models.py:311 +#: label/models.py:319 msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "商品查询筛选器 (逗号分隔的键值对列表)" +#: label/models.py:355 +#, fuzzy +#| msgid "Query filters (comma-separated list of key=value pairs)," +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "查询筛选器 (逗号分隔的键值对列表)" + #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 @@ -4445,8 +4547,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1827 +#: templates/js/translated/purchase_order.js:2103 +#: templates/js/translated/sales_order.js:1839 msgid "Total Price" msgstr "" @@ -4454,32 +4556,32 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:1452 order/models.py:1178 order/models.py:1262 +#: order/api.py:1452 order/models.py:1191 order/models.py:1275 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 #: stock/templates/stock/item_base.html:177 #: templates/email/overdue_purchase_order.html:15 -#: templates/js/translated/part.js:1718 templates/js/translated/pricing.js:790 -#: templates/js/translated/purchase_order.js:154 -#: templates/js/translated/purchase_order.js:748 -#: templates/js/translated/purchase_order.js:1637 -#: templates/js/translated/stock.js:1996 templates/js/translated/stock.js:2644 +#: templates/js/translated/part.js:1717 templates/js/translated/pricing.js:790 +#: templates/js/translated/purchase_order.js:165 +#: templates/js/translated/purchase_order.js:759 +#: templates/js/translated/purchase_order.js:1652 +#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 msgid "Purchase Order" msgstr "" -#: order/api.py:1456 order/models.py:1909 order/models.py:1955 +#: order/api.py:1456 order/models.py:1922 order/models.py:1968 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:269 -#: templates/js/translated/stock.js:2678 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2809 #, fuzzy #| msgid "Returned" msgid "Return Order" msgstr "已退回" -#: order/api.py:1458 templates/js/translated/sales_order.js:1030 +#: order/api.py:1458 templates/js/translated/sales_order.js:1042 msgid "Unknown" msgstr "" @@ -4489,13 +4591,13 @@ msgstr "" msgid "Total price for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:79 order/serializers.py:49 +#: order/models.py:79 order/serializers.py:50 #, fuzzy #| msgid "Currency" msgid "Order Currency" msgstr "货币" -#: order/models.py:81 order/serializers.py:50 +#: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" msgstr "" @@ -4511,512 +4613,518 @@ msgstr "生产产出与对应生产不匹配" msgid "Order description (optional)" msgstr "描述 (可选)" -#: order/models.py:234 +#: order/models.py:237 #, fuzzy #| msgid "User or group responsible for this order" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:236 order/models.py:1094 order/models.py:1454 +#: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" msgstr "" -#: order/models.py:241 +#: order/models.py:245 msgid "Expected date for order delivery. Order will be overdue after this date." msgstr "" -#: order/models.py:250 +#: order/models.py:254 msgid "Created By" msgstr "" -#: order/models.py:257 +#: order/models.py:261 msgid "User or group responsible for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:267 +#: order/models.py:271 #, fuzzy #| msgid "Priority of this build order" msgid "Point of contact for this order" msgstr "此构建订单的优先级" -#: order/models.py:360 order/models.py:766 +#: order/models.py:280 +#, fuzzy +#| msgid "User or group responsible for this order" +msgid "Company address for this order" +msgstr "负责此订单的用户或群组" + +#: order/models.py:373 order/models.py:779 msgid "Order reference" msgstr "" -#: order/models.py:368 order/models.py:791 +#: order/models.py:381 order/models.py:804 msgid "Purchase order status" msgstr "" -#: order/models.py:383 +#: order/models.py:396 msgid "Company from which the items are being ordered" msgstr "订购该商品的公司" -#: order/models.py:391 order/templates/order/order_base.html:152 -#: templates/js/translated/purchase_order.js:1662 +#: order/models.py:404 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1677 msgid "Supplier Reference" msgstr "" -#: order/models.py:391 +#: order/models.py:404 msgid "Supplier order reference code" msgstr "" -#: order/models.py:398 +#: order/models.py:411 msgid "received by" msgstr "" -#: order/models.py:403 order/models.py:1761 +#: order/models.py:416 order/models.py:1774 msgid "Issue Date" msgstr "" -#: order/models.py:404 order/models.py:1762 +#: order/models.py:417 order/models.py:1775 msgid "Date order was issued" msgstr "" -#: order/models.py:410 order/models.py:1768 +#: order/models.py:423 order/models.py:1781 msgid "Date order was completed" msgstr "" -#: order/models.py:445 +#: order/models.py:458 msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:606 +#: order/models.py:619 msgid "Quantity must be a positive number" msgstr "数量必须大于0" -#: order/models.py:780 +#: order/models.py:793 msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:799 order/models.py:1755 +#: order/models.py:812 order/models.py:1768 msgid "Customer Reference " msgstr "" -#: order/models.py:799 order/models.py:1756 +#: order/models.py:812 order/models.py:1769 msgid "Customer order reference code" msgstr "" -#: order/models.py:801 order/models.py:1408 -#: templates/js/translated/sales_order.js:831 -#: templates/js/translated/sales_order.js:1012 +#: order/models.py:814 order/models.py:1421 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" msgstr "" -#: order/models.py:808 +#: order/models.py:821 msgid "shipped by" msgstr "" -#: order/models.py:857 +#: order/models.py:870 msgid "Order cannot be completed as no parts have been assigned" msgstr "" -#: order/models.py:861 +#: order/models.py:874 #, fuzzy #| msgid "Build Order is ready to mark as completed" msgid "Only an open order can be marked as complete" msgstr "构建订单已准备好标记为已完成" -#: order/models.py:864 templates/js/translated/sales_order.js:491 +#: order/models.py:877 templates/js/translated/sales_order.js:503 msgid "Order cannot be completed as there are incomplete shipments" msgstr "" -#: order/models.py:867 +#: order/models.py:880 msgid "Order cannot be completed as there are incomplete line items" msgstr "" -#: order/models.py:1074 +#: order/models.py:1087 msgid "Item quantity" msgstr "" -#: order/models.py:1087 +#: order/models.py:1100 msgid "Line item reference" msgstr "" -#: order/models.py:1089 +#: order/models.py:1102 msgid "Line item notes" msgstr "" -#: order/models.py:1100 +#: order/models.py:1113 msgid "Target date for this line item (leave blank to use the target date from the order)" msgstr "" -#: order/models.py:1118 +#: order/models.py:1131 #, fuzzy #| msgid "Description (optional)" msgid "Line item description (optional)" msgstr "描述 (可选)" -#: order/models.py:1123 +#: order/models.py:1136 msgid "Context" msgstr "" -#: order/models.py:1124 +#: order/models.py:1137 msgid "Additional context for this line" msgstr "" -#: order/models.py:1133 +#: order/models.py:1146 msgid "Unit price" msgstr "" -#: order/models.py:1163 +#: order/models.py:1176 msgid "Supplier part must match supplier" msgstr "" -#: order/models.py:1171 +#: order/models.py:1184 msgid "deleted" msgstr "" -#: order/models.py:1177 order/models.py:1262 order/models.py:1303 -#: order/models.py:1402 order/models.py:1551 order/models.py:1908 -#: order/models.py:1955 templates/js/translated/sales_order.js:1474 +#: order/models.py:1190 order/models.py:1275 order/models.py:1316 +#: order/models.py:1415 order/models.py:1564 order/models.py:1921 +#: order/models.py:1968 templates/js/translated/sales_order.js:1486 msgid "Order" msgstr "" -#: order/models.py:1196 +#: order/models.py:1209 msgid "Supplier part" msgstr "供应商商品" -#: order/models.py:1203 order/templates/order/order_base.html:200 -#: templates/js/translated/part.js:1841 templates/js/translated/part.js:1872 -#: templates/js/translated/purchase_order.js:1276 -#: templates/js/translated/purchase_order.js:2137 -#: templates/js/translated/return_order.js:748 -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:515 +#: order/models.py:1216 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 +#: templates/js/translated/purchase_order.js:1291 +#: templates/js/translated/purchase_order.js:2147 +#: templates/js/translated/return_order.js:760 +#: templates/js/translated/table_filters.js:96 +#: templates/js/translated/table_filters.js:537 msgid "Received" msgstr "" -#: order/models.py:1204 +#: order/models.py:1217 msgid "Number of items received" msgstr "" -#: order/models.py:1211 stock/models.py:823 stock/serializers.py:252 +#: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2047 +#: templates/js/translated/stock.js:2204 msgid "Purchase Price" msgstr "采购价格" -#: order/models.py:1212 +#: order/models.py:1225 msgid "Unit purchase price" msgstr "" -#: order/models.py:1225 +#: order/models.py:1238 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1291 +#: order/models.py:1304 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1296 +#: order/models.py:1309 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1322 part/templates/part/part_pricing.html:107 +#: order/models.py:1335 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:128 templates/js/translated/pricing.js:943 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1323 +#: order/models.py:1336 msgid "Unit sale price" msgstr "" -#: order/models.py:1333 +#: order/models.py:1346 msgid "Shipped quantity" msgstr "" -#: order/models.py:1409 +#: order/models.py:1422 msgid "Date of shipment" msgstr "" -#: order/models.py:1414 templates/js/translated/sales_order.js:1024 +#: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1415 +#: order/models.py:1428 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1422 +#: order/models.py:1435 msgid "Checked By" msgstr "" -#: order/models.py:1423 +#: order/models.py:1436 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1430 order/models.py:1627 order/serializers.py:1248 -#: order/serializers.py:1376 templates/js/translated/model_renderers.js:415 +#: order/models.py:1443 order/models.py:1640 order/serializers.py:1254 +#: order/serializers.py:1382 templates/js/translated/model_renderers.js:429 msgid "Shipment" msgstr "" -#: order/models.py:1431 +#: order/models.py:1444 msgid "Shipment number" msgstr "" -#: order/models.py:1439 +#: order/models.py:1452 msgid "Tracking Number" msgstr "" -#: order/models.py:1440 +#: order/models.py:1453 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1447 +#: order/models.py:1460 msgid "Invoice Number" msgstr "" -#: order/models.py:1448 +#: order/models.py:1461 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1470 +#: order/models.py:1483 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1473 +#: order/models.py:1486 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1586 order/models.py:1588 +#: order/models.py:1599 order/models.py:1601 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1592 +#: order/models.py:1605 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1594 +#: order/models.py:1607 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1597 +#: order/models.py:1610 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1607 order/serializers.py:1110 +#: order/models.py:1620 order/serializers.py:1116 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1610 +#: order/models.py:1623 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1611 +#: order/models.py:1624 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1619 +#: order/models.py:1632 msgid "Line" msgstr "" -#: order/models.py:1628 +#: order/models.py:1641 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1641 order/models.py:1916 -#: templates/js/translated/return_order.js:706 +#: order/models.py:1654 order/models.py:1929 +#: templates/js/translated/return_order.js:718 msgid "Item" msgstr "" -#: order/models.py:1642 +#: order/models.py:1655 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1645 +#: order/models.py:1658 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1725 +#: order/models.py:1738 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:1739 +#: order/models.py:1752 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:1750 +#: order/models.py:1763 msgid "Return order status" msgstr "" -#: order/models.py:1901 +#: order/models.py:1914 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:1917 +#: order/models.py:1930 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:1922 +#: order/models.py:1935 msgid "Received Date" msgstr "" -#: order/models.py:1923 +#: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1934 templates/js/translated/return_order.js:717 -#: templates/js/translated/table_filters.js:93 +#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" -#: order/models.py:1934 +#: order/models.py:1947 msgid "Outcome for this line item" msgstr "" -#: order/models.py:1940 +#: order/models.py:1953 msgid "Cost associated with return or repair for this line item" msgstr "" -#: order/serializers.py:247 +#: order/serializers.py:253 msgid "Order cannot be cancelled" msgstr "无法取消订单" -#: order/serializers.py:262 order/serializers.py:1128 +#: order/serializers.py:268 order/serializers.py:1134 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:273 order/serializers.py:1139 +#: order/serializers.py:279 order/serializers.py:1145 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:386 +#: order/serializers.py:392 msgid "Order is not open" msgstr "" -#: order/serializers.py:404 +#: order/serializers.py:410 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:422 +#: order/serializers.py:428 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:427 +#: order/serializers.py:433 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:433 +#: order/serializers.py:439 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:434 +#: order/serializers.py:440 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:472 order/serializers.py:1216 +#: order/serializers.py:478 order/serializers.py:1222 msgid "Line Item" msgstr "" -#: order/serializers.py:478 +#: order/serializers.py:484 msgid "Line item does not match purchase order" msgstr "" -#: order/serializers.py:488 order/serializers.py:607 order/serializers.py:1589 +#: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:507 templates/js/translated/purchase_order.js:1100 +#: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:515 templates/js/translated/purchase_order.js:1124 +#: order/serializers.py:521 templates/js/translated/purchase_order.js:1139 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:528 templates/js/translated/barcode.js:52 +#: order/serializers.py:534 templates/js/translated/barcode.js:52 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:529 +#: order/serializers.py:535 #, fuzzy #| msgid "Scan Barcode" msgid "Scanned barcode" msgstr "扫描条形码" -#: order/serializers.py:545 +#: order/serializers.py:551 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:569 +#: order/serializers.py:575 msgid "An integer quantity must be provided for trackable parts" msgstr "" -#: order/serializers.py:623 order/serializers.py:1604 +#: order/serializers.py:629 order/serializers.py:1610 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:640 +#: order/serializers.py:646 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:657 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:950 +#: order/serializers.py:956 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1007 +#: order/serializers.py:1013 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1071 order/serializers.py:1225 +#: order/serializers.py:1077 order/serializers.py:1231 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1093 +#: order/serializers.py:1099 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1238 +#: order/serializers.py:1244 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1260 order/serializers.py:1384 +#: order/serializers.py:1266 order/serializers.py:1390 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1263 order/serializers.py:1387 +#: order/serializers.py:1269 order/serializers.py:1393 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1317 +#: order/serializers.py:1323 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1327 +#: order/serializers.py:1333 msgid "The following serial numbers are already allocated" msgstr "" -#: order/serializers.py:1555 +#: order/serializers.py:1561 msgid "Return order line item" msgstr "" -#: order/serializers.py:1562 +#: order/serializers.py:1568 #, fuzzy #| msgid "Build output does not match Build Order" msgid "Line item does not match return order" msgstr "生产产出与订单不匹配" -#: order/serializers.py:1565 +#: order/serializers.py:1571 #, fuzzy #| msgid "This build output has already been completed" msgid "Line item has already been received" msgstr "此生产产出已经完成" -#: order/serializers.py:1597 +#: order/serializers.py:1603 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:1678 +#: order/serializers.py:1684 #, fuzzy #| msgid "Uses default currency" msgid "Line price currency" @@ -5084,86 +5192,78 @@ msgid "Issue Order" msgstr "生产订单" #: order/templates/order/order_base.html:83 -msgid "Receive items" -msgstr "" - -#: order/templates/order/order_base.html:85 -msgid "Receive Items" -msgstr "" - -#: order/templates/order/order_base.html:87 #: order/templates/order/return_order_base.html:87 msgid "Mark order as complete" msgstr "" -#: order/templates/order/order_base.html:88 +#: order/templates/order/order_base.html:84 #: order/templates/order/return_order_base.html:88 #: order/templates/order/sales_order_base.html:94 msgid "Complete Order" msgstr "" -#: order/templates/order/order_base.html:95 +#: order/templates/order/order_base.html:91 #, fuzzy #| msgid "Supplier part" msgid "Supplier part thumbnail" msgstr "供应商商品" -#: order/templates/order/order_base.html:110 +#: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 #: order/templates/order/sales_order_base.html:107 msgid "Order Reference" msgstr "" -#: order/templates/order/order_base.html:115 +#: order/templates/order/order_base.html:111 #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" msgstr "" -#: order/templates/order/order_base.html:122 +#: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 #: order/templates/order/sales_order_base.html:119 msgid "Order Status" msgstr "" -#: order/templates/order/order_base.html:145 +#: order/templates/order/order_base.html:141 msgid "No suppplier information available" msgstr "" -#: order/templates/order/order_base.html:158 +#: order/templates/order/order_base.html:154 #: order/templates/order/sales_order_base.html:158 msgid "Completed Line Items" msgstr "" -#: order/templates/order/order_base.html:164 +#: order/templates/order/order_base.html:160 #: order/templates/order/sales_order_base.html:164 #: order/templates/order/sales_order_base.html:174 msgid "Incomplete" msgstr "" -#: order/templates/order/order_base.html:183 +#: order/templates/order/order_base.html:179 #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" msgstr "" -#: order/templates/order/order_base.html:221 +#: order/templates/order/order_base.html:224 msgid "Total cost" msgstr "" -#: order/templates/order/order_base.html:225 -#: order/templates/order/return_order_base.html:193 -#: order/templates/order/sales_order_base.html:233 +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:200 +#: order/templates/order/sales_order_base.html:240 msgid "Total cost could not be calculated" msgstr "" -#: order/templates/order/order_base.html:331 +#: order/templates/order/order_base.html:318 #, fuzzy #| msgid "Purchase Orders" msgid "Purchase Order QR Code" msgstr "采购订单" -#: order/templates/order/order_base.html:343 +#: order/templates/order/order_base.html:330 #, fuzzy #| msgid "Create Purchase Order" msgid "Link Barcode to Purchase Order" @@ -5218,13 +5318,13 @@ msgstr "" #: part/templates/part/import_wizard/ajax_match_references.html:42 #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 -#: templates/js/translated/bom.js:132 templates/js/translated/build.js:512 -#: templates/js/translated/build.js:2348 -#: templates/js/translated/purchase_order.js:692 -#: templates/js/translated/purchase_order.js:1206 -#: templates/js/translated/return_order.js:494 -#: templates/js/translated/sales_order.js:1097 -#: templates/js/translated/stock.js:681 templates/js/translated/stock.js:850 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 +#: templates/js/translated/build.js:1555 +#: templates/js/translated/purchase_order.js:703 +#: templates/js/translated/purchase_order.js:1221 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" msgstr "移除行" @@ -5285,9 +5385,9 @@ msgstr "" #: order/templates/order/purchase_order_detail.html:27 #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 -#: templates/js/translated/purchase_order.js:419 -#: templates/js/translated/return_order.js:447 -#: templates/js/translated/sales_order.js:222 +#: templates/js/translated/purchase_order.js:430 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5298,32 +5398,25 @@ msgstr "" msgid "Receive Line Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:49 #: order/templates/order/purchase_order_detail.html:50 -#, fuzzy -#| msgid "Delete parameters" -msgid "Delete Line Items" -msgstr "删除参数" - -#: order/templates/order/purchase_order_detail.html:66 -#: order/templates/order/return_order_detail.html:47 -#: order/templates/order/sales_order_detail.html:43 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 msgid "Extra Lines" msgstr "" -#: order/templates/order/purchase_order_detail.html:72 -#: order/templates/order/return_order_detail.html:53 -#: order/templates/order/sales_order_detail.html:49 +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 msgid "Add Extra Line" msgstr "" -#: order/templates/order/purchase_order_detail.html:92 +#: order/templates/order/purchase_order_detail.html:74 msgid "Received Items" msgstr "" -#: order/templates/order/purchase_order_detail.html:117 -#: order/templates/order/return_order_detail.html:89 -#: order/templates/order/sales_order_detail.html:149 +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 msgid "Order Notes" msgstr "" @@ -5345,31 +5438,31 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:297 -#: templates/js/translated/sales_order.js:785 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 msgid "Customer Reference" msgstr "" -#: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 +#: order/templates/order/return_order_base.html:196 +#: order/templates/order/sales_order_base.html:236 #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 #: part/templates/part/part_pricing.html:99 #: part/templates/part/part_pricing.html:114 -#: templates/js/translated/part.js:1046 -#: templates/js/translated/purchase_order.js:1712 -#: templates/js/translated/return_order.js:369 -#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/part.js:1045 +#: templates/js/translated/purchase_order.js:1727 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 msgid "Total Cost" msgstr "" -#: order/templates/order/return_order_base.html:257 +#: order/templates/order/return_order_base.html:264 #, fuzzy #| msgid "Returned" msgid "Return Order QR Code" msgstr "已退回" -#: order/templates/order/return_order_base.html:269 +#: order/templates/order/return_order_base.html:276 #, fuzzy #| msgid "Create Purchase Order" msgid "Link Barcode to Return Order" @@ -5393,7 +5486,7 @@ msgid "Ship Items" msgstr "匹配项" #: order/templates/order/sales_order_base.html:93 -#: templates/js/translated/sales_order.js:469 +#: templates/js/translated/sales_order.js:481 msgid "Complete Sales Order" msgstr "" @@ -5402,18 +5495,18 @@ msgid "This Sales Order has not been fully allocated" msgstr "" #: order/templates/order/sales_order_base.html:170 -#: order/templates/order/sales_order_detail.html:105 +#: order/templates/order/sales_order_detail.html:99 #: order/templates/order/so_sidebar.html:11 msgid "Completed Shipments" msgstr "" -#: order/templates/order/sales_order_base.html:306 +#: order/templates/order/sales_order_base.html:313 #, fuzzy #| msgid "Sales Order" msgid "Sales Order QR Code" msgstr "销售订单" -#: order/templates/order/sales_order_base.html:318 +#: order/templates/order/sales_order_base.html:325 #, fuzzy #| msgid "New Sales Order" msgid "Link Barcode to Sales Order" @@ -5423,18 +5516,17 @@ msgstr "新建销售订单" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:71 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:332 +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 msgid "Pending Shipments" msgstr "" -#: order/templates/order/sales_order_detail.html:75 -#: templates/attachment_table.html:6 templates/js/translated/bom.js:1236 -#: templates/js/translated/build.js:2249 +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:84 +#: order/templates/order/sales_order_detail.html:80 msgid "New Shipment" msgstr "" @@ -5460,12 +5552,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3667 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3671 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5474,19 +5566,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:889 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1200 templates/js/translated/part.js:2233 -#: templates/js/translated/stock.js:1795 +#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 +#: templates/js/translated/stock.js:1952 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:896 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1205 -#: templates/js/translated/part.js:2239 +#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: report/models.py:179 templates/js/translated/part.js:1204 +#: templates/js/translated/part.js:2315 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:875 +#: part/admin.py:38 part/admin.py:198 part/models.py:876 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "关键词" @@ -5507,24 +5599,24 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:864 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:980 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "最低库存" #: part/admin.py:61 part/templates/part/part_base.html:199 -#: templates/js/translated/company.js:1299 -#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/company.js:1720 +#: templates/js/translated/table_filters.js:307 msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1167 templates/js/translated/build.js:2191 -#: templates/js/translated/part.js:687 templates/js/translated/part.js:2123 -#: templates/js/translated/table_filters.js:140 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5532,23 +5624,16 @@ msgstr "" msgid "Used In" msgstr "" -#: part/admin.py:64 templates/js/translated/build.js:2203 -#: templates/js/translated/build.js:2465 templates/js/translated/build.js:3052 -#: templates/js/translated/sales_order.js:1906 -#: templates/js/translated/table_filters.js:488 -msgid "Allocated" -msgstr "" - #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:692 templates/js/translated/part.js:2127 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2930 templates/js/translated/part.js:943 +#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2936 templates/js/translated/part.js:953 +#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5565,13 +5650,13 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:202 part/models.py:392 part/templates/part/cat_link.html:3 -#: part/templates/part/category.html:23 part/templates/part/category.html:140 -#: part/templates/part/category.html:160 +#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 -#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2754 templates/js/translated/search.js:172 +#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -5588,7 +5673,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3675 +#: part/admin.py:274 part/models.py:3724 msgid "Part IPN" msgstr "" @@ -5602,35 +5687,35 @@ msgstr "" msgid "Maximum Price" msgstr "" -#: part/api.py:498 +#: part/api.py:501 msgid "Incoming Purchase Order" msgstr "" -#: part/api.py:518 +#: part/api.py:521 msgid "Outgoing Sales Order" msgstr "" -#: part/api.py:536 +#: part/api.py:539 msgid "Stock produced by Build Order" msgstr "" -#: part/api.py:622 +#: part/api.py:625 msgid "Stock required for Build Order" msgstr "" -#: part/api.py:770 +#: part/api.py:773 msgid "Valid" msgstr "" -#: part/api.py:771 +#: part/api.py:774 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:777 +#: part/api.py:780 msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:127 part/models.py:923 +#: part/bom.py:175 part/models.py:128 part/models.py:924 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "默认仓储地点" @@ -5640,7 +5725,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1873 +#: templates/js/translated/sales_order.js:1885 msgid "Available Stock" msgstr "可用库存" @@ -5648,924 +5733,925 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:75 part/models.py:3616 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" -#: part/models.py:76 part/templates/part/category.html:135 -#: templates/InvenTree/search.html:97 templates/js/translated/search.js:200 +#: part/models.py:77 part/templates/part/category.html:135 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" msgstr "商品类别" -#: part/models.py:128 +#: part/models.py:129 msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:133 stock/models.py:124 templates/js/translated/stock.js:2520 -#: templates/js/translated/table_filters.js:209 -#: templates/js/translated/table_filters.js:229 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:235 msgid "Structural" msgstr "" -#: part/models.py:135 +#: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords" msgstr "" -#: part/models.py:139 +#: part/models.py:140 msgid "Default keywords for parts in this category" msgstr "此类别商品的默认关键字" -#: part/models.py:144 stock/models.py:113 +#: part/models.py:145 stock/models.py:113 msgid "Icon" msgstr "" -#: part/models.py:145 stock/models.py:114 +#: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" msgstr "" -#: part/models.py:164 +#: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:475 +#: part/models.py:476 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:517 part/models.py:529 +#: part/models.py:518 part/models.py:530 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:601 +#: part/models.py:602 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:672 +#: part/models.py:673 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:803 +#: part/models.py:804 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:808 +#: part/models.py:809 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:822 +#: part/models.py:823 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:846 part/models.py:3672 +#: part/models.py:847 part/models.py:3721 msgid "Part name" msgstr "商品名称" -#: part/models.py:852 +#: part/models.py:853 msgid "Is Template" msgstr "" -#: part/models.py:853 +#: part/models.py:854 msgid "Is this part a template part?" msgstr "" -#: part/models.py:863 +#: part/models.py:864 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:870 +#: part/models.py:871 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:876 +#: part/models.py:877 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:883 part/models.py:3198 part/models.py:3615 -#: part/serializers.py:848 part/templates/part/part_base.html:262 +#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/serializers.py:320 part/serializers.py:910 +#: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2269 templates/js/translated/part.js:2481 +#: templates/js/translated/part.js:2345 msgid "Category" msgstr "类别" -#: part/models.py:884 +#: part/models.py:885 msgid "Part category" msgstr "商品类别" -#: part/models.py:890 +#: part/models.py:891 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:895 +#: part/models.py:896 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:921 +#: part/models.py:922 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:966 part/templates/part/part_base.html:378 +#: part/models.py:967 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:967 +#: part/models.py:968 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:974 +#: part/models.py:975 msgid "Default Expiry" msgstr "" -#: part/models.py:975 +#: part/models.py:976 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:981 +#: part/models.py:982 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:988 +#: part/models.py:989 msgid "Units of measure for this part" msgstr "" -#: part/models.py:997 +#: part/models.py:998 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1003 +#: part/models.py:1004 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1009 +#: part/models.py:1010 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1014 +#: part/models.py:1015 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1019 +#: part/models.py:1020 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1024 +#: part/models.py:1025 msgid "Is this part active?" msgstr "" -#: part/models.py:1029 +#: part/models.py:1030 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1031 +#: part/models.py:1032 msgid "BOM checksum" msgstr "" -#: part/models.py:1031 +#: part/models.py:1032 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1034 +#: part/models.py:1035 msgid "BOM checked by" msgstr "" -#: part/models.py:1036 +#: part/models.py:1037 msgid "BOM checked date" msgstr "" -#: part/models.py:1040 +#: part/models.py:1041 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1042 +#: part/models.py:1043 msgid "User responsible for this part" msgstr "" -#: part/models.py:1046 part/templates/part/part_base.html:341 +#: part/models.py:1047 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2331 +#: templates/js/translated/part.js:2407 msgid "Last Stocktake" msgstr "" -#: part/models.py:1921 +#: part/models.py:1923 msgid "Sell multiple" msgstr "" -#: part/models.py:2853 +#: part/models.py:2887 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2870 +#: part/models.py:2904 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2871 +#: part/models.py:2905 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2876 +#: part/models.py:2910 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2877 +#: part/models.py:2911 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2882 +#: part/models.py:2916 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2883 +#: part/models.py:2917 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2888 +#: part/models.py:2922 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2889 +#: part/models.py:2923 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2894 +#: part/models.py:2928 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2895 +#: part/models.py:2929 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2900 +#: part/models.py:2934 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2901 +#: part/models.py:2935 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2906 +#: part/models.py:2940 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2907 +#: part/models.py:2941 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2912 +#: part/models.py:2946 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2913 +#: part/models.py:2947 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2918 +#: part/models.py:2952 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2919 +#: part/models.py:2953 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2924 +#: part/models.py:2958 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2925 +#: part/models.py:2959 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2931 +#: part/models.py:2965 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2937 +#: part/models.py:2971 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2942 +#: part/models.py:2976 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2943 +#: part/models.py:2977 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2948 +#: part/models.py:2982 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2949 +#: part/models.py:2983 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2954 +#: part/models.py:2988 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2955 +#: part/models.py:2989 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2960 +#: part/models.py:2994 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2961 +#: part/models.py:2995 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:2980 +#: part/models.py:3014 msgid "Part for stocktake" msgstr "" -#: part/models.py:2985 +#: part/models.py:3019 msgid "Item Count" msgstr "" -#: part/models.py:2986 +#: part/models.py:3020 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:2993 +#: part/models.py:3027 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:2997 part/models.py:3080 +#: part/models.py:3031 part/models.py:3114 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 #: templates/InvenTree/settings/settings_staff_js.html:360 -#: templates/js/translated/part.js:1059 templates/js/translated/pricing.js:812 +#: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 -#: templates/js/translated/purchase_order.js:1691 -#: templates/js/translated/stock.js:2558 +#: templates/js/translated/purchase_order.js:1706 +#: templates/js/translated/stock.js:2689 msgid "Date" msgstr "" -#: part/models.py:2998 +#: part/models.py:3032 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3006 +#: part/models.py:3040 msgid "Additional notes" msgstr "" -#: part/models.py:3014 +#: part/models.py:3048 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3053 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3020 +#: part/models.py:3054 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3025 +#: part/models.py:3059 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3026 +#: part/models.py:3060 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3087 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3088 +#: part/models.py:3122 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3093 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3094 +#: part/models.py:3128 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3102 +#: part/models.py:3136 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3238 +#: part/models.py:3272 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3255 +#: part/models.py:3289 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3275 templates/js/translated/part.js:2821 +#: part/models.py:3309 templates/js/translated/part.js:2806 msgid "Test Name" msgstr "" -#: part/models.py:3276 +#: part/models.py:3310 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3281 +#: part/models.py:3315 msgid "Test Description" msgstr "" -#: part/models.py:3282 +#: part/models.py:3316 msgid "Enter description for this test" msgstr "" -#: part/models.py:3287 templates/js/translated/part.js:2830 -#: templates/js/translated/table_filters.js:423 +#: part/models.py:3321 templates/js/translated/part.js:2815 +#: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3288 +#: part/models.py:3322 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3293 templates/js/translated/part.js:2838 +#: part/models.py:3327 templates/js/translated/part.js:2823 msgid "Requires Value" msgstr "" -#: part/models.py:3294 +#: part/models.py:3328 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3299 templates/js/translated/part.js:2845 +#: part/models.py:3333 templates/js/translated/part.js:2830 msgid "Requires Attachment" msgstr "" -#: part/models.py:3300 +#: part/models.py:3334 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3346 +#: part/models.py:3380 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3351 +#: part/models.py:3385 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3369 +#: part/models.py:3403 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3385 +#: part/models.py:3419 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3401 +#: part/models.py:3435 msgid "Parameter Name" msgstr "" -#: part/models.py:3407 +#: part/models.py:3441 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3417 +#: part/models.py:3451 msgid "Parameter description" msgstr "" -#: part/models.py:3423 templates/js/translated/part.js:1600 -#: templates/js/translated/table_filters.js:734 +#: part/models.py:3457 templates/js/translated/part.js:1599 +#: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3424 +#: part/models.py:3458 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3429 templates/js/translated/part.js:1609 +#: part/models.py:3463 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3430 +#: part/models.py:3464 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3511 +#: part/models.py:3545 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3555 +#: part/models.py:3589 msgid "Parent Part" msgstr "" -#: part/models.py:3560 part/models.py:3621 part/models.py:3622 +#: part/models.py:3594 part/models.py:3670 part/models.py:3671 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Data" msgstr "" -#: part/models.py:3565 +#: part/models.py:3599 msgid "Parameter Value" msgstr "" -#: part/models.py:3626 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3627 +#: part/models.py:3676 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3664 +#: part/models.py:3713 msgid "Part ID or part name" msgstr "" -#: part/models.py:3668 +#: part/models.py:3717 msgid "Unique part ID value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3725 msgid "Part IPN value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3728 msgid "Level" msgstr "" -#: part/models.py:3680 +#: part/models.py:3729 msgid "BOM level" msgstr "" -#: part/models.py:3764 +#: part/models.py:3735 part/models.py:4113 +msgid "BOM Item" +msgstr "BOM项" + +#: part/models.py:3808 msgid "Select parent part" msgstr "" -#: part/models.py:3772 +#: part/models.py:3816 msgid "Sub part" msgstr "" -#: part/models.py:3773 +#: part/models.py:3817 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3779 +#: part/models.py:3823 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3783 part/templates/part/upload_bom.html:58 -#: templates/js/translated/bom.js:971 templates/js/translated/bom.js:998 -#: templates/js/translated/build.js:2113 -#: templates/js/translated/table_filters.js:156 -#: templates/js/translated/table_filters.js:185 -#: templates/js/translated/table_filters.js:500 -msgid "Optional" -msgstr "可选项" - -#: part/models.py:3784 +#: part/models.py:3828 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3789 templates/js/translated/bom.js:967 -#: templates/js/translated/bom.js:1007 templates/js/translated/build.js:2104 -#: templates/js/translated/table_filters.js:160 -#: templates/js/translated/table_filters.js:496 -msgid "Consumable" -msgstr "" - -#: part/models.py:3790 +#: part/models.py:3834 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3794 part/templates/part/upload_bom.html:55 +#: part/models.py:3838 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3795 +#: part/models.py:3839 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3798 +#: part/models.py:3842 msgid "BOM item reference" msgstr "" -#: part/models.py:3801 +#: part/models.py:3845 msgid "BOM item notes" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "Checksum" msgstr "" -#: part/models.py:3805 +#: part/models.py:3849 msgid "BOM line checksum" msgstr "" -#: part/models.py:3810 templates/js/translated/table_filters.js:144 +#: part/models.py:3854 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3811 +#: part/models.py:3855 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:3816 part/templates/part/upload_bom.html:57 -#: templates/js/translated/bom.js:1024 -#: templates/js/translated/table_filters.js:148 -#: templates/js/translated/table_filters.js:181 +#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1042 +#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3817 +#: part/models.py:3861 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3822 part/templates/part/upload_bom.html:56 -#: templates/js/translated/bom.js:1016 +#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3823 +#: part/models.py:3867 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3909 stock/models.py:577 +#: part/models.py:3953 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3918 part/models.py:3920 +#: part/models.py:3962 part/models.py:3964 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4036 +#: part/models.py:4080 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4057 +#: part/models.py:4101 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4070 +#: part/models.py:4114 msgid "Parent BOM item" msgstr "" -#: part/models.py:4078 +#: part/models.py:4122 msgid "Substitute part" msgstr "" -#: part/models.py:4093 +#: part/models.py:4137 msgid "Part 1" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Part 2" msgstr "" -#: part/models.py:4097 +#: part/models.py:4141 msgid "Select Related Part" msgstr "" -#: part/models.py:4115 +#: part/models.py:4159 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4119 +#: part/models.py:4163 msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:257 +#: part/serializers.py:152 part/serializers.py:175 stock/serializers.py:319 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:313 +#, fuzzy +#| msgid "Rejected" +msgid "No parts selected" +msgstr "已拒绝" + +#: part/serializers.py:321 +#, fuzzy +#| msgid "Set category" +msgid "Select category" +msgstr "设置类别" + +#: part/serializers.py:352 msgid "Original Part" msgstr "" -#: part/serializers.py:302 +#: part/serializers.py:352 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy Image" msgstr "" -#: part/serializers.py:307 +#: part/serializers.py:357 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:312 part/templates/part/detail.html:296 +#: part/serializers.py:362 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:312 +#: part/serializers.py:362 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:317 +#: part/serializers.py:367 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:327 +#: part/serializers.py:377 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:333 +#: part/serializers.py:383 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:354 +#: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:360 +#: part/serializers.py:410 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:417 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:375 +#: part/serializers.py:425 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:387 +#: part/serializers.py:437 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:395 +#: part/serializers.py:445 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:620 part/templates/part/copy_part.html:9 -#: templates/js/translated/part.js:449 +#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:620 +#: part/serializers.py:682 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:625 templates/js/translated/part.js:103 +#: part/serializers.py:687 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:625 +#: part/serializers.py:687 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Supplier Information" msgstr "" -#: part/serializers.py:630 +#: part/serializers.py:692 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:636 +#: part/serializers.py:698 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:637 +#: part/serializers.py:699 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:842 +#: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:848 +#: part/serializers.py:910 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:854 +#: part/serializers.py:916 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:859 +#: part/serializers.py:921 msgid "Generate Report" msgstr "" -#: part/serializers.py:860 +#: part/serializers.py:922 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:927 msgid "Update Parts" msgstr "" -#: part/serializers.py:866 +#: part/serializers.py:928 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:874 +#: part/serializers.py:936 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:963 +#: part/serializers.py:1025 msgid "Update" msgstr "" -#: part/serializers.py:964 +#: part/serializers.py:1026 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1246 +#: part/serializers.py:1308 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1254 +#: part/serializers.py:1316 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1255 +#: part/serializers.py:1317 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1322 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1261 +#: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1266 +#: part/serializers.py:1328 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1329 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1272 +#: part/serializers.py:1334 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1273 +#: part/serializers.py:1335 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1313 +#: part/serializers.py:1375 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1314 +#: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1344 +#: part/serializers.py:1406 msgid "No part column specified" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1449 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1390 +#: part/serializers.py:1452 msgid "No matching part found" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1455 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1402 +#: part/serializers.py:1464 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1410 +#: part/serializers.py:1472 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1431 +#: part/serializers.py:1493 msgid "At least one BOM item is required" msgstr "" @@ -6578,9 +6664,9 @@ msgstr "" msgid "The available stock for {part.name} has fallen below the configured minimum level" msgstr "" -#: part/tasks.py:294 templates/js/translated/part.js:1040 -#: templates/js/translated/part.js:1793 templates/js/translated/part.js:1848 -#: templates/js/translated/purchase_order.js:2052 +#: part/tasks.py:294 templates/js/translated/part.js:1039 +#: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 +#: templates/js/translated/purchase_order.js:2062 msgid "Total Quantity" msgstr "" @@ -6620,14 +6706,6 @@ msgstr "" msgid "The BOM for %(part)s has not been validated." msgstr "" -#: part/templates/part/bom.html:30 part/templates/part/detail.html:291 -msgid "BOM actions" -msgstr "" - -#: part/templates/part/bom.html:34 -msgid "Delete Items" -msgstr "" - #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" msgstr "" @@ -6664,7 +6742,7 @@ msgstr "" msgid "Top level part category" msgstr "" -#: part/templates/part/category.html:121 part/templates/part/category.html:225 +#: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 msgid "Subcategories" msgstr "子类别" @@ -6677,33 +6755,20 @@ msgstr "商品 (包括子类别)" msgid "Create new part" msgstr "新建商品" -#: part/templates/part/category.html:165 templates/js/translated/bom.js:443 +#: part/templates/part/category.html:165 templates/js/translated/bom.js:444 msgid "New Part" msgstr "新商品" -#: part/templates/part/category.html:175 part/templates/part/detail.html:390 -#: part/templates/part/detail.html:421 -msgid "Options" -msgstr "选项" - -#: part/templates/part/category.html:179 -msgid "Set category" -msgstr "设置类别" - -#: part/templates/part/category.html:180 -msgid "Set Category" -msgstr "设置类别" - -#: part/templates/part/category.html:208 +#: part/templates/part/category.html:191 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "商品参数" -#: part/templates/part/category.html:229 +#: part/templates/part/category.html:210 msgid "Create new part category" msgstr "新建商品类别" -#: part/templates/part/category.html:230 +#: part/templates/part/category.html:211 msgid "New Category" msgstr "" @@ -6740,7 +6805,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:584 +#: templates/js/translated/tables.js:560 msgid "Refresh" msgstr "" @@ -6751,7 +6816,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:1952 users/models.py:39 +#: templates/js/translated/stock.js:2109 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6763,101 +6828,101 @@ msgstr "" msgid "Add Test Template" msgstr "" -#: part/templates/part/detail.html:145 stock/templates/stock/item.html:53 +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:165 +#: part/templates/part/detail.html:156 msgid "Part Notes" msgstr "" -#: part/templates/part/detail.html:180 +#: part/templates/part/detail.html:171 msgid "Part Variants" msgstr "" -#: part/templates/part/detail.html:184 +#: part/templates/part/detail.html:175 msgid "Create new variant" msgstr "" -#: part/templates/part/detail.html:185 +#: part/templates/part/detail.html:176 msgid "New Variant" msgstr "" -#: part/templates/part/detail.html:212 +#: part/templates/part/detail.html:199 msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:249 part/templates/part/part_sidebar.html:58 +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 msgid "Related Parts" msgstr "" -#: part/templates/part/detail.html:253 part/templates/part/detail.html:254 +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:274 part/templates/part/part_sidebar.html:17 +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" msgstr "" -#: part/templates/part/detail.html:279 +#: part/templates/part/detail.html:260 msgid "Export actions" msgstr "" -#: part/templates/part/detail.html:283 templates/js/translated/bom.js:339 +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" msgstr "" -#: part/templates/part/detail.html:285 +#: part/templates/part/detail.html:266 msgid "Print BOM Report" msgstr "" -#: part/templates/part/detail.html:295 +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 msgid "Upload BOM" msgstr "" -#: part/templates/part/detail.html:297 +#: part/templates/part/detail.html:278 msgid "Validate BOM" msgstr "" -#: part/templates/part/detail.html:302 part/templates/part/detail.html:303 -#: templates/js/translated/bom.js:1279 templates/js/translated/bom.js:1280 +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" msgstr "" -#: part/templates/part/detail.html:316 +#: part/templates/part/detail.html:297 msgid "Assemblies" msgstr "" -#: part/templates/part/detail.html:334 +#: part/templates/part/detail.html:313 msgid "Part Builds" msgstr "" -#: part/templates/part/detail.html:361 stock/templates/stock/item.html:38 +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 msgid "Build Order Allocations" msgstr "" -#: part/templates/part/detail.html:377 +#: part/templates/part/detail.html:352 msgid "Part Suppliers" msgstr "商品供应商" -#: part/templates/part/detail.html:407 +#: part/templates/part/detail.html:372 msgid "Part Manufacturers" msgstr "商品制造商" -#: part/templates/part/detail.html:423 -msgid "Delete manufacturer parts" -msgstr "删除制造商商品" - -#: part/templates/part/detail.html:707 +#: part/templates/part/detail.html:654 msgid "Related Part" msgstr "" -#: part/templates/part/detail.html:715 +#: part/templates/part/detail.html:662 msgid "Add Related Part" msgstr "" -#: part/templates/part/detail.html:800 +#: part/templates/part/detail.html:747 msgid "Add Test Result Template" msgstr "" @@ -6891,13 +6956,13 @@ msgid "Download Part Import Template" msgstr "" #: part/templates/part/import_wizard/part_upload.html:92 -#: templates/js/translated/bom.js:308 templates/js/translated/bom.js:342 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" msgstr "" #: part/templates/part/import_wizard/part_upload.html:93 -#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" msgstr "" @@ -6938,7 +7003,7 @@ msgstr "清点商品库存" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 msgid "Part actions" msgstr "" @@ -6985,10 +7050,10 @@ msgid "Part is not active" msgstr "打印操作" #: part/templates/part/part_base.html:148 -#: templates/js/translated/company.js:945 -#: templates/js/translated/company.js:1185 -#: templates/js/translated/model_renderers.js:273 -#: templates/js/translated/part.js:792 templates/js/translated/part.js:1192 +#: templates/js/translated/company.js:1318 +#: templates/js/translated/company.js:1606 +#: templates/js/translated/model_renderers.js:287 +#: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" msgstr "" @@ -7011,7 +7076,7 @@ msgstr "" msgid "Allocated to Sales Orders" msgstr "" -#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1178 +#: part/templates/part/part_base.html:237 templates/js/translated/bom.js:1198 msgid "Can Build" msgstr "" @@ -7019,8 +7084,8 @@ msgstr "" msgid "Minimum stock level" msgstr "" -#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1041 -#: templates/js/translated/part.js:1238 templates/js/translated/part.js:2304 +#: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -7043,7 +7108,7 @@ msgstr "商品二维码" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2191 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 #, fuzzy #| msgid "Edit part" msgid "part" @@ -7119,9 +7184,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1216 templates/js/translated/part.js:2120 -#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1022 -#: templates/js/translated/stock.js:1829 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 +#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1986 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -7152,9 +7217,9 @@ msgstr "" #: part/templates/part/prices.html:25 stock/admin.py:129 #: stock/templates/stock/item_base.html:442 -#: templates/js/translated/company.js:1313 -#: templates/js/translated/company.js:1323 -#: templates/js/translated/stock.js:1982 +#: templates/js/translated/company.js:1734 +#: templates/js/translated/company.js:1744 +#: templates/js/translated/stock.js:2139 msgid "Last Updated" msgstr "" @@ -7217,12 +7282,12 @@ msgstr "" msgid "Add Sell Price Break" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:682 -#: templates/js/translated/part.js:2115 templates/js/translated/part.js:2117 +#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 +#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:167 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 msgid "Low Stock" msgstr "" @@ -7326,7 +7391,7 @@ msgid "Match found for barcode data" msgstr "找到匹配条形码数据" #: plugin/base/barcodes/api.py:120 -#: templates/js/translated/purchase_order.js:1372 +#: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" msgstr "" @@ -7389,43 +7454,43 @@ msgstr "" msgid "Open link" msgstr "" -#: plugin/models.py:27 +#: plugin/models.py:28 msgid "Plugin Configuration" msgstr "" -#: plugin/models.py:28 +#: plugin/models.py:29 msgid "Plugin Configurations" msgstr "" -#: plugin/models.py:33 +#: plugin/models.py:34 msgid "Key" msgstr "" -#: plugin/models.py:34 +#: plugin/models.py:35 msgid "Key of plugin" msgstr "" -#: plugin/models.py:42 +#: plugin/models.py:43 msgid "PluginName of the plugin" msgstr "" -#: plugin/models.py:48 +#: plugin/models.py:49 msgid "Is the plugin active" msgstr "" -#: plugin/models.py:124 +#: plugin/models.py:125 msgid "Sample plugin" msgstr "" -#: plugin/models.py:133 +#: plugin/models.py:134 msgid "Builtin Plugin" msgstr "" -#: plugin/models.py:159 templates/InvenTree/settings/plugin_settings.html:9 +#: plugin/models.py:160 templates/InvenTree/settings/plugin_settings.html:9 msgid "Plugin" msgstr "" -#: plugin/models.py:210 +#: plugin/models.py:211 msgid "Method" msgstr "" @@ -7577,47 +7642,47 @@ msgstr "" msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:418 +#: report/models.py:420 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:419 +#: report/models.py:421 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:453 +#: report/models.py:455 msgid "Purchase order query filters" msgstr "" -#: report/models.py:491 +#: report/models.py:493 msgid "Sales order query filters" msgstr "" -#: report/models.py:529 +#: report/models.py:531 msgid "Return order query filters" msgstr "" -#: report/models.py:582 +#: report/models.py:584 msgid "Snippet" msgstr "" -#: report/models.py:583 +#: report/models.py:585 msgid "Report snippet file" msgstr "" -#: report/models.py:587 +#: report/models.py:589 msgid "Snippet file description" msgstr "" -#: report/models.py:624 +#: report/models.py:626 msgid "Asset" msgstr "" -#: report/models.py:625 +#: report/models.py:627 msgid "Report asset file" msgstr "" -#: report/models.py:632 +#: report/models.py:634 msgid "Asset file description" msgstr "" @@ -7638,8 +7703,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2083 -#: templates/js/translated/sales_order.js:1817 +#: templates/js/translated/purchase_order.js:2093 +#: templates/js/translated/sales_order.js:1829 msgid "Unit Price" msgstr "单价" @@ -7653,23 +7718,23 @@ msgstr "额外的生产备注" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/sales_order.js:1792 +#: templates/js/translated/purchase_order.js:1995 +#: templates/js/translated/sales_order.js:1804 msgid "Total" msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:502 templates/js/translated/build.js:1423 -#: templates/js/translated/build.js:1989 -#: templates/js/translated/model_renderers.js:201 -#: templates/js/translated/return_order.js:528 -#: templates/js/translated/return_order.js:708 -#: templates/js/translated/sales_order.js:300 -#: templates/js/translated/sales_order.js:1597 -#: templates/js/translated/sales_order.js:1682 -#: templates/js/translated/stock.js:563 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 +#: templates/js/translated/build.js:2281 +#: templates/js/translated/model_renderers.js:215 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:720 +#: templates/js/translated/sales_order.js:312 +#: templates/js/translated/sales_order.js:1609 +#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "序列号" @@ -7682,7 +7747,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1419 +#: stock/models.py:2243 templates/js/translated/stock.js:1418 msgid "Test" msgstr "" @@ -7715,8 +7780,8 @@ msgid "Installed Items" msgstr "" #: report/templates/report/inventree_test_report_base.html:168 -#: stock/admin.py:104 templates/js/translated/stock.js:667 -#: templates/js/translated/stock.js:838 templates/js/translated/stock.js:2849 +#: stock/admin.py:104 templates/js/translated/stock.js:666 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 msgid "Serial" msgstr "" @@ -7788,31 +7853,31 @@ msgstr "删除模板" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:1966 +#: templates/js/translated/stock.js:2123 msgid "Expiry Date" msgstr "" -#: stock/api.py:420 templates/js/translated/table_filters.js:373 +#: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" msgstr "" -#: stock/api.py:582 +#: stock/api.py:619 msgid "Quantity is required" msgstr "" -#: stock/api.py:589 +#: stock/api.py:626 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:615 +#: stock/api.py:652 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:624 +#: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:642 +#: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7823,7 +7888,7 @@ msgid "Stock Location" msgstr "仓储地点" #: stock/models.py:55 stock/templates/stock/location.html:177 -#: templates/InvenTree/search.html:166 templates/js/translated/search.js:220 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" msgstr "仓储地点" @@ -7841,8 +7906,8 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2529 -#: templates/js/translated/table_filters.js:213 +#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7858,7 +7923,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:583 stock/serializers.py:174 +#: stock/models.py:583 stock/serializers.py:223 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -7996,7 +8061,7 @@ msgstr "" msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1403 stock/serializers.py:374 +#: stock/models.py:1403 stock/serializers.py:440 msgid "Serial numbers already exist" msgstr "序列号已存在" @@ -8024,7 +8089,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1496 stock/serializers.py:975 +#: stock/models.py:1496 stock/serializers.py:1092 msgid "Duplicate stock items" msgstr "" @@ -8076,132 +8141,145 @@ msgstr "" msgid "Test notes" msgstr "" -#: stock/serializers.py:76 +#: stock/serializers.py:121 msgid "Serial number is too large" msgstr "" -#: stock/serializers.py:166 +#: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:254 +#: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:307 +#: stock/serializers.py:373 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:319 +#: stock/serializers.py:385 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:325 +#: stock/serializers.py:391 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:336 stock/serializers.py:932 stock/serializers.py:1174 +#: stock/serializers.py:402 stock/serializers.py:1049 stock/serializers.py:1291 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:343 +#: stock/serializers.py:409 msgid "Optional note field" msgstr "" -#: stock/serializers.py:353 +#: stock/serializers.py:419 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:414 +#: stock/serializers.py:480 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:427 -msgid "Stock item is unavailable" -msgstr "" - -#: stock/serializers.py:434 -msgid "Selected part is not in the Bill of Materials" -msgstr "" - -#: stock/serializers.py:471 -msgid "Destination location for uninstalled item" -msgstr "" - -#: stock/serializers.py:476 stock/serializers.py:557 +#: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 +#: stock/serializers.py:682 msgid "Add transaction note (optional)" msgstr "添加交易备注 (可选)" -#: stock/serializers.py:510 +#: stock/serializers.py:494 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:501 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:538 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:577 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:521 +#: stock/serializers.py:588 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:552 +#: stock/serializers.py:619 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:663 +#, fuzzy +#| msgid "Selected stock item not found in BOM" +msgid "Select stock items to change status" +msgstr "在BOM中找不到选定的库存项" + +#: stock/serializers.py:670 +#, fuzzy +#| msgid "Stock item created" +msgid "No stock items selected" +msgstr "库存项已创建" + +#: stock/serializers.py:904 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:791 +#: stock/serializers.py:908 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:795 +#: stock/serializers.py:912 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:943 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:832 +#: stock/serializers.py:949 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:840 +#: stock/serializers.py:957 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:850 stock/serializers.py:1081 +#: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:939 +#: stock/serializers.py:1056 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:944 +#: stock/serializers.py:1061 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:945 +#: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:950 +#: stock/serializers.py:1067 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:951 +#: stock/serializers.py:1068 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:961 +#: stock/serializers.py:1078 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1043 +#: stock/serializers.py:1160 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1071 +#: stock/serializers.py:1188 msgid "Stock transaction notes" msgstr "" @@ -8209,48 +8287,48 @@ msgstr "" msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:63 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:77 +#: stock/templates/stock/item.html:71 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:86 +#: stock/templates/stock/item.html:80 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:90 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:94 stock/templates/stock/item.html:288 +#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:98 +#: stock/templates/stock/item.html:92 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:132 +#: stock/templates/stock/item.html:124 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:147 +#: stock/templates/stock/item.html:139 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2996 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:276 +#: stock/templates/stock/item.html:266 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:305 templates/js/translated/stock.js:1611 +#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 msgid "Add Test Result" msgstr "" @@ -8258,13 +8336,13 @@ msgstr "" msgid "Locate stock item" msgstr "" -#: stock/templates/stock/item_base.html:52 templates/stock_table.html:21 +#: stock/templates/stock/item_base.html:52 msgid "Scan to Location" msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:322 +#: templates/js/translated/filters.js:432 msgid "Printing actions" msgstr "" @@ -8273,15 +8351,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/stock_table.html:35 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 msgid "Count stock" msgstr "" -#: stock/templates/stock/item_base.html:82 templates/stock_table.html:33 +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1717 msgid "Add stock" msgstr "" -#: stock/templates/stock/item_base.html:83 templates/stock_table.html:34 +#: stock/templates/stock/item_base.html:83 +#: templates/js/translated/stock.js:1726 msgid "Remove stock" msgstr "" @@ -8290,11 +8370,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/stock_table.html:36 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 msgid "Transfer stock" msgstr "" -#: stock/templates/stock/item_base.html:92 templates/stock_table.html:39 +#: stock/templates/stock/item_base.html:92 +#: templates/js/translated/stock.js:1798 msgid "Assign to customer" msgstr "" @@ -8334,6 +8415,11 @@ msgstr "" msgid "Delete stock item" msgstr "" +#: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2046 templates/navbar.html:38 +msgid "Build" +msgstr "生产" + #: stock/templates/stock/item_base.html:194 msgid "Parent Item" msgstr "" @@ -8398,7 +8484,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2015 +#: templates/js/translated/build.js:2306 msgid "No location set" msgstr "未设置仓储地点" @@ -8416,7 +8502,7 @@ msgid "This StockItem expired on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:433 -#: templates/js/translated/table_filters.js:381 +#: templates/js/translated/table_filters.js:387 msgid "Expired" msgstr "" @@ -8426,7 +8512,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:435 -#: templates/js/translated/table_filters.js:387 +#: templates/js/translated/table_filters.js:393 msgid "Stale" msgstr "" @@ -8435,7 +8521,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1745 +#: templates/js/translated/stock.js:1865 #, fuzzy #| msgid "Stock Item" msgid "stock item" @@ -8543,22 +8629,22 @@ msgstr "新建仓储地点" msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:287 -#: templates/js/translated/stock.js:2318 +#: stock/templates/stock/location.html:278 +#: templates/js/translated/stock.js:2449 #, fuzzy #| msgid "Stock Location" msgid "stock location" msgstr "仓储地点" -#: stock/templates/stock/location.html:304 +#: stock/templates/stock/location.html:295 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:377 +#: stock/templates/stock/location.html:368 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:388 +#: stock/templates/stock/location.html:379 msgid "Link Barcode to Stock Location" msgstr "" @@ -8632,71 +8718,71 @@ msgstr "" msgid "Index" msgstr "" -#: templates/InvenTree/index.html:89 +#: templates/InvenTree/index.html:39 msgid "Subscribed Parts" msgstr "" -#: templates/InvenTree/index.html:102 +#: templates/InvenTree/index.html:52 msgid "Subscribed Categories" msgstr "" -#: templates/InvenTree/index.html:112 +#: templates/InvenTree/index.html:62 msgid "Latest Parts" msgstr "最近商品" -#: templates/InvenTree/index.html:126 +#: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:106 msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:180 +#: templates/InvenTree/index.html:133 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:193 +#: templates/InvenTree/index.html:147 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:208 +#: templates/InvenTree/index.html:155 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:222 +#: templates/InvenTree/index.html:171 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:247 +#: templates/InvenTree/index.html:198 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:258 +#: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:278 +#: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:289 +#: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:310 +#: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:321 +#: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:347 +#: templates/InvenTree/index.html:298 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:349 +#: templates/InvenTree/index.html:300 msgid "Current News" msgstr "" @@ -8867,15 +8953,15 @@ msgstr "" msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:68 +#: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:77 +#: templates/InvenTree/settings/plugin.html:73 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:79 +#: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" msgstr "" @@ -9057,12 +9143,12 @@ msgid "No category parameter templates found" msgstr "未找到类别参数模板" #: templates/InvenTree/settings/settings_staff_js.html:212 -#: templates/js/translated/part.js:1618 +#: templates/js/translated/part.js:1617 msgid "Edit Template" msgstr "编辑模板" #: templates/InvenTree/settings/settings_staff_js.html:213 -#: templates/js/translated/part.js:1619 +#: templates/js/translated/part.js:1618 msgid "Delete Template" msgstr "删除模板" @@ -9104,7 +9190,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:575 templates/navbar.html:107 +#: templates/js/translated/tables.js:551 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9183,6 +9269,7 @@ msgid "Unverified" msgstr "" #: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:984 msgid "Primary" msgstr "" @@ -9636,14 +9723,6 @@ msgstr "" msgid "Add Attachment" msgstr "添加附件" -#: templates/attachment_table.html:11 -msgid "Delete selected attachments" -msgstr "" - -#: templates/attachment_table.html:12 templates/js/translated/attachment.js:129 -msgid "Delete Attachments" -msgstr "" - #: templates/barcode_data.html:5 msgid "Barcode Identifier" msgstr "" @@ -9688,7 +9767,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1633 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 msgid "Required Quantity" msgstr "" @@ -9702,7 +9781,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3140 +#: templates/js/translated/part.js:3125 msgid "Minimum Quantity" msgstr "" @@ -9774,23 +9853,39 @@ msgstr "" msgid "All selected attachments will be deleted" msgstr "" -#: templates/js/translated/attachment.js:255 +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +#, fuzzy +#| msgid "Delete parameters" +msgid "Delete attachments" +msgstr "删除参数" + +#: templates/js/translated/attachment.js:253 +#, fuzzy +#| msgid "Attachments" +msgid "Attachment actions" +msgstr "附件" + +#: templates/js/translated/attachment.js:275 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:285 +#: templates/js/translated/attachment.js:305 msgid "Edit Attachment" msgstr "编辑附件" -#: templates/js/translated/attachment.js:326 +#: templates/js/translated/attachment.js:336 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:346 +#: templates/js/translated/attachment.js:356 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:354 +#: templates/js/translated/attachment.js:364 msgid "Delete attachment" msgstr "" @@ -9847,7 +9942,7 @@ msgstr "" msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1118 +#: templates/js/translated/barcode.js:550 templates/js/translated/stock.js:1117 msgid "Remove stock item" msgstr "" @@ -9905,819 +10000,961 @@ msgstr "" msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:77 +#: templates/js/translated/bom.js:78 msgid "Create BOM Item" msgstr "" -#: templates/js/translated/bom.js:131 +#: templates/js/translated/bom.js:132 msgid "Display row data" msgstr "" -#: templates/js/translated/bom.js:187 +#: templates/js/translated/bom.js:188 msgid "Row Data" msgstr "" -#: templates/js/translated/bom.js:188 templates/js/translated/bom.js:699 +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 #: templates/js/translated/modals.js:746 templates/js/translated/modals.js:1054 -#: templates/js/translated/purchase_order.js:791 templates/modals.html:15 +#: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" msgstr "" -#: templates/js/translated/bom.js:305 +#: templates/js/translated/bom.js:306 msgid "Download BOM Template" msgstr "" -#: templates/js/translated/bom.js:350 +#: templates/js/translated/bom.js:351 msgid "Multi Level BOM" msgstr "" -#: templates/js/translated/bom.js:351 +#: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" msgstr "" -#: templates/js/translated/bom.js:356 +#: templates/js/translated/bom.js:357 msgid "Levels" msgstr "等级" -#: templates/js/translated/bom.js:357 +#: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" msgstr "" -#: templates/js/translated/bom.js:364 +#: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" msgstr "" -#: templates/js/translated/bom.js:365 +#: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" msgstr "" -#: templates/js/translated/bom.js:370 +#: templates/js/translated/bom.js:371 msgid "Include Parameter Data" msgstr "包含参数数据" -#: templates/js/translated/bom.js:371 +#: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:376 +#: templates/js/translated/bom.js:377 msgid "Include Stock Data" msgstr "包括库存数据" -#: templates/js/translated/bom.js:377 +#: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" msgstr "在导出 BOM 中包括库存数据" -#: templates/js/translated/bom.js:382 +#: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" msgstr "包括制造商数据" -#: templates/js/translated/bom.js:383 +#: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" msgstr "在导出 BOM 中包含制造商数据" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:389 msgid "Include Supplier Data" msgstr "包含供应商数据" -#: templates/js/translated/bom.js:389 +#: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" msgstr "在导出 BOM 中包含供应商数据" -#: templates/js/translated/bom.js:394 +#: templates/js/translated/bom.js:395 msgid "Include Pricing Data" msgstr "" -#: templates/js/translated/bom.js:395 +#: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" msgstr "" -#: templates/js/translated/bom.js:590 +#: templates/js/translated/bom.js:591 msgid "Remove substitute part" msgstr "" -#: templates/js/translated/bom.js:644 +#: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" msgstr "" -#: templates/js/translated/bom.js:655 +#: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" msgstr "" -#: templates/js/translated/bom.js:661 +#: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" msgstr "" -#: templates/js/translated/bom.js:700 +#: templates/js/translated/bom.js:701 msgid "Add Substitute" msgstr "" -#: templates/js/translated/bom.js:701 +#: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" msgstr "" -#: templates/js/translated/bom.js:763 +#: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" msgstr "" -#: templates/js/translated/bom.js:779 +#: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" msgstr "" -#: templates/js/translated/bom.js:906 +#: templates/js/translated/bom.js:826 +#, fuzzy +#| msgid "Delete parameters" +msgid "Delete items" +msgstr "删除参数" + +#: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" msgstr "" -#: templates/js/translated/bom.js:916 +#: templates/js/translated/bom.js:934 msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:920 templates/js/translated/build.js:2090 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 msgid "Variant stock allowed" msgstr "" -#: templates/js/translated/bom.js:984 +#: templates/js/translated/bom.js:1002 msgid "Substitutes" msgstr "" -#: templates/js/translated/bom.js:1104 +#: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" msgstr "" -#: templates/js/translated/bom.js:1109 +#: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" msgstr "" -#: templates/js/translated/bom.js:1116 +#: templates/js/translated/bom.js:1134 msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1147 templates/js/translated/build.js:2173 -#: templates/js/translated/sales_order.js:1887 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1152 templates/js/translated/build.js:2177 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1154 templates/js/translated/build.js:2179 -#: templates/js/translated/part.js:1230 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1156 templates/js/translated/build.js:2181 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2164 -#: templates/js/translated/build.js:2255 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 msgid "Consumable item" msgstr "" -#: templates/js/translated/bom.js:1244 +#: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:1246 +#: templates/js/translated/bom.js:1266 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:1248 +#: templates/js/translated/bom.js:1268 msgid "Edit substitute parts" msgstr "" -#: templates/js/translated/bom.js:1250 templates/js/translated/bom.js:1445 +#: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:1252 +#: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:1272 +#: templates/js/translated/bom.js:1292 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:1356 templates/js/translated/build.js:1927 +#: templates/js/translated/bom.js:1376 msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1616 templates/js/translated/build.js:2073 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 msgid "Required Part" msgstr "" -#: templates/js/translated/bom.js:1642 +#: templates/js/translated/bom.js:1662 msgid "Inherited from parent BOM" msgstr "" -#: templates/js/translated/build.js:126 +#: templates/js/translated/build.js:136 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:169 +#: templates/js/translated/build.js:179 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:202 +#: templates/js/translated/build.js:211 msgid "Cancel Build Order" msgstr "" -#: templates/js/translated/build.js:211 +#: templates/js/translated/build.js:220 msgid "Are you sure you wish to cancel this build?" msgstr "是否确定取消生产?" -#: templates/js/translated/build.js:217 +#: templates/js/translated/build.js:226 msgid "Stock items have been allocated to this build order" msgstr "" -#: templates/js/translated/build.js:224 +#: templates/js/translated/build.js:233 msgid "There are incomplete outputs remaining for this build order" msgstr "" -#: templates/js/translated/build.js:276 +#: templates/js/translated/build.js:285 msgid "Build order is ready to be completed" msgstr "" -#: templates/js/translated/build.js:284 +#: templates/js/translated/build.js:293 msgid "This build order cannot be completed as there are incomplete outputs" msgstr "" -#: templates/js/translated/build.js:289 +#: templates/js/translated/build.js:298 msgid "Build Order is incomplete" msgstr "生产订单未完成" -#: templates/js/translated/build.js:307 +#: templates/js/translated/build.js:316 msgid "Complete Build Order" msgstr "生产订单完成" -#: templates/js/translated/build.js:348 templates/js/translated/stock.js:119 -#: templates/js/translated/stock.js:265 +#: templates/js/translated/build.js:357 templates/js/translated/stock.js:118 +#: templates/js/translated/stock.js:264 msgid "Next available serial number" msgstr "" -#: templates/js/translated/build.js:350 templates/js/translated/stock.js:121 -#: templates/js/translated/stock.js:267 +#: templates/js/translated/build.js:359 templates/js/translated/stock.js:120 +#: templates/js/translated/stock.js:266 msgid "Latest serial number" msgstr "" -#: templates/js/translated/build.js:359 +#: templates/js/translated/build.js:368 msgid "The Bill of Materials contains trackable parts" msgstr "" -#: templates/js/translated/build.js:360 +#: templates/js/translated/build.js:369 msgid "Build outputs must be generated individually" msgstr "" -#: templates/js/translated/build.js:368 +#: templates/js/translated/build.js:377 msgid "Trackable parts can have serial numbers specified" msgstr "可追踪商品可以指定序列号" -#: templates/js/translated/build.js:369 +#: templates/js/translated/build.js:378 msgid "Enter serial numbers to generate multiple single build outputs" msgstr "" -#: templates/js/translated/build.js:376 +#: templates/js/translated/build.js:385 msgid "Create Build Output" msgstr "创建创建生产产出" -#: templates/js/translated/build.js:407 +#: templates/js/translated/build.js:416 msgid "Allocate stock items to this build output" msgstr "" -#: templates/js/translated/build.js:418 -msgid "Unallocate stock from build output" -msgstr "" +#: templates/js/translated/build.js:424 +#, fuzzy +#| msgid "Manually allocate stock to build" +msgid "Deallocate stock from build output" +msgstr "手动分配存货进行生成" -#: templates/js/translated/build.js:427 +#: templates/js/translated/build.js:433 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:435 +#: templates/js/translated/build.js:441 #, fuzzy #| msgid "Build output" msgid "Scrap build output" msgstr "生产产出" -#: templates/js/translated/build.js:442 +#: templates/js/translated/build.js:448 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:462 -msgid "Are you sure you wish to unallocate stock items from this build?" -msgstr "" +#: templates/js/translated/build.js:468 +#, fuzzy +#| msgid "Are you sure you wish to cancel this build?" +msgid "Are you sure you wish to deallocate the selected stock items from this build?" +msgstr "是否确定取消生产?" -#: templates/js/translated/build.js:480 -msgid "Unallocate Stock Items" -msgstr "" +#: templates/js/translated/build.js:486 +#, fuzzy +#| msgid "Select Stock Items" +msgid "Deallocate Stock Items" +msgstr "选择库存项" -#: templates/js/translated/build.js:566 templates/js/translated/build.js:690 -#: templates/js/translated/build.js:812 +#: templates/js/translated/build.js:572 templates/js/translated/build.js:696 +#: templates/js/translated/build.js:818 msgid "Select Build Outputs" msgstr "" -#: templates/js/translated/build.js:567 templates/js/translated/build.js:691 -#: templates/js/translated/build.js:813 +#: templates/js/translated/build.js:573 templates/js/translated/build.js:697 +#: templates/js/translated/build.js:819 msgid "At least one build output must be selected" msgstr "" -#: templates/js/translated/build.js:581 +#: templates/js/translated/build.js:587 #, fuzzy #| msgid "Delete any build outputs which have not been completed" msgid "Selected build outputs will be marked as complete" msgstr "删除所有未完成的生产产出" -#: templates/js/translated/build.js:585 templates/js/translated/build.js:715 -#: templates/js/translated/build.js:835 +#: templates/js/translated/build.js:591 templates/js/translated/build.js:721 +#: templates/js/translated/build.js:841 msgid "Output" msgstr "" -#: templates/js/translated/build.js:609 +#: templates/js/translated/build.js:615 msgid "Complete Build Outputs" msgstr "" -#: templates/js/translated/build.js:706 +#: templates/js/translated/build.js:712 #, fuzzy #| msgid "Delete any build outputs which have not been completed" msgid "Selected build outputs will be marked as scrapped" msgstr "删除所有未完成的生产产出" -#: templates/js/translated/build.js:708 +#: templates/js/translated/build.js:714 #, fuzzy #| msgid "Delete any build outputs which have not been completed" msgid "Scrapped output are marked as rejected" msgstr "删除所有未完成的生产产出" -#: templates/js/translated/build.js:709 +#: templates/js/translated/build.js:715 #, fuzzy #| msgid "Stock item is over-allocated" msgid "Allocated stock items will no longer be available" msgstr "库存物品分配过度!" -#: templates/js/translated/build.js:710 +#: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" msgstr "" -#: templates/js/translated/build.js:737 +#: templates/js/translated/build.js:743 #, fuzzy #| msgid "Create Build Output" msgid "Scrap Build Outputs" msgstr "创建创建生产产出" -#: templates/js/translated/build.js:827 +#: templates/js/translated/build.js:833 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "Selected build outputs will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/build.js:829 +#: templates/js/translated/build.js:835 #, fuzzy #| msgid "Build output is already completed" msgid "Build output data will be permanently deleted" msgstr "生产产出已完成" -#: templates/js/translated/build.js:830 +#: templates/js/translated/build.js:836 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "Allocated stock items will be returned to stock" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/build.js:848 +#: templates/js/translated/build.js:854 msgid "Delete Build Outputs" msgstr "" -#: templates/js/translated/build.js:934 +#: templates/js/translated/build.js:941 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:971 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#, fuzzy +#| msgid "Allocated Parts" +msgid "Allocated Quantity" +msgstr "已分配的部件" + +#: templates/js/translated/build.js:984 msgid "Location not specified" msgstr "未指定仓储地点" -#: templates/js/translated/build.js:1047 +#: templates/js/translated/build.js:1006 +msgid "Complete outputs" +msgstr "已完成输出" + +#: templates/js/translated/build.js:1024 +#, fuzzy +#| msgid "Complete outputs" +msgid "Scrap outputs" +msgstr "已完成输出" + +#: templates/js/translated/build.js:1042 +msgid "Delete outputs" +msgstr "删除输出" + +#: templates/js/translated/build.js:1100 #, fuzzy #| msgid "Build output" msgid "build output" msgstr "生产产出" -#: templates/js/translated/build.js:1048 +#: templates/js/translated/build.js:1101 #, fuzzy #| msgid "Build output" msgid "build outputs" msgstr "生产产出" -#: templates/js/translated/build.js:1383 +#: templates/js/translated/build.js:1105 +#, fuzzy +#| msgid "Build actions" +msgid "Build output actions" +msgstr "生产操作" + +#: templates/js/translated/build.js:1274 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1457 -msgid "Allocated Stock" +#: templates/js/translated/build.js:1329 +#, fuzzy +#| msgid "Allocated Parts" +msgid "Allocated Lines" +msgstr "已分配的部件" + +#: templates/js/translated/build.js:1343 +msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1464 -msgid "No tracked BOM items for this build" -msgstr "" - -#: templates/js/translated/build.js:1486 -msgid "Completed Tests" -msgstr "" - -#: templates/js/translated/build.js:1491 -msgid "No required tests for this build" -msgstr "" - -#: templates/js/translated/build.js:2032 templates/js/translated/build.js:3056 -#: templates/js/translated/sales_order.js:1632 -msgid "Edit stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2034 templates/js/translated/build.js:3057 -#: templates/js/translated/sales_order.js:1633 -msgid "Delete stock allocation" -msgstr "" - -#: templates/js/translated/build.js:2050 -msgid "Edit Allocation" -msgstr "" - -#: templates/js/translated/build.js:2060 -msgid "Remove Allocation" -msgstr "" - -#: templates/js/translated/build.js:2086 -msgid "Substitute parts available" -msgstr "" - -#: templates/js/translated/build.js:2122 -msgid "Quantity Per" -msgstr "" - -#: templates/js/translated/build.js:2167 -#: templates/js/translated/sales_order.js:1894 -msgid "Insufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2169 -#: templates/js/translated/sales_order.js:1892 -msgid "Sufficient stock available" -msgstr "" - -#: templates/js/translated/build.js:2263 -#: templates/js/translated/sales_order.js:1993 -msgid "Build stock" -msgstr "" - -#: templates/js/translated/build.js:2267 templates/stock_table.html:38 -msgid "Order stock" -msgstr "" - -#: templates/js/translated/build.js:2270 -#: templates/js/translated/sales_order.js:1987 -msgid "Allocate stock" -msgstr "" - -#: templates/js/translated/build.js:2310 -#: templates/js/translated/purchase_order.js:616 -#: templates/js/translated/sales_order.js:1159 +#: templates/js/translated/build.js:1502 +#: templates/js/translated/purchase_order.js:627 +#: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1160 +#: templates/js/translated/build.js:1503 +#: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:2359 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/build.js:1566 +#: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:2438 +#: templates/js/translated/build.js:1643 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:2439 +#: templates/js/translated/build.js:1644 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:2453 -#: templates/js/translated/sales_order.js:1174 +#: templates/js/translated/build.js:1658 +#: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:2481 +#: templates/js/translated/build.js:1686 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:2492 -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/build.js:1697 +#: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:2565 -#: templates/js/translated/sales_order.js:1348 +#: templates/js/translated/build.js:1770 +#: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:2662 +#: templates/js/translated/build.js:1867 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:2663 +#: templates/js/translated/build.js:1868 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:2665 +#: templates/js/translated/build.js:1870 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:2666 +#: templates/js/translated/build.js:1871 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:2667 +#: templates/js/translated/build.js:1872 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:2694 +#: templates/js/translated/build.js:1899 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2800 +#: templates/js/translated/build.js:2005 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2835 templates/js/translated/part.js:2208 -#: templates/js/translated/part.js:2692 templates/js/translated/stock.js:1759 -#: templates/js/translated/stock.js:2458 +#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 +#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 +#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2849 +#: templates/js/translated/build.js:2054 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2883 +#: templates/js/translated/build.js:2100 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2919 templates/js/translated/stock.js:2779 +#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2934 +#: templates/js/translated/build.js:2151 msgid "group" msgstr "" -#: templates/js/translated/build.js:3033 -msgid "No parts allocated for" +#: templates/js/translated/build.js:2315 +#: templates/js/translated/sales_order.js:1644 +msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/company.js:87 +#: templates/js/translated/build.js:2316 +#: templates/js/translated/sales_order.js:1645 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2331 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2343 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2384 +#, fuzzy +#| msgid "Build actions" +msgid "build line" +msgstr "生产操作" + +#: templates/js/translated/build.js:2385 +#, fuzzy +#| msgid "Build actions" +msgid "build lines" +msgstr "生产操作" + +#: templates/js/translated/build.js:2403 +#, fuzzy +#| msgid "Subcategories" +msgid "No build lines found" +msgstr "子类别" + +#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/part.js:1175 +msgid "Trackable part" +msgstr "可追溯商品" + +#: templates/js/translated/build.js:2468 +#, fuzzy +#| msgid "Quantity" +msgid "Unit Quantity" +msgstr "数量" + +#: templates/js/translated/build.js:2517 +#: templates/js/translated/sales_order.js:1906 +msgid "Insufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2519 +#: templates/js/translated/sales_order.js:1904 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2566 +#, fuzzy +#| msgid "Minimum Stock" +msgid "Consumable Item" +msgstr "最低库存" + +#: templates/js/translated/build.js:2571 +#, fuzzy +#| msgid "Stock Item" +msgid "Tracked item" +msgstr "库存项" + +#: templates/js/translated/build.js:2578 +#: templates/js/translated/sales_order.js:2005 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2587 +#: templates/js/translated/sales_order.js:1999 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2591 +#, fuzzy +#| msgid "Confirm stock allocation" +msgid "Remove stock allocation" +msgstr "确认库存分配" + +#: templates/js/translated/company.js:97 msgid "Add Manufacturer" msgstr "添加制造商" -#: templates/js/translated/company.js:100 -#: templates/js/translated/company.js:202 +#: templates/js/translated/company.js:110 +#: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" msgstr "添加制造商商品" -#: templates/js/translated/company.js:121 +#: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" msgstr "编辑制造商商品" -#: templates/js/translated/company.js:190 -#: templates/js/translated/purchase_order.js:94 +#: templates/js/translated/company.js:200 +#: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" msgstr "添加供应商" -#: templates/js/translated/company.js:232 -#: templates/js/translated/purchase_order.js:338 +#: templates/js/translated/company.js:242 +#: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" msgstr "添加供应商商品" -#: templates/js/translated/company.js:333 +#: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/company.js:349 +#: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" msgstr "" -#: templates/js/translated/company.js:457 +#: templates/js/translated/company.js:464 msgid "Add new Company" msgstr "增加新的公司信息" -#: templates/js/translated/company.js:528 +#: templates/js/translated/company.js:535 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:537 +#: templates/js/translated/company.js:544 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:552 +#: templates/js/translated/company.js:559 msgid "No company information found" msgstr "未找到该公司信息" -#: templates/js/translated/company.js:601 +#: templates/js/translated/company.js:608 #, fuzzy #| msgid "Create new part" msgid "Create New Contact" msgstr "新建商品" -#: templates/js/translated/company.js:617 -#: templates/js/translated/company.js:740 +#: templates/js/translated/company.js:624 +#: templates/js/translated/company.js:747 #, fuzzy #| msgid "Contact" msgid "Edit Contact" msgstr "联系人" -#: templates/js/translated/company.js:654 +#: templates/js/translated/company.js:661 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "All selected contacts will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/company.js:660 -#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:667 +#: templates/js/translated/company.js:731 msgid "Role" msgstr "" -#: templates/js/translated/company.js:668 +#: templates/js/translated/company.js:675 #, fuzzy #| msgid "Delete outputs" msgid "Delete Contacts" msgstr "删除输出" -#: templates/js/translated/company.js:699 +#: templates/js/translated/company.js:706 #, fuzzy #| msgid "No matching action found" msgid "No contacts found" msgstr "未找到指定操作" -#: templates/js/translated/company.js:712 +#: templates/js/translated/company.js:719 #, fuzzy #| msgid "Phone number" msgid "Phone Number" msgstr "电话号码" -#: templates/js/translated/company.js:718 +#: templates/js/translated/company.js:725 #, fuzzy #| msgid "Address" msgid "Email Address" msgstr "地址" -#: templates/js/translated/company.js:744 +#: templates/js/translated/company.js:751 #, fuzzy #| msgid "Delete part" msgid "Delete Contact" msgstr "删除商品" -#: templates/js/translated/company.js:818 +#: templates/js/translated/company.js:886 +#, fuzzy +#| msgid "Create new part" +msgid "Create New Address" +msgstr "新建商品" + +#: templates/js/translated/company.js:901 +#: templates/js/translated/company.js:1066 +#, fuzzy +#| msgid "Address" +msgid "Edit Address" +msgstr "地址" + +#: templates/js/translated/company.js:936 +#, fuzzy +#| msgid "All selected supplier parts will be deleted" +msgid "All selected addresses will be deleted" +msgstr "删除所有选定的供应商商品" + +#: templates/js/translated/company.js:950 +#, fuzzy +#| msgid "Delete parameters" +msgid "Delete Addresses" +msgstr "删除参数" + +#: templates/js/translated/company.js:977 +#, fuzzy +#| msgid "No parameters found" +msgid "No addresses found" +msgstr "无指定参数" + +#: templates/js/translated/company.js:1020 +#, fuzzy +#| msgid "Install into" +msgid "Postal city" +msgstr "安装到" + +#: templates/js/translated/company.js:1026 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1038 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1044 +#, fuzzy +#| msgid "Internal Prices" +msgid "Internal notes" +msgstr "内部价格" + +#: templates/js/translated/company.js:1070 +#, fuzzy +#| msgid "Delete parts" +msgid "Delete Address" +msgstr "删除商品" + +#: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:833 +#: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" msgstr "删除制造商商品" -#: templates/js/translated/company.js:867 +#: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" msgstr "" -#: templates/js/translated/company.js:881 +#: templates/js/translated/company.js:1206 msgid "Delete Parameters" msgstr "删除参数" -#: templates/js/translated/company.js:917 +#: templates/js/translated/company.js:1222 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +msgid "Order parts" +msgstr "订购商品" + +#: templates/js/translated/company.js:1239 +msgid "Delete manufacturer parts" +msgstr "删除制造商商品" + +#: templates/js/translated/company.js:1271 +#, fuzzy +#| msgid "Manufacturer part description" +msgid "Manufacturer part actions" +msgstr "制造商商品描述" + +#: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:937 -#: templates/js/translated/company.js:1177 templates/js/translated/part.js:776 -#: templates/js/translated/part.js:1184 +#: templates/js/translated/company.js:1310 +#: templates/js/translated/company.js:1598 templates/js/translated/part.js:775 +#: templates/js/translated/part.js:1183 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:941 -#: templates/js/translated/company.js:1181 templates/js/translated/part.js:780 -#: templates/js/translated/part.js:1188 +#: templates/js/translated/company.js:1314 +#: templates/js/translated/company.js:1602 templates/js/translated/part.js:779 +#: templates/js/translated/part.js:1187 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:1061 templates/js/translated/part.js:1437 +#: templates/js/translated/company.js:1434 templates/js/translated/part.js:1436 msgid "No parameters found" msgstr "无指定参数" -#: templates/js/translated/company.js:1096 templates/js/translated/part.js:1500 +#: templates/js/translated/company.js:1469 templates/js/translated/part.js:1499 msgid "Edit parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1097 templates/js/translated/part.js:1501 +#: templates/js/translated/company.js:1470 templates/js/translated/part.js:1500 msgid "Delete parameter" msgstr "删除参数" -#: templates/js/translated/company.js:1114 templates/js/translated/part.js:1407 +#: templates/js/translated/company.js:1487 templates/js/translated/part.js:1406 msgid "Edit Parameter" msgstr "编辑参数" -#: templates/js/translated/company.js:1123 templates/js/translated/part.js:1522 +#: templates/js/translated/company.js:1496 templates/js/translated/part.js:1521 msgid "Delete Parameter" msgstr "删除参数" -#: templates/js/translated/company.js:1156 +#: templates/js/translated/company.js:1527 +msgid "Delete supplier parts" +msgstr "删除供应商商品" + +#: templates/js/translated/company.js:1577 msgid "No supplier parts found" msgstr "未找到供应商商品" -#: templates/js/translated/company.js:1274 +#: templates/js/translated/company.js:1695 #, fuzzy #| msgid "Units" msgid "Base Units" msgstr "单位" -#: templates/js/translated/company.js:1304 +#: templates/js/translated/company.js:1725 msgid "Availability" msgstr "" -#: templates/js/translated/company.js:1335 +#: templates/js/translated/company.js:1756 msgid "Edit supplier part" msgstr "编辑供应商商品" -#: templates/js/translated/company.js:1336 +#: templates/js/translated/company.js:1757 msgid "Delete supplier part" msgstr "删除供应商商品" -#: templates/js/translated/company.js:1389 +#: templates/js/translated/company.js:1810 #: templates/js/translated/pricing.js:694 msgid "Delete Price Break" msgstr "" -#: templates/js/translated/company.js:1399 +#: templates/js/translated/company.js:1820 #: templates/js/translated/pricing.js:712 msgid "Edit Price Break" msgstr "" -#: templates/js/translated/company.js:1414 +#: templates/js/translated/company.js:1835 msgid "No price break information found" msgstr "" -#: templates/js/translated/company.js:1443 +#: templates/js/translated/company.js:1864 msgid "Last updated" msgstr "" -#: templates/js/translated/company.js:1450 +#: templates/js/translated/company.js:1871 msgid "Edit price break" msgstr "" -#: templates/js/translated/company.js:1451 +#: templates/js/translated/company.js:1872 msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:186 -#: templates/js/translated/filters.js:550 +#: templates/js/translated/filters.js:187 +#: templates/js/translated/filters.js:673 msgid "true" msgstr "" -#: templates/js/translated/filters.js:190 -#: templates/js/translated/filters.js:551 +#: templates/js/translated/filters.js:191 +#: templates/js/translated/filters.js:674 msgid "false" msgstr "" -#: templates/js/translated/filters.js:214 +#: templates/js/translated/filters.js:215 msgid "Select filter" msgstr "选择筛选项" -#: templates/js/translated/filters.js:328 +#: templates/js/translated/filters.js:438 msgid "Print Labels" msgstr "打印标签" -#: templates/js/translated/filters.js:332 +#: templates/js/translated/filters.js:442 #, fuzzy #| msgid "Print Order Reports" msgid "Print Reports" msgstr "打印订单报表" -#: templates/js/translated/filters.js:344 +#: templates/js/translated/filters.js:454 #, fuzzy #| msgid "Download Image" msgid "Download table data" msgstr "下载图片" -#: templates/js/translated/filters.js:351 +#: templates/js/translated/filters.js:461 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:360 +#: templates/js/translated/filters.js:470 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:368 +#: templates/js/translated/filters.js:478 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:460 +#: templates/js/translated/filters.js:583 msgid "Create filter" msgstr "" @@ -10742,6 +10979,12 @@ msgstr "" msgid "View operation not allowed" msgstr "" +#: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:215 users/models.py:253 +msgid "Delete" +msgstr "删除" + #: templates/js/translated/forms.js:752 msgid "Keep this form open" msgstr "" @@ -10759,23 +11002,23 @@ msgstr "" msgid "No results found" msgstr "" -#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:281 +#: templates/js/translated/forms.js:2071 templates/js/translated/search.js:239 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:2276 +#: templates/js/translated/forms.js:2285 msgid "Clear input" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "File Column" msgstr "" -#: templates/js/translated/forms.js:2733 +#: templates/js/translated/forms.js:2742 msgid "Field Name" msgstr "" -#: templates/js/translated/forms.js:2745 +#: templates/js/translated/forms.js:2754 msgid "Select Columns" msgstr "" @@ -10795,6 +11038,16 @@ msgstr "" msgid "False" msgstr "" +#: templates/js/translated/index.js:99 +#, fuzzy +#| msgid "Stock required for build order" +msgid "No parts required for builds" +msgstr "生产订单所需的库存" + +#: templates/js/translated/index.js:125 +msgid "Allocated Stock" +msgstr "" + #: templates/js/translated/label.js:58 msgid "Select Printer" msgstr "" @@ -10904,7 +11157,7 @@ msgstr "" #: templates/js/translated/news.js:38 #: templates/js/translated/notification.js:45 -#: templates/js/translated/part.js:1577 +#: templates/js/translated/part.js:1576 msgid "ID" msgstr "" @@ -10953,7 +11206,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1958 +#: templates/js/translated/purchase_order.js:1968 msgid "No line items found" msgstr "" @@ -10969,371 +11222,363 @@ msgstr "" msgid "Delete line" msgstr "" -#: templates/js/translated/part.js:91 +#: templates/js/translated/part.js:90 msgid "Part Attributes" msgstr "商品属性" -#: templates/js/translated/part.js:95 +#: templates/js/translated/part.js:94 msgid "Part Creation Options" msgstr "商品创建选项" -#: templates/js/translated/part.js:99 +#: templates/js/translated/part.js:98 msgid "Part Duplication Options" msgstr "商品重复选项" -#: templates/js/translated/part.js:122 +#: templates/js/translated/part.js:121 msgid "Add Part Category" msgstr "增加商品类别" -#: templates/js/translated/part.js:294 +#: templates/js/translated/part.js:293 msgid "Parent part category" msgstr "" -#: templates/js/translated/part.js:310 templates/js/translated/stock.js:147 +#: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" msgstr "" -#: templates/js/translated/part.js:330 +#: templates/js/translated/part.js:329 msgid "Create Part Category" msgstr "创建商品类别" -#: templates/js/translated/part.js:333 +#: templates/js/translated/part.js:332 #, fuzzy #| msgid "Create new part category" msgid "Create new category after this one" msgstr "新建商品类别" -#: templates/js/translated/part.js:334 +#: templates/js/translated/part.js:333 #, fuzzy #| msgid "Part category" msgid "Part category created" msgstr "商品类别" -#: templates/js/translated/part.js:348 +#: templates/js/translated/part.js:347 msgid "Edit Part Category" msgstr "编辑商品类别" -#: templates/js/translated/part.js:361 +#: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" msgstr "" -#: templates/js/translated/part.js:366 +#: templates/js/translated/part.js:365 msgid "Move to parent category" msgstr "" -#: templates/js/translated/part.js:375 +#: templates/js/translated/part.js:374 msgid "Delete Part Category" msgstr "删除商品类别" -#: templates/js/translated/part.js:379 +#: templates/js/translated/part.js:378 msgid "Action for parts in this category" msgstr "" -#: templates/js/translated/part.js:384 +#: templates/js/translated/part.js:383 msgid "Action for child categories" msgstr "" -#: templates/js/translated/part.js:408 +#: templates/js/translated/part.js:407 msgid "Create Part" msgstr "创建商品" -#: templates/js/translated/part.js:410 +#: templates/js/translated/part.js:409 msgid "Create another part after this one" msgstr "" -#: templates/js/translated/part.js:411 +#: templates/js/translated/part.js:410 msgid "Part created successfully" msgstr "" -#: templates/js/translated/part.js:439 +#: templates/js/translated/part.js:438 msgid "Edit Part" msgstr "编辑商品" -#: templates/js/translated/part.js:441 +#: templates/js/translated/part.js:440 msgid "Part edited" msgstr "" -#: templates/js/translated/part.js:452 +#: templates/js/translated/part.js:451 msgid "Create Part Variant" msgstr "" -#: templates/js/translated/part.js:509 +#: templates/js/translated/part.js:508 msgid "Active Part" msgstr "" -#: templates/js/translated/part.js:510 +#: templates/js/translated/part.js:509 msgid "Part cannot be deleted as it is currently active" msgstr "" -#: templates/js/translated/part.js:524 +#: templates/js/translated/part.js:523 msgid "Deleting this part cannot be reversed" msgstr "" -#: templates/js/translated/part.js:526 +#: templates/js/translated/part.js:525 msgid "Any stock items for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:527 +#: templates/js/translated/part.js:526 msgid "This part will be removed from any Bills of Material" msgstr "" -#: templates/js/translated/part.js:528 +#: templates/js/translated/part.js:527 msgid "All manufacturer and supplier information for this part will be deleted" msgstr "" -#: templates/js/translated/part.js:535 +#: templates/js/translated/part.js:534 msgid "Delete Part" msgstr "" -#: templates/js/translated/part.js:571 +#: templates/js/translated/part.js:570 msgid "You are subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:573 +#: templates/js/translated/part.js:572 msgid "You have subscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:578 +#: templates/js/translated/part.js:577 msgid "Subscribe to notifications for this item" msgstr "" -#: templates/js/translated/part.js:580 +#: templates/js/translated/part.js:579 msgid "You have unsubscribed to notifications for this item" msgstr "" -#: templates/js/translated/part.js:597 +#: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" msgstr "" -#: templates/js/translated/part.js:607 +#: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" msgstr "" -#: templates/js/translated/part.js:610 +#: templates/js/translated/part.js:609 msgid "Validated Bill of Materials" msgstr "" -#: templates/js/translated/part.js:635 +#: templates/js/translated/part.js:634 msgid "Copy Bill of Materials" msgstr "" -#: templates/js/translated/part.js:663 -#: templates/js/translated/table_filters.js:660 +#: templates/js/translated/part.js:662 +#: templates/js/translated/table_filters.js:682 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:666 +#: templates/js/translated/part.js:665 msgid "No stock available" msgstr "" -#: templates/js/translated/part.js:726 +#: templates/js/translated/part.js:725 msgid "Demand" msgstr "" -#: templates/js/translated/part.js:749 +#: templates/js/translated/part.js:748 msgid "Unit" msgstr "" -#: templates/js/translated/part.js:768 templates/js/translated/part.js:1176 -msgid "Trackable part" -msgstr "可追溯商品" - -#: templates/js/translated/part.js:772 templates/js/translated/part.js:1180 +#: templates/js/translated/part.js:771 templates/js/translated/part.js:1179 msgid "Virtual part" msgstr "虚拟商品" -#: templates/js/translated/part.js:784 +#: templates/js/translated/part.js:783 msgid "Subscribed part" msgstr "" -#: templates/js/translated/part.js:788 +#: templates/js/translated/part.js:787 msgid "Salable part" msgstr "可销售商品" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Schedule generation of a new stocktake report." msgstr "" -#: templates/js/translated/part.js:863 +#: templates/js/translated/part.js:862 msgid "Once complete, the stocktake report will be available for download." msgstr "" -#: templates/js/translated/part.js:871 +#: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" msgstr "" -#: templates/js/translated/part.js:875 +#: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1023 msgid "No stocktake information available" msgstr "" -#: templates/js/translated/part.js:1082 templates/js/translated/part.js:1118 +#: templates/js/translated/part.js:1081 templates/js/translated/part.js:1117 msgid "Edit Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1086 templates/js/translated/part.js:1128 +#: templates/js/translated/part.js:1085 templates/js/translated/part.js:1127 msgid "Delete Stocktake Entry" msgstr "" -#: templates/js/translated/part.js:1255 +#: templates/js/translated/part.js:1254 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:1572 +#: templates/js/translated/part.js:1571 msgid "No part parameter templates found" msgstr "未找到商品参数模板" -#: templates/js/translated/part.js:1635 +#: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1647 +#: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" msgstr "" -#: templates/js/translated/part.js:1655 +#: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" msgstr "" -#: templates/js/translated/part.js:1689 -#: templates/js/translated/purchase_order.js:1618 +#: templates/js/translated/part.js:1688 +#: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/part.js:1832 -#: templates/js/translated/purchase_order.js:2121 -#: templates/js/translated/return_order.js:740 -#: templates/js/translated/sales_order.js:1855 +#: templates/js/translated/part.js:1831 +#: templates/js/translated/purchase_order.js:2131 +#: templates/js/translated/return_order.js:752 +#: templates/js/translated/sales_order.js:1867 msgid "This line item is overdue" msgstr "" -#: templates/js/translated/part.js:1877 -#: templates/js/translated/purchase_order.js:2188 +#: templates/js/translated/part.js:1876 +#: templates/js/translated/purchase_order.js:2198 msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1944 +#: templates/js/translated/part.js:1943 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1966 +#: templates/js/translated/part.js:1965 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2054 templates/js/translated/part.js:2366 +#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2192 +#: templates/js/translated/part.js:2174 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:2179 +msgid "Set Part Category" +msgstr "设置商品类别" + +#: templates/js/translated/part.js:2204 +msgid "Set category" +msgstr "设置类别" + +#: templates/js/translated/part.js:2259 #, fuzzy #| msgid "Parts" msgid "parts" msgstr "商品" -#: templates/js/translated/part.js:2276 +#: templates/js/translated/part.js:2352 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2390 templates/js/translated/part.js:2611 -#: templates/js/translated/stock.js:2417 +#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 +#: templates/js/translated/stock.js:2548 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2406 +#: templates/js/translated/part.js:2482 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2472 -msgid "Set the part category for the selected parts" -msgstr "" - -#: templates/js/translated/part.js:2477 -msgid "Set Part Category" -msgstr "设置商品类别" - -#: templates/js/translated/part.js:2482 -msgid "Select Part Category" -msgstr "" - -#: templates/js/translated/part.js:2495 -msgid "Category is required" -msgstr "" - -#: templates/js/translated/part.js:2595 +#: templates/js/translated/part.js:2580 #, fuzzy #| msgid "Subcategories" msgid "No subcategories found" msgstr "子类别" -#: templates/js/translated/part.js:2631 templates/js/translated/stock.js:2437 +#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2711 +#: templates/js/translated/part.js:2696 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2727 +#: templates/js/translated/part.js:2712 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2807 +#: templates/js/translated/part.js:2792 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2858 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2859 templates/js/translated/stock.js:1381 -#: templates/js/translated/stock.js:1643 +#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2863 +#: templates/js/translated/part.js:2848 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2879 +#: templates/js/translated/part.js:2864 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2893 +#: templates/js/translated/part.js:2878 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2972 templates/js/translated/part.js:2973 +#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2975 +#: templates/js/translated/part.js:2960 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2981 +#: templates/js/translated/part.js:2966 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3031 +#: templates/js/translated/part.js:3016 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3037 +#: templates/js/translated/part.js:3022 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3133 +#: templates/js/translated/part.js:3118 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3149 +#: templates/js/translated/part.js:3134 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3194 +#: templates/js/translated/part.js:3179 msgid "Minimum Stock Level" msgstr "" @@ -11445,250 +11690,250 @@ msgstr "" msgid "Variant Part" msgstr "" -#: templates/js/translated/purchase_order.js:155 +#: templates/js/translated/purchase_order.js:166 msgid "Select purchase order to duplicate" msgstr "" -#: templates/js/translated/purchase_order.js:162 +#: templates/js/translated/purchase_order.js:173 msgid "Duplicate Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:163 +#: templates/js/translated/purchase_order.js:174 msgid "Duplicate all line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:170 +#: templates/js/translated/purchase_order.js:181 msgid "Duplicate Extra Lines" msgstr "" -#: templates/js/translated/purchase_order.js:171 +#: templates/js/translated/purchase_order.js:182 msgid "Duplicate extra line items from the selected order" msgstr "" -#: templates/js/translated/purchase_order.js:192 +#: templates/js/translated/purchase_order.js:203 msgid "Edit Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:209 +#: templates/js/translated/purchase_order.js:220 msgid "Duplication Options" msgstr "" -#: templates/js/translated/purchase_order.js:436 +#: templates/js/translated/purchase_order.js:447 msgid "Complete Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:453 -#: templates/js/translated/return_order.js:195 -#: templates/js/translated/sales_order.js:485 +#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/return_order.js:207 +#: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" msgstr "" -#: templates/js/translated/purchase_order.js:459 +#: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" msgstr "" -#: templates/js/translated/purchase_order.js:464 +#: templates/js/translated/purchase_order.js:475 msgid "This order has line items which have not been marked as received." msgstr "" -#: templates/js/translated/purchase_order.js:465 -#: templates/js/translated/sales_order.js:499 +#: templates/js/translated/purchase_order.js:476 +#: templates/js/translated/sales_order.js:511 msgid "Completing this order means that the order and line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:488 +#: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:493 +#: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" msgstr "" -#: templates/js/translated/purchase_order.js:499 +#: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" msgstr "" -#: templates/js/translated/purchase_order.js:520 -#: templates/js/translated/return_order.js:149 +#: templates/js/translated/purchase_order.js:531 +#: templates/js/translated/return_order.js:161 msgid "After placing this order, line items will no longer be editable." msgstr "" -#: templates/js/translated/purchase_order.js:525 +#: templates/js/translated/purchase_order.js:536 msgid "Issue Purchase Order" msgstr "" -#: templates/js/translated/purchase_order.js:617 +#: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:642 +#: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" msgstr "" -#: templates/js/translated/purchase_order.js:651 +#: templates/js/translated/purchase_order.js:662 msgid "New supplier part" msgstr "" -#: templates/js/translated/purchase_order.js:669 +#: templates/js/translated/purchase_order.js:680 msgid "New purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:701 +#: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" msgstr "" -#: templates/js/translated/purchase_order.js:845 +#: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" msgstr "" -#: templates/js/translated/purchase_order.js:864 +#: templates/js/translated/purchase_order.js:879 msgid "No matching purchase orders" msgstr "" -#: templates/js/translated/purchase_order.js:1043 +#: templates/js/translated/purchase_order.js:1058 msgid "Select Line Items" msgstr "" -#: templates/js/translated/purchase_order.js:1044 -#: templates/js/translated/return_order.js:480 +#: templates/js/translated/purchase_order.js:1059 +#: templates/js/translated/return_order.js:492 msgid "At least one line item must be selected" msgstr "" -#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" msgstr "" -#: templates/js/translated/purchase_order.js:1085 +#: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" msgstr "" -#: templates/js/translated/purchase_order.js:1161 +#: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" msgstr "" -#: templates/js/translated/purchase_order.js:1175 +#: templates/js/translated/purchase_order.js:1190 #, fuzzy #| msgid "Barcode" msgid "Add barcode" msgstr "条形码" -#: templates/js/translated/purchase_order.js:1176 +#: templates/js/translated/purchase_order.js:1191 #, fuzzy #| msgid "Remove row" msgid "Remove barcode" msgstr "移除行" -#: templates/js/translated/purchase_order.js:1179 +#: templates/js/translated/purchase_order.js:1194 #, fuzzy #| msgid "Edit location" msgid "Specify location" msgstr "编辑仓储地" -#: templates/js/translated/purchase_order.js:1187 +#: templates/js/translated/purchase_order.js:1202 msgid "Add batch code" msgstr "" -#: templates/js/translated/purchase_order.js:1198 +#: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" msgstr "" -#: templates/js/translated/purchase_order.js:1250 +#: templates/js/translated/purchase_order.js:1265 #, fuzzy #| msgid "Serial Numbers" msgid "Serials" msgstr "序列号" -#: templates/js/translated/purchase_order.js:1275 +#: templates/js/translated/purchase_order.js:1290 msgid "Order Code" msgstr "订单编码" -#: templates/js/translated/purchase_order.js:1277 +#: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" msgstr "" -#: templates/js/translated/purchase_order.js:1299 -#: templates/js/translated/return_order.js:545 +#: templates/js/translated/purchase_order.js:1314 +#: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" msgstr "" -#: templates/js/translated/purchase_order.js:1300 +#: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" msgstr "" -#: templates/js/translated/purchase_order.js:1368 +#: templates/js/translated/purchase_order.js:1383 #, fuzzy #| msgid "Scan Barcode" msgid "Scan Item Barcode" msgstr "扫描条形码" -#: templates/js/translated/purchase_order.js:1369 +#: templates/js/translated/purchase_order.js:1384 msgid "Scan barcode on incoming item (must not match any existing stock items)" msgstr "" -#: templates/js/translated/purchase_order.js:1383 +#: templates/js/translated/purchase_order.js:1398 #, fuzzy #| msgid "Enter barcode data" msgid "Invalid barcode data" msgstr "输入条形码数据" -#: templates/js/translated/purchase_order.js:1645 -#: templates/js/translated/return_order.js:274 -#: templates/js/translated/sales_order.js:762 -#: templates/js/translated/sales_order.js:986 +#: templates/js/translated/purchase_order.js:1660 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 msgid "Order is overdue" msgstr "" -#: templates/js/translated/purchase_order.js:1707 -#: templates/js/translated/return_order.js:342 -#: templates/js/translated/sales_order.js:839 -#: templates/js/translated/sales_order.js:999 +#: templates/js/translated/purchase_order.js:1722 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1806 +#: templates/js/translated/purchase_order.js:1821 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "All selected Line items will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1839 #, fuzzy #| msgid "Allocate selected items" msgid "Delete selected Line items?" msgstr "分配选定项目" -#: templates/js/translated/purchase_order.js:1884 -#: templates/js/translated/sales_order.js:2047 +#: templates/js/translated/purchase_order.js:1894 +#: templates/js/translated/sales_order.js:2059 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1899 -#: templates/js/translated/return_order.js:464 -#: templates/js/translated/return_order.js:653 -#: templates/js/translated/sales_order.js:2060 +#: templates/js/translated/purchase_order.js:1909 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:665 +#: templates/js/translated/sales_order.js:2072 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1910 -#: templates/js/translated/return_order.js:666 -#: templates/js/translated/sales_order.js:2071 +#: templates/js/translated/purchase_order.js:1920 +#: templates/js/translated/return_order.js:678 +#: templates/js/translated/sales_order.js:2083 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2192 -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/purchase_order.js:2202 +#: templates/js/translated/sales_order.js:2013 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2193 -#: templates/js/translated/return_order.js:785 -#: templates/js/translated/sales_order.js:2002 +#: templates/js/translated/purchase_order.js:2203 +#: templates/js/translated/return_order.js:797 +#: templates/js/translated/sales_order.js:2014 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2194 -#: templates/js/translated/return_order.js:789 -#: templates/js/translated/sales_order.js:2008 +#: templates/js/translated/purchase_order.js:2204 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2020 msgid "Delete line item" msgstr "" @@ -11719,975 +11964,1019 @@ msgstr "没有找到与所选商品相匹配的标签" msgid "Add Customer" msgstr "" -#: templates/js/translated/return_order.js:119 +#: templates/js/translated/return_order.js:131 #, fuzzy #| msgid "Create Purchase Order" msgid "Create Return Order" msgstr "创建采购订单" -#: templates/js/translated/return_order.js:134 +#: templates/js/translated/return_order.js:146 msgid "Edit Return Order" msgstr "" -#: templates/js/translated/return_order.js:154 +#: templates/js/translated/return_order.js:166 msgid "Issue Return Order" msgstr "" -#: templates/js/translated/return_order.js:171 +#: templates/js/translated/return_order.js:183 #, fuzzy #| msgid "Are you sure you wish to cancel this build?" msgid "Are you sure you wish to cancel this Return Order?" msgstr "是否确定取消生产?" -#: templates/js/translated/return_order.js:178 +#: templates/js/translated/return_order.js:190 #, fuzzy #| msgid "Cancel order" msgid "Cancel Return Order" msgstr "取消订单" -#: templates/js/translated/return_order.js:203 +#: templates/js/translated/return_order.js:215 #, fuzzy #| msgid "Complete Build Order" msgid "Complete Return Order" msgstr "生产订单完成" -#: templates/js/translated/return_order.js:251 +#: templates/js/translated/return_order.js:263 #, fuzzy #| msgid "No parameters found" msgid "No return orders found" msgstr "无指定参数" -#: templates/js/translated/return_order.js:288 -#: templates/js/translated/sales_order.js:776 +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:546 +#: templates/js/translated/return_order.js:558 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:677 -#: templates/js/translated/sales_order.js:2207 +#: templates/js/translated/return_order.js:689 +#: templates/js/translated/sales_order.js:2219 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:782 +#: templates/js/translated/return_order.js:794 msgid "Mark item as received" msgstr "" -#: templates/js/translated/sales_order.js:146 +#: templates/js/translated/sales_order.js:158 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:161 +#: templates/js/translated/sales_order.js:173 msgid "Edit Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:276 +#: templates/js/translated/sales_order.js:288 msgid "No stock items have been allocated to this shipment" msgstr "" -#: templates/js/translated/sales_order.js:281 +#: templates/js/translated/sales_order.js:293 msgid "The following stock items will be shipped" msgstr "" -#: templates/js/translated/sales_order.js:321 +#: templates/js/translated/sales_order.js:333 msgid "Complete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:345 +#: templates/js/translated/sales_order.js:357 msgid "Confirm Shipment" msgstr "" -#: templates/js/translated/sales_order.js:401 +#: templates/js/translated/sales_order.js:413 msgid "No pending shipments found" msgstr "" -#: templates/js/translated/sales_order.js:405 +#: templates/js/translated/sales_order.js:417 msgid "No stock items have been allocated to pending shipments" msgstr "" -#: templates/js/translated/sales_order.js:415 +#: templates/js/translated/sales_order.js:427 msgid "Complete Shipments" msgstr "" -#: templates/js/translated/sales_order.js:437 +#: templates/js/translated/sales_order.js:449 msgid "Skip" msgstr "" -#: templates/js/translated/sales_order.js:498 +#: templates/js/translated/sales_order.js:510 msgid "This order has line items which have not been completed." msgstr "" -#: templates/js/translated/sales_order.js:520 +#: templates/js/translated/sales_order.js:532 #, fuzzy #| msgid "New Sales Order" msgid "Issue this Sales Order?" msgstr "新建销售订单" -#: templates/js/translated/sales_order.js:525 +#: templates/js/translated/sales_order.js:537 #, fuzzy #| msgid "New Sales Order" msgid "Issue Sales Order" msgstr "新建销售订单" -#: templates/js/translated/sales_order.js:544 +#: templates/js/translated/sales_order.js:556 msgid "Cancel Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:549 +#: templates/js/translated/sales_order.js:561 msgid "Cancelling this order means that the order will no longer be editable." msgstr "" -#: templates/js/translated/sales_order.js:603 +#: templates/js/translated/sales_order.js:615 msgid "Create New Shipment" msgstr "" -#: templates/js/translated/sales_order.js:713 +#: templates/js/translated/sales_order.js:725 msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:896 +#: templates/js/translated/sales_order.js:908 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:899 +#: templates/js/translated/sales_order.js:911 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:904 +#: templates/js/translated/sales_order.js:916 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:921 +#: templates/js/translated/sales_order.js:933 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:936 +#: templates/js/translated/sales_order.js:948 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:969 +#: templates/js/translated/sales_order.js:981 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:994 +#: templates/js/translated/sales_order.js:1006 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1018 -#: templates/js/translated/sales_order.js:1515 +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1527 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1036 +#: templates/js/translated/sales_order.js:1048 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1040 +#: templates/js/translated/sales_order.js:1052 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1207 +#: templates/js/translated/sales_order.js:1219 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1258 +#: templates/js/translated/sales_order.js:1270 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/sales_order.js:1259 +#: templates/js/translated/sales_order.js:1271 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1463 +#: templates/js/translated/sales_order.js:1475 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1555 +#: templates/js/translated/sales_order.js:1567 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1569 +#: templates/js/translated/sales_order.js:1581 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/sales_order.js:1570 +#: templates/js/translated/sales_order.js:1582 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/stock.js:1688 +#: templates/js/translated/sales_order.js:1621 +#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/stock.js:1687 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/sales_order.js:1629 +#: templates/js/translated/sales_order.js:1717 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1985 +#: templates/js/translated/sales_order.js:1997 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:1989 +#: templates/js/translated/sales_order.js:2001 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:1998 -#: templates/js/translated/sales_order.js:2185 +#: templates/js/translated/sales_order.js:2010 +#: templates/js/translated/sales_order.js:2197 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2012 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2015 +#: templates/js/translated/sales_order.js:2027 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2086 +#: templates/js/translated/sales_order.js:2098 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2193 +#: templates/js/translated/sales_order.js:2205 msgid "Update Unit Price" msgstr "" -#: templates/js/translated/search.js:312 +#: templates/js/translated/search.js:270 msgid "No results" msgstr "" -#: templates/js/translated/search.js:334 templates/search.html:25 +#: templates/js/translated/search.js:292 templates/search.html:25 msgid "Enter search query" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "result" msgstr "" -#: templates/js/translated/search.js:384 +#: templates/js/translated/search.js:342 msgid "results" msgstr "" -#: templates/js/translated/search.js:394 +#: templates/js/translated/search.js:352 msgid "Minimize results" msgstr "" -#: templates/js/translated/search.js:397 +#: templates/js/translated/search.js:355 msgid "Remove results" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:97 msgid "Serialize Stock Item" msgstr "" -#: templates/js/translated/stock.js:129 +#: templates/js/translated/stock.js:128 msgid "Confirm Stock Serialization" msgstr "" -#: templates/js/translated/stock.js:138 +#: templates/js/translated/stock.js:137 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:173 +#: templates/js/translated/stock.js:172 msgid "Edit Stock Location" msgstr "编辑仓储地点" -#: templates/js/translated/stock.js:188 +#: templates/js/translated/stock.js:187 msgid "New Stock Location" msgstr "" -#: templates/js/translated/stock.js:190 +#: templates/js/translated/stock.js:189 msgid "Create another location after this one" msgstr "" -#: templates/js/translated/stock.js:191 +#: templates/js/translated/stock.js:190 #, fuzzy #| msgid "Stock item created" msgid "Stock location created" msgstr "库存项已创建" -#: templates/js/translated/stock.js:205 +#: templates/js/translated/stock.js:204 msgid "Are you sure you want to delete this stock location?" msgstr "确实要删除此仓储地点吗?" -#: templates/js/translated/stock.js:212 +#: templates/js/translated/stock.js:211 msgid "Move to parent stock location" msgstr "" -#: templates/js/translated/stock.js:221 +#: templates/js/translated/stock.js:220 msgid "Delete Stock Location" msgstr "删除仓储地点" -#: templates/js/translated/stock.js:225 +#: templates/js/translated/stock.js:224 msgid "Action for stock items in this stock location" msgstr "" -#: templates/js/translated/stock.js:230 +#: templates/js/translated/stock.js:229 msgid "Action for sub-locations" msgstr "" -#: templates/js/translated/stock.js:284 +#: templates/js/translated/stock.js:283 msgid "This part cannot be serialized" msgstr "" -#: templates/js/translated/stock.js:320 +#: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" msgstr "" -#: templates/js/translated/stock.js:329 +#: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" msgstr "" -#: templates/js/translated/stock.js:335 +#: templates/js/translated/stock.js:334 msgid "Enter serial numbers for new stock (or leave blank)" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:405 msgid "Stock item duplicated" msgstr "" -#: templates/js/translated/stock.js:426 +#: templates/js/translated/stock.js:425 msgid "Duplicate Stock Item" msgstr "" -#: templates/js/translated/stock.js:442 +#: templates/js/translated/stock.js:441 msgid "Are you sure you want to delete this stock item?" msgstr "" -#: templates/js/translated/stock.js:447 +#: templates/js/translated/stock.js:446 msgid "Delete Stock Item" msgstr "" -#: templates/js/translated/stock.js:468 +#: templates/js/translated/stock.js:467 msgid "Edit Stock Item" msgstr "" -#: templates/js/translated/stock.js:510 +#: templates/js/translated/stock.js:509 msgid "Create another item after this one" msgstr "" -#: templates/js/translated/stock.js:522 +#: templates/js/translated/stock.js:521 msgid "Created new stock item" msgstr "" -#: templates/js/translated/stock.js:535 +#: templates/js/translated/stock.js:534 msgid "Created multiple stock items" msgstr "" -#: templates/js/translated/stock.js:560 +#: templates/js/translated/stock.js:559 msgid "Find Serial Number" msgstr "" -#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:565 +#: templates/js/translated/stock.js:563 templates/js/translated/stock.js:564 msgid "Enter serial number" msgstr "" -#: templates/js/translated/stock.js:581 +#: templates/js/translated/stock.js:580 msgid "Enter a serial number" msgstr "" -#: templates/js/translated/stock.js:601 +#: templates/js/translated/stock.js:600 msgid "No matching serial number" msgstr "" -#: templates/js/translated/stock.js:610 +#: templates/js/translated/stock.js:609 msgid "More than one matching result found" msgstr "" -#: templates/js/translated/stock.js:718 +#: templates/js/translated/stock.js:717 msgid "Confirm stock assignment" msgstr "" -#: templates/js/translated/stock.js:719 +#: templates/js/translated/stock.js:718 msgid "Assign Stock to Customer" msgstr "" -#: templates/js/translated/stock.js:796 +#: templates/js/translated/stock.js:795 msgid "Warning: Merge operation cannot be reversed" msgstr "" -#: templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:796 msgid "Some information will be lost when merging stock items" msgstr "" -#: templates/js/translated/stock.js:799 +#: templates/js/translated/stock.js:798 msgid "Stock transaction history will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:800 +#: templates/js/translated/stock.js:799 msgid "Supplier part information will be deleted for merged items" msgstr "" -#: templates/js/translated/stock.js:891 +#: templates/js/translated/stock.js:890 msgid "Confirm stock item merge" msgstr "" -#: templates/js/translated/stock.js:892 +#: templates/js/translated/stock.js:891 msgid "Merge Stock Items" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:986 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:988 +#: templates/js/translated/stock.js:987 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:994 +#: templates/js/translated/stock.js:993 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:995 +#: templates/js/translated/stock.js:994 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:999 +#: templates/js/translated/stock.js:998 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:1000 +#: templates/js/translated/stock.js:999 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:1004 +#: templates/js/translated/stock.js:1003 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1005 users/models.py:244 +#: templates/js/translated/stock.js:1004 users/models.py:249 msgid "Add" msgstr "添加" -#: templates/js/translated/stock.js:1009 +#: templates/js/translated/stock.js:1008 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:1106 +#: templates/js/translated/stock.js:1105 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1140 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 msgid "Select Stock Items" msgstr "选择库存项" -#: templates/js/translated/stock.js:1141 -msgid "You must select at least one available stock item" +#: templates/js/translated/stock.js:1140 +msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1168 +#: templates/js/translated/stock.js:1167 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1304 +#: templates/js/translated/stock.js:1303 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1306 +#: templates/js/translated/stock.js:1305 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1311 +#: templates/js/translated/stock.js:1310 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1373 +#: templates/js/translated/stock.js:1372 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1376 +#: templates/js/translated/stock.js:1375 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1400 +#: templates/js/translated/stock.js:1399 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1464 +#: templates/js/translated/stock.js:1463 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1626 +#: templates/js/translated/stock.js:1625 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1648 +#: templates/js/translated/stock.js:1647 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1680 +#: templates/js/translated/stock.js:1679 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1684 +#: templates/js/translated/stock.js:1683 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1692 +#: templates/js/translated/stock.js:1691 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1698 +#: templates/js/translated/stock.js:1697 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1746 +#: templates/js/translated/stock.js:1753 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1762 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1811 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1866 #, fuzzy #| msgid "Stock Items" msgid "stock items" msgstr "库存项" -#: templates/js/translated/stock.js:1850 +#: templates/js/translated/stock.js:1871 +#, fuzzy +#| msgid "Stock Location" +msgid "Scan to location" +msgstr "仓储地点" + +#: templates/js/translated/stock.js:1882 +#, fuzzy +#| msgid "Stock Locations" +msgid "Stock Actions" +msgstr "仓储地点" + +#: templates/js/translated/stock.js:1929 +#, fuzzy +#| msgid "Installed into assembly" +msgid "Load installed items" +msgstr "安装到组装中" + +#: templates/js/translated/stock.js:2007 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:1855 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:1858 +#: templates/js/translated/stock.js:2015 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:1861 +#: templates/js/translated/stock.js:2018 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:1863 +#: templates/js/translated/stock.js:2020 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:1868 +#: templates/js/translated/stock.js:2025 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:1870 +#: templates/js/translated/stock.js:2027 #, fuzzy #| msgid "Accept as consumed by this build order" msgid "Stock item has been consumed by a build order" msgstr "接受此构建订单所消耗的内容" -#: templates/js/translated/stock.js:1874 +#: templates/js/translated/stock.js:2031 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:1876 +#: templates/js/translated/stock.js:2033 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:1881 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:1883 +#: templates/js/translated/stock.js:2040 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:1885 +#: templates/js/translated/stock.js:2042 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:1889 -#: templates/js/translated/table_filters.js:296 +#: templates/js/translated/stock.js:2046 +#: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2188 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2078 +#: templates/js/translated/stock.js:2235 #, fuzzy #| msgid "Stock Source" msgid "Stock Value" msgstr "库存来源" -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2358 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2319 +#: templates/js/translated/stock.js:2450 #, fuzzy #| msgid "Stock Locations" msgid "stock locations" msgstr "仓储地点" -#: templates/js/translated/stock.js:2476 +#: templates/js/translated/stock.js:2607 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2583 +#: templates/js/translated/stock.js:2714 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2587 +#: templates/js/translated/stock.js:2718 #, fuzzy #| msgid "Change" msgid "No changes" msgstr "更改" -#: templates/js/translated/stock.js:2599 +#: templates/js/translated/stock.js:2730 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2621 +#: templates/js/translated/stock.js:2752 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2638 +#: templates/js/translated/stock.js:2769 #, fuzzy #| msgid "Sales Order Settings" msgid "Build order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2653 +#: templates/js/translated/stock.js:2784 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2670 +#: templates/js/translated/stock.js:2801 #, fuzzy #| msgid "Sales Order Settings" msgid "Sales Order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2687 +#: templates/js/translated/stock.js:2818 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2706 +#: templates/js/translated/stock.js:2837 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2724 +#: templates/js/translated/stock.js:2855 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2742 +#: templates/js/translated/stock.js:2873 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2750 +#: templates/js/translated/stock.js:2881 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2826 +#: templates/js/translated/stock.js:2953 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2876 templates/js/translated/stock.js:2911 +#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:2929 +#: templates/js/translated/stock.js:3056 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:2950 +#: templates/js/translated/stock.js:3077 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:2951 +#: templates/js/translated/stock.js:3078 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3080 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:2954 +#: templates/js/translated/stock.js:3081 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:2955 +#: templates/js/translated/stock.js:3082 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:2956 +#: templates/js/translated/stock.js:3083 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:2969 +#: templates/js/translated/stock.js:3096 msgid "Select part to install" msgstr "" +#: templates/js/translated/stock.js:3152 +#, fuzzy +#| msgid "Select Stock Items" +msgid "Select one or more stock items" +msgstr "选择库存项" + +#: templates/js/translated/stock.js:3165 +#, fuzzy +#| msgid "Select Stock Items" +msgid "Selected stock items" +msgstr "选择库存项" + +#: templates/js/translated/stock.js:3169 +#, fuzzy +#| msgid "Stock Settings" +msgid "Change Stock Status" +msgstr "库存设置" + #: templates/js/translated/table_filters.js:50 msgid "Has project code" msgstr "" -#: templates/js/translated/table_filters.js:59 -#: templates/js/translated/table_filters.js:518 -#: templates/js/translated/table_filters.js:530 -#: templates/js/translated/table_filters.js:571 +#: templates/js/translated/table_filters.js:65 +#: templates/js/translated/table_filters.js:540 +#: templates/js/translated/table_filters.js:552 +#: templates/js/translated/table_filters.js:593 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:64 -#: templates/js/translated/table_filters.js:535 -#: templates/js/translated/table_filters.js:561 -#: templates/js/translated/table_filters.js:576 +#: templates/js/translated/table_filters.js:70 +#: templates/js/translated/table_filters.js:557 +#: templates/js/translated/table_filters.js:583 +#: templates/js/translated/table_filters.js:598 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:72 -#: templates/js/translated/table_filters.js:458 -#: templates/js/translated/table_filters.js:543 -#: templates/js/translated/table_filters.js:584 +#: templates/js/translated/table_filters.js:78 +#: templates/js/translated/table_filters.js:464 +#: templates/js/translated/table_filters.js:565 +#: templates/js/translated/table_filters.js:606 msgid "Assigned to me" msgstr "" -#: templates/js/translated/table_filters.js:128 +#: templates/js/translated/table_filters.js:134 msgid "Trackable Part" msgstr "可追溯商品" -#: templates/js/translated/table_filters.js:132 +#: templates/js/translated/table_filters.js:138 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:136 +#: templates/js/translated/table_filters.js:142 msgid "Has Available Stock" msgstr "" -#: templates/js/translated/table_filters.js:152 +#: templates/js/translated/table_filters.js:158 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:164 -#: templates/js/translated/table_filters.js:692 +#: templates/js/translated/table_filters.js:170 +#: templates/js/translated/table_filters.js:714 msgid "Has Pricing" msgstr "" -#: templates/js/translated/table_filters.js:204 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:210 +#: templates/js/translated/table_filters.js:297 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:205 +#: templates/js/translated/table_filters.js:211 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:224 -#: templates/js/translated/table_filters.js:225 -#: templates/js/translated/table_filters.js:624 +#: templates/js/translated/table_filters.js:230 +#: templates/js/translated/table_filters.js:231 +#: templates/js/translated/table_filters.js:646 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:233 -#: templates/js/translated/table_filters.js:672 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:694 msgid "Subscribed" msgstr "" -#: templates/js/translated/table_filters.js:244 -#: templates/js/translated/table_filters.js:326 +#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:332 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:247 -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:253 +#: templates/js/translated/table_filters.js:339 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:248 -#: templates/js/translated/table_filters.js:334 +#: templates/js/translated/table_filters.js:254 +#: templates/js/translated/table_filters.js:340 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:251 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/table_filters.js:257 +#: templates/js/translated/table_filters.js:343 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:252 -#: templates/js/translated/table_filters.js:338 +#: templates/js/translated/table_filters.js:258 +#: templates/js/translated/table_filters.js:344 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:256 -#: templates/js/translated/table_filters.js:329 -#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:261 +#: templates/js/translated/table_filters.js:262 +#: templates/js/translated/table_filters.js:335 +#: templates/js/translated/table_filters.js:336 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:260 -#: templates/js/translated/table_filters.js:351 +#: templates/js/translated/table_filters.js:266 +#: templates/js/translated/table_filters.js:357 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:271 -#: templates/js/translated/table_filters.js:613 +#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:635 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:278 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:277 +#: templates/js/translated/table_filters.js:283 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:281 +#: templates/js/translated/table_filters.js:287 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:288 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:293 msgid "Stock is available for use" msgstr "" -#: templates/js/translated/table_filters.js:292 +#: templates/js/translated/table_filters.js:298 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:297 +#: templates/js/translated/table_filters.js:303 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:308 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:312 msgid "In Production" msgstr "正在生产" -#: templates/js/translated/table_filters.js:307 +#: templates/js/translated/table_filters.js:313 msgid "Show items which are in production" msgstr "显示正在生产的项目" -#: templates/js/translated/table_filters.js:311 +#: templates/js/translated/table_filters.js:317 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:312 +#: templates/js/translated/table_filters.js:318 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:316 +#: templates/js/translated/table_filters.js:322 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:317 +#: templates/js/translated/table_filters.js:323 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:322 +#: templates/js/translated/table_filters.js:328 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:342 -#: templates/js/translated/table_filters.js:343 +#: templates/js/translated/table_filters.js:348 +#: templates/js/translated/table_filters.js:349 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:346 +#: templates/js/translated/table_filters.js:352 msgid "Has batch code" msgstr "" -#: templates/js/translated/table_filters.js:354 -msgid "Tracked" -msgstr "" - -#: templates/js/translated/table_filters.js:355 +#: templates/js/translated/table_filters.js:361 msgid "Stock item is tracked by either batch code or serial number" msgstr "" -#: templates/js/translated/table_filters.js:360 +#: templates/js/translated/table_filters.js:366 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:367 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:365 +#: templates/js/translated/table_filters.js:371 msgid "Expiry Date before" msgstr "" -#: templates/js/translated/table_filters.js:369 +#: templates/js/translated/table_filters.js:375 msgid "Expiry Date after" msgstr "" -#: templates/js/translated/table_filters.js:382 +#: templates/js/translated/table_filters.js:388 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:388 +#: templates/js/translated/table_filters.js:394 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:402 +#: templates/js/translated/table_filters.js:408 msgid "Test Passed" msgstr "" -#: templates/js/translated/table_filters.js:406 +#: templates/js/translated/table_filters.js:412 msgid "Include Installed Items" msgstr "" -#: templates/js/translated/table_filters.js:445 +#: templates/js/translated/table_filters.js:451 msgid "Build status" msgstr "生产状态" -#: templates/js/translated/table_filters.js:625 +#: templates/js/translated/table_filters.js:647 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:652 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:638 +#: templates/js/translated/table_filters.js:660 msgid "Available stock" msgstr "" -#: templates/js/translated/table_filters.js:646 -#: templates/js/translated/table_filters.js:742 +#: templates/js/translated/table_filters.js:668 +#: templates/js/translated/table_filters.js:764 #, fuzzy #| msgid "Units" msgid "Has Units" msgstr "单位" -#: templates/js/translated/table_filters.js:647 +#: templates/js/translated/table_filters.js:669 #, fuzzy #| msgid "Parameter units" msgid "Part has defined units" msgstr "参数单位" -#: templates/js/translated/table_filters.js:651 +#: templates/js/translated/table_filters.js:673 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:652 +#: templates/js/translated/table_filters.js:674 msgid "Part has internal part number" msgstr "商品有内部编号" -#: templates/js/translated/table_filters.js:656 +#: templates/js/translated/table_filters.js:678 msgid "In stock" msgstr "" -#: templates/js/translated/table_filters.js:664 +#: templates/js/translated/table_filters.js:686 msgid "Purchasable" msgstr "" -#: templates/js/translated/table_filters.js:676 +#: templates/js/translated/table_filters.js:698 msgid "Has stocktake entries" msgstr "" -#: templates/js/translated/table_filters.js:738 +#: templates/js/translated/table_filters.js:760 #, fuzzy #| msgid "Units" msgid "Has Choices" @@ -12721,51 +13010,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:561 +#: templates/js/translated/tables.js:537 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:564 +#: templates/js/translated/tables.js:540 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:545 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "to" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "of" msgstr "" -#: templates/js/translated/tables.js:571 +#: templates/js/translated/tables.js:547 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:578 +#: templates/js/translated/tables.js:554 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:581 +#: templates/js/translated/tables.js:557 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:587 +#: templates/js/translated/tables.js:563 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:590 +#: templates/js/translated/tables.js:566 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:593 +#: templates/js/translated/tables.js:569 msgid "All" msgstr "" @@ -12952,50 +13241,6 @@ msgstr "电子邮件设置" msgid "Email settings not configured" msgstr "电子邮件设置未配置" -#: templates/stock_table.html:17 -msgid "Barcode Actions" -msgstr "" - -#: templates/stock_table.html:28 -msgid "Stock Options" -msgstr "" - -#: templates/stock_table.html:33 -msgid "Add to selected stock items" -msgstr "" - -#: templates/stock_table.html:34 -msgid "Remove from selected stock items" -msgstr "" - -#: templates/stock_table.html:35 -msgid "Stocktake selected stock items" -msgstr "" - -#: templates/stock_table.html:36 -msgid "Move selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge selected stock items" -msgstr "" - -#: templates/stock_table.html:37 -msgid "Merge stock" -msgstr "" - -#: templates/stock_table.html:38 -msgid "Order selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete selected items" -msgstr "" - -#: templates/stock_table.html:42 -msgid "Delete stock" -msgstr "" - #: templates/yesnolabel.html:4 msgid "Yes" msgstr "确定" @@ -13028,38 +13273,79 @@ msgstr "权限" msgid "Important dates" msgstr "重要日期" -#: users/models.py:231 +#: users/models.py:236 msgid "Permission set" msgstr "权限设置" -#: users/models.py:239 +#: users/models.py:244 msgid "Group" msgstr "群组" -#: users/models.py:242 +#: users/models.py:247 msgid "View" msgstr "视图" -#: users/models.py:242 +#: users/models.py:247 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:244 +#: users/models.py:249 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:246 +#: users/models.py:251 msgid "Change" msgstr "更改" -#: users/models.py:246 +#: users/models.py:251 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:248 +#: users/models.py:253 msgid "Permission to delete items" msgstr "删除项目权限" +#~ msgid "Build to allocate parts" +#~ msgstr "生产以分配部件" + +#~ msgid "Untracked stock has been fully allocated for this Build Order" +#~ msgstr "未跟踪的库存已完全分配给此生产订单" + +#~ msgid "Untracked stock has not been fully allocated for this Build Order" +#~ msgstr "未跟踪的库存尚未完全分配给此生产订单" + +#~ msgid "Allocate selected items" +#~ msgstr "分配选定项目" + +#~ msgid "This Build Order does not have any associated untracked BOM items" +#~ msgstr "此构建订单没有任何关联的 BOM 项目" + +#~ msgid "Output Actions" +#~ msgstr "输出操作" + +#~ msgid "Complete selected build outputs" +#~ msgstr "完成选定的构建输出" + +#, fuzzy +#~| msgid "Complete selected build outputs" +#~ msgid "Scrap selected build outputs" +#~ msgstr "完成选定的构建输出" + +#~ msgid "Delete selected build outputs" +#~ msgstr "删除选中的构建输出" + +#~ msgid "All untracked stock items have been allocated" +#~ msgstr "所有未跟踪的库存项目都已分配" + +#~ msgid "Delete Parts" +#~ msgstr "删除商品" + +#~ msgid "Options" +#~ msgstr "选项" + +#~ msgid "Set Category" +#~ msgstr "设置类别" + #, python-format #~ msgid "This Build Order is a child of Build Order %(link)s" #~ msgstr "此构建订单是 %(link)s 订单的一个子订单" From 0458b5c53aaec127be59977e149991832502423c Mon Sep 17 00:00:00 2001 From: Oliver Date: Sat, 24 Jun 2023 22:31:52 +1000 Subject: [PATCH 049/103] Variant low stock (#5102) * Handle FileNotFoundError * Adjust "low_stock" query filter - Include variant stock --- InvenTree/InvenTree/version.py | 2 +- InvenTree/part/api.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 8735a8253c..101f95e822 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -24,7 +24,7 @@ INVENTREE_SW_VERSION = "0.12.0 dev" try: main_repo = Repo(pathlib.Path(__file__).parent.parent.parent) main_commit = main_repo[main_repo.head()] -except NotGitRepository: +except (NotGitRepository, FileNotFoundError): main_commit = None diff --git a/InvenTree/part/api.py b/InvenTree/part/api.py index 20878fae13..d88791df09 100644 --- a/InvenTree/part/api.py +++ b/InvenTree/part/api.py @@ -856,10 +856,10 @@ class PartFilter(rest_filters.FilterSet): if str2bool(value): # Ignore any parts which do not have a specified 'minimum_stock' level # Filter items which have an 'in_stock' level lower than 'minimum_stock' - return queryset.exclude(minimum_stock=0).filter(Q(in_stock__lt=F('minimum_stock'))) + return queryset.exclude(minimum_stock=0).filter(Q(total_in_stock__lt=F('minimum_stock'))) else: # Filter items which have an 'in_stock' level higher than 'minimum_stock' - return queryset.filter(Q(in_stock__gte=F('minimum_stock'))) + return queryset.filter(Q(total_in_stock__gte=F('minimum_stock'))) # has_stock filter has_stock = rest_filters.BooleanFilter(label='Has stock', method='filter_has_stock') From a83a71b3a3ed63ffd268490cd9c8f87df81b25ad Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 26 Jun 2023 01:43:07 +0200 Subject: [PATCH 050/103] Add Notifications shortcut (#5104) * add notify_users shortcut * make html template optional --- InvenTree/InvenTree/helpers_model.py | 71 +++++++++++++++++----------- InvenTree/common/notifications.py | 2 +- 2 files changed, 45 insertions(+), 28 deletions(-) diff --git a/InvenTree/InvenTree/helpers_model.py b/InvenTree/InvenTree/helpers_model.py index 278b8d7557..5fa514e682 100644 --- a/InvenTree/InvenTree/helpers_model.py +++ b/InvenTree/InvenTree/helpers_model.py @@ -262,32 +262,49 @@ def notify_responsible(instance, sender, content: NotificationBody = InvenTreeNo content (NotificationBody, optional): _description_. Defaults to InvenTreeNotificationBodies.NewOrder. exclude (User, optional): User instance that should be excluded. Defaults to None. """ - if instance.responsible is not None: - # Setup context for notification parsing - content_context = { - 'instance': str(instance), - 'verbose_name': sender._meta.verbose_name, - 'app_label': sender._meta.app_label, - 'model_name': sender._meta.model_name, - } + notify_users([instance.responsible], instance, sender, content=content, exclude=exclude) - # Setup notification context - context = { - 'instance': instance, - 'name': content.name.format(**content_context), - 'message': content.message.format(**content_context), - 'link': InvenTree.helpers_model.construct_absolute_url(instance.get_absolute_url()), - 'template': { - 'html': content.template.format(**content_context), - 'subject': content.name.format(**content_context), - } - } - # Create notification - trigger_notification( - instance, - content.slug.format(**content_context), - targets=[instance.responsible], - target_exclude=[exclude], - context=context, - ) +def notify_users(users, instance, sender, content: NotificationBody = InvenTreeNotificationBodies.NewOrder, exclude=None): + """Notify all passed users or groups. + + Parses the supplied content with the provided instance and sender and sends a notification to all users, + excluding the optional excluded list. + + Args: + users: List of users or groups to notify + instance: The newly created instance + sender: Sender model reference + content (NotificationBody, optional): _description_. Defaults to InvenTreeNotificationBodies.NewOrder. + exclude (User, optional): User instance that should be excluded. Defaults to None. + """ + # Setup context for notification parsing + content_context = { + 'instance': str(instance), + 'verbose_name': sender._meta.verbose_name, + 'app_label': sender._meta.app_label, + 'model_name': sender._meta.model_name, + } + + # Setup notification context + context = { + 'instance': instance, + 'name': content.name.format(**content_context), + 'message': content.message.format(**content_context), + 'link': InvenTree.helpers_model.construct_absolute_url(instance.get_absolute_url()), + 'template': { + 'subject': content.name.format(**content_context), + } + } + + if content.template: + context['template']['html'] = content.template.format(**content_context) + + # Create notification + trigger_notification( + instance, + content.slug.format(**content_context), + targets=users, + target_exclude=[exclude], + context=context, + ) diff --git a/InvenTree/common/notifications.py b/InvenTree/common/notifications.py index 6abf8999d8..7e0124da1a 100644 --- a/InvenTree/common/notifications.py +++ b/InvenTree/common/notifications.py @@ -279,7 +279,7 @@ class NotificationBody: name: str slug: str message: str - template: str + template: str = None class InvenTreeNotificationBodies: From 73e0d03abfe1d9d17c13deb2454c5a2aa6382ab6 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Mon, 26 Jun 2023 01:43:57 +0200 Subject: [PATCH 051/103] Merge workflows (#5103) * merge workflows from https://github.com/inventree/InvenTree/pull/5087 * syntax fix --- .github/workflows/migration_test.yaml | 117 -------------------------- .github/workflows/qc_checks.yaml | 83 ++++++++++++++++++ 2 files changed, 83 insertions(+), 117 deletions(-) delete mode 100644 .github/workflows/migration_test.yaml diff --git a/.github/workflows/migration_test.yaml b/.github/workflows/migration_test.yaml deleted file mode 100644 index 6fa9431f2c..0000000000 --- a/.github/workflows/migration_test.yaml +++ /dev/null @@ -1,117 +0,0 @@ -# This workflow ensures that any database migrations apply cleanly to a "production" database -# On a PR to master, the workflow will run against a "sample" production database, -# which is sitting at the current "master" migration level -# On a push to master, the workflow will also commit any migrations to the "production" database - -name: Migration Testing - -on: - push: - branches: - - master - pull_request: - branches: - - master - -env: - python_version: 3.9 - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - INVENTREE_MEDIA_ROOT: ../test_inventree_media - INVENTREE_STATIC_ROOT: ../test_inventree_static - INVENTREE_BACKUP_DIR: ../test_inventree_backup - INVENTREE_DEBUG: info - INVENTREE_PLUGINS_ENABLED: false - -jobs: - paths-filter: - name: Filter - runs-on: ubuntu-latest - - outputs: - migrations: ${{ steps.filter.outputs.migrations }} - - steps: - - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0 - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - migrations: - - '**/migrations/**' - - '.github/workflows**' - - migration-tests: - name: Run Migration Unit Tests - runs-on: ubuntu-latest - needs: paths-filter - if: needs.paths-filter.outputs.migrations == 'true' - - env: - INVENTREE_DB_ENGINE: django.db.backends.postgresql - INVENTREE_DB_NAME: inventree - INVENTREE_DB_USER: inventree - INVENTREE_DB_PASSWORD: password - INVENTREE_DB_HOST: '127.0.0.1' - INVENTREE_DB_PORT: 5432 - - services: - postgres: - image: postgres:14 - env: - POSTGRES_USER: inventree - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - - steps: - - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0 - - name: Environment Setup - uses: ./.github/actions/setup - with: - apt-dependency: gettext poppler-utils libpq-dev - pip-dependency: psycopg2 - dev-install: true - update: true - - name: Run Tests - run: invoke test --migrations --report - - migrations-checks: - name: Run Database Migrations - runs-on: ubuntu-latest - needs: paths-filter - if: needs.paths-filter.outputs.migrations == 'true' - - env: - INVENTREE_DB_ENGINE: sqlite3 - INVENTREE_DB_NAME: /home/runner/work/InvenTree/db.sqlite3 - - steps: - - uses: actions/checkout@v3 - name: Checkout Code - - name: Environment Setup - uses: ./.github/actions/setup - with: - install: true - - name: Fetch Database - run: | - git clone --depth 1 https://github.com/inventree/test-db ./test-db - - - name: Latest Database - run: | - cp test-db/latest.sqlite3 /home/runner/work/InvenTree/db.sqlite3 - chmod +rw /home/runner/work/InvenTree/db.sqlite3 - invoke migrate - - - name: 0.10.0 Database - run: | - rm /home/runner/work/InvenTree/db.sqlite3 - cp test-db/stable_0.10.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3 - chmod +rw /home/runner/work/InvenTree/db.sqlite3 - invoke migrate - - - name: 0.11.0 Database - run: | - rm /home/runner/work/InvenTree/db.sqlite3 - cp test-db/stable_0.11.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3 - chmod +rw /home/runner/work/InvenTree/db.sqlite3 - invoke migrate diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml index 439fcf59c0..569bd90de5 100644 --- a/.github/workflows/qc_checks.yaml +++ b/.github/workflows/qc_checks.yaml @@ -28,6 +28,7 @@ jobs: outputs: server: ${{ steps.filter.outputs.server }} + migrations: ${{ steps.filter.outputs.migrations }} steps: - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0 @@ -39,6 +40,9 @@ jobs: - 'InvenTree/**' - 'requirements.txt' - 'requirements-dev.txt' + migrations: + - '**/migrations/**' + - '.github/workflows**' pep_style: name: Style [Python] @@ -297,3 +301,82 @@ jobs: run: invoke test - name: Data Export Test uses: ./.github/actions/migration + + migration-tests: + name: Run Migration Unit Tests + runs-on: ubuntu-latest + needs: paths-filter + if: github.ref == 'refs/heads/master' && needs.paths-filter.outputs.migrations == 'true' + + env: + INVENTREE_DB_ENGINE: django.db.backends.postgresql + INVENTREE_DB_NAME: inventree + INVENTREE_DB_USER: inventree + INVENTREE_DB_PASSWORD: password + INVENTREE_DB_HOST: '127.0.0.1' + INVENTREE_DB_PORT: 5432 + INVENTREE_DEBUG: info + INVENTREE_PLUGINS_ENABLED: false + + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: inventree + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + + steps: + - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # pin@v3.1.0 + - name: Environment Setup + uses: ./.github/actions/setup + with: + apt-dependency: gettext poppler-utils libpq-dev + pip-dependency: psycopg2 + dev-install: true + update: true + - name: Run Tests + run: invoke test --migrations --report + + migrations-checks: + name: Run Database Migrations + runs-on: ubuntu-latest + needs: paths-filter + if: github.ref == 'refs/heads/master' && needs.paths-filter.outputs.migrations == 'true' + + env: + INVENTREE_DB_ENGINE: sqlite3 + INVENTREE_DB_NAME: /home/runner/work/InvenTree/db.sqlite3 + INVENTREE_DEBUG: info + INVENTREE_PLUGINS_ENABLED: false + + steps: + - uses: actions/checkout@v3 + name: Checkout Code + - name: Environment Setup + uses: ./.github/actions/setup + with: + install: true + - name: Fetch Database + run: git clone --depth 1 https://github.com/inventree/test-db ./test-db + + - name: Latest Database + run: | + cp test-db/latest.sqlite3 /home/runner/work/InvenTree/db.sqlite3 + chmod +rw /home/runner/work/InvenTree/db.sqlite3 + invoke migrate + + - name: 0.10.0 Database + run: | + rm /home/runner/work/InvenTree/db.sqlite3 + cp test-db/stable_0.10.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3 + chmod +rw /home/runner/work/InvenTree/db.sqlite3 + invoke migrate + + - name: 0.11.0 Database + run: | + rm /home/runner/work/InvenTree/db.sqlite3 + cp test-db/stable_0.11.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3 + chmod +rw /home/runner/work/InvenTree/db.sqlite3 + invoke migrate From 256c9cb751e62ead30c5e32cf91b585ba88ab2ea Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 26 Jun 2023 09:44:10 +1000 Subject: [PATCH 052/103] New Crowdin updates (#5101) * 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 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/da/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/de/LC_MESSAGES/django.po | 421 ++++---- InvenTree/locale/el/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/en/LC_MESSAGES/django.po | 929 +++++++++-------- InvenTree/locale/es/LC_MESSAGES/django.po | 423 ++++---- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 929 +++++++++-------- InvenTree/locale/fa/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/fi/LC_MESSAGES/django.po | 421 ++++---- InvenTree/locale/fr/LC_MESSAGES/django.po | 421 ++++---- InvenTree/locale/he/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/hu/LC_MESSAGES/django.po | 423 ++++---- InvenTree/locale/id/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/it/LC_MESSAGES/django.po | 421 ++++---- InvenTree/locale/ja/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/ko/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/nl/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/no/LC_MESSAGES/django.po | 877 ++++++++-------- InvenTree/locale/pl/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/pt/LC_MESSAGES/django.po | 423 ++++---- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 929 +++++++++-------- InvenTree/locale/ru/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/sl/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/sv/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/th/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/tr/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/vi/LC_MESSAGES/django.po | 419 ++++---- InvenTree/locale/zh/LC_MESSAGES/django.po | 421 ++++---- .../locale/zh_Hans/LC_MESSAGES/django.po | 942 +++++++++--------- 29 files changed, 7187 insertions(+), 7497 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 2071aa0ae1..13c165b408 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:41\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -55,7 +55,7 @@ msgstr "Zadejte datum" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Vyberte soubor k přiložení" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Vyberte soubor k přiložení" msgid "Link" msgstr "Odkaz" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -284,8 +284,8 @@ msgstr "Komentář k souboru" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Neplatný výběr" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Název" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Musí být platné číslo" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Referenční číslo objednávky" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Uživatel, který vydal tento příkaz k sestavení" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Možné zakoupit" @@ -2292,7 +2292,7 @@ msgstr "Možné zakoupit" msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Prodejné" @@ -2301,7 +2301,7 @@ msgstr "Prodejné" msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Sledovatelné" msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Hodnota parametru" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 7a27be606b..81c481f7ff 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:41\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -55,7 +55,7 @@ msgstr "Angiv dato" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Vælg fil, der skal vedhæftes" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Vælg fil, der skal vedhæftes" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -284,8 +284,8 @@ msgstr "Fil kommentar" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Ugyldigt valg" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Navn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Produktionsordre reference" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Batch Kode" msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Bruger som udstedte denne byggeordre" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN skal matche regex mønster {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 075d292598..ab25af17f4 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:41\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -55,7 +55,7 @@ msgstr "Datum eingeben" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Datei zum Anhängen auswählen" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Datei zum Anhängen auswählen" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -284,8 +284,8 @@ msgstr "Datei-Kommentar" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Ungültige Auswahl" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Name" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Über InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Bauauftragsreferenz" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Vorlage" msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Baugruppe" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Komponente" @@ -2284,7 +2284,7 @@ msgstr "Komponente" msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Kaufbar" @@ -2292,7 +2292,7 @@ msgstr "Kaufbar" msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Verkäuflich" @@ -2301,7 +2301,7 @@ msgstr "Verkäuflich" msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Nachverfolgbar" msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "Endpunkt, an dem dieser Webhook empfangen wird" msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "Gelesen" msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Parameterwert" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "Zuliefererbeschreibung des Teils" msgid "Note" msgstr "Notiz" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" @@ -3827,7 +3827,7 @@ msgstr "Packmenge" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "Vielfache" @@ -4365,9 +4365,10 @@ msgstr "Dateinamen-Muster" msgid "Pattern for generating label filenames" msgstr "Muster für die Erstellung von Label-Dateinamen" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 #: label/models.py:356 report/models.py:294 report/models.py:454 @@ -4375,23 +4376,11 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "Filters" msgstr "Filter" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Name des Teils" @@ -5367,19 +5356,19 @@ msgstr "Name des Teils" msgid "Part Description" msgstr "Beschreibung des Teils" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Version" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Schlüsselwörter" @@ -5400,11 +5389,11 @@ msgstr "Standard-Standortnummer" msgid "Default Supplier ID" msgstr "Standard-Lieferantennummer" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante von" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5430,11 +5419,11 @@ msgstr "Benutzt in" msgid "Building" msgstr "Im Bau" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Maximale Kosten" @@ -5474,7 +5463,7 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "Teil IPN" @@ -5516,7 +5505,7 @@ msgstr "Gesamte Stückliste validieren" msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standard-Lagerort" @@ -5534,7 +5523,7 @@ msgstr "Verfügbarer Bestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -5579,61 +5568,61 @@ msgstr "Symbol (optional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, 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:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN muss zu Regex-Muster {pat} passen" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Category" msgstr "Kategorie" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Bestand" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "Maßeinheit für diesen Teil" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:1030 +#: part/models.py:1033 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:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "Benutzer, der für diesen Teil verantwortlich ist" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Letzte Inventur" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "Währung für die Berechnung der Preise im Cache" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "Minimale Stücklisten Kosten" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "Minimale Kosten für Teile" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "Maximale Stücklisten Kosten" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "Maximale Kosten für Teile" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "Minimale Einkaufskosten" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "Minimale historische Kaufkosten" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "Maximale Einkaufskosten" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "Maximale historische Einkaufskosten" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "Minimaler interner Preis" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "Minimale Kosten basierend auf den internen Staffelpreisen" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "Maximaler interner Preis" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "Maximale Kosten basierend auf internen Preisstaffeln" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "Minimaler Lieferantenpreis" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "Mindestpreis für Teil von externen Lieferanten" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "Maximaler Lieferantenpreis" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "Maximaler Preis für Teil von externen Lieferanten" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "Minimale Variantenkosten" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "Berechnete minimale Kosten für Variantenteile" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "Maximale Variantenkosten" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "Berechnete maximale Kosten für Variantenteile" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "Berechnete Mindestkosten" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "Berechnete Maximalkosten" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "Mindestverkaufspreis" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "Mindestverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "Maximaler Verkaufspreis" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "Maximalverkaufspreis basierend auf Staffelpreisen" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "Mindestverkaufskosten" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "Minimaler historischer Verkaufspreis" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "Maximale Verkaufskosten" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "Maximaler historischer Verkaufspreis" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "Teil für die Inventur" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "Stückzahl" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" msgid "Date" msgstr "Datum" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "Datum der Inventur" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "Zusätzliche Notizen" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "Benutzer, der diese Inventur durchgeführt hat" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "Mindestbestandswert" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "Geschätzter Mindestwert des vorhandenen Bestands" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "Maximaler Bestandswert" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "Geschätzter Maximalwert des vorhandenen Bestands" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Bericht" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "Inventur-Berichtsdatei (intern generiert)" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Anzahl der Teile" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "Benutzer, der diesen Inventurbericht angefordert hat" -#: part/models.py:3272 +#: part/models.py:3275 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:3289 +#: part/models.py:3292 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:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Benötigt" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3328 +#: part/models.py:3331 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:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:3334 +#: part/models.py:3337 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:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "Wert" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "Stufe" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "Stücklisten-Position" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "überprüft" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:3861 +#: part/models.py:3864 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:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:3867 +#: part/models.py:3870 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:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index a52b7daf3d..af7e00c035 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:41\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -55,7 +55,7 @@ msgstr "Εισάγετε ημερομηνία" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" msgid "Link" msgstr "Σύνδεσμος" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -284,8 +284,8 @@ msgstr "Σχόλιο αρχείου" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Όνομα" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Σχετικά με το InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Κωδικός Παρτίδας" msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Το IPN πρέπει να ταιριάζει με το μοτίβο regex {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 6ced83b042..4386035e0c 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: 2023-06-21 06:43+0000\n" +"POT-Creation-Date: 2023-06-24 04:38+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,19 +26,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -56,7 +56,7 @@ msgstr "" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -69,7 +69,7 @@ msgstr "" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "" @@ -255,12 +255,12 @@ msgstr "" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -269,7 +269,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -285,11 +285,11 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "" @@ -331,8 +331,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -343,7 +343,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "" @@ -354,7 +354,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -364,20 +364,20 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "" @@ -390,7 +390,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -426,12 +426,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -868,16 +868,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -901,7 +901,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "" @@ -926,13 +926,13 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -956,10 +956,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -978,14 +978,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -997,9 +997,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "" @@ -1016,7 +1016,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" @@ -1066,7 +1066,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1082,7 +1082,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "" @@ -1090,7 +1090,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1102,10 +1102,10 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1138,7 +1138,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1192,7 +1192,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1208,12 +1208,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1228,8 +1228,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1275,7 +1275,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1296,7 +1296,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1361,7 +1361,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1369,8 +1369,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1398,13 +1398,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1695,7 +1695,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1739,7 +1739,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1750,7 +1750,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1793,11 +1793,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1807,7 +1807,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -2255,7 +2255,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2265,7 +2265,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2276,7 +2276,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2285,7 +2285,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2293,7 +2293,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2302,7 +2302,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2313,7 +2313,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3288,7 +3288,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3391,7 +3391,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3718,10 +3718,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3785,7 +3785,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3794,11 +3794,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3806,7 +3806,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3828,7 +3828,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3928,7 +3928,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4190,7 +4190,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4284,7 +4284,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4366,8 +4366,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4376,23 +4377,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -4424,7 +4413,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4433,7 +4422,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4638,7 +4627,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5135,7 +5124,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5324,7 +5313,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5354,12 +5343,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5368,19 +5357,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5401,11 +5390,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5416,8 +5405,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5427,15 +5416,15 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5458,7 +5447,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5475,7 +5464,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5517,7 +5506,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5535,7 +5524,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5550,7 +5539,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5580,312 +5569,312 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5893,322 +5882,322 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" @@ -6593,7 +6582,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6604,7 +6593,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6791,7 +6780,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6871,7 +6860,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6894,7 +6883,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6968,9 +6957,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7003,7 +6992,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7067,7 +7056,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" @@ -7282,17 +7271,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7508,8 +7497,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7561,7 +7550,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7629,7 +7618,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7682,7 +7671,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8088,7 +8077,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8110,7 +8099,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8184,7 +8173,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8250,7 +8239,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8394,7 +8383,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8934,7 +8923,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9505,7 +9494,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9519,7 +9508,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9866,7 +9855,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9886,25 +9875,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9936,7 +9925,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10105,7 +10094,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10125,195 +10114,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10460,7 +10449,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10558,45 +10547,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11092,117 +11081,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11993,7 +11982,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12081,184 +12070,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12552,51 +12541,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index f43dfcf905..906c507a39 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:44\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -55,7 +55,7 @@ msgstr "Ingrese la fecha" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Seleccionar archivo para adjuntar" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Seleccionar archivo para adjuntar" msgid "Link" msgstr "Enlace" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -284,8 +284,8 @@ msgstr "Comentario del archivo" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Selección no válida" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Nombre" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Error de servidor" msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Debe ser un número válido" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Acerca de InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Consumible" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Número de orden de construcción o armado" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Numero de lote" msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "El usuario que emitió esta orden" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "Copiar plantillas de parámetros de categoría" msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Plantilla" msgid "Parts are templates by default" msgstr "Las partes son plantillas por defecto" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Montaje" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Componente" @@ -2284,7 +2284,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Comprable" @@ -2292,7 +2292,7 @@ msgstr "Comprable" msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Vendible" @@ -2301,7 +2301,7 @@ msgstr "Vendible" msgid "Parts are salable by default" msgstr "Las partes se pueden vender por defecto" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Rastreable" msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "Punto final en el que se recibe este webhook" msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "Leer" msgid "Was this news item read?" msgstr "¿Esta noticia fue leída?" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Valor del parámetro" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "Descripción de la parte del proveedor" msgid "Note" msgstr "Nota" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "costo base" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" @@ -3827,7 +3827,7 @@ msgstr "Cantidad de paquete" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Cantidad total suministrada en un solo paquete. Dejar vacío para artículos individuales." -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "múltiple" @@ -4365,9 +4365,10 @@ msgstr "Patrón de Nombre de archivo" msgid "Pattern for generating label filenames" msgstr "Patrón para generar nombres de archivo de etiquetas" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 #: label/models.py:356 report/models.py:294 report/models.py:454 @@ -4375,24 +4376,12 @@ msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor msgid "Filters" msgstr "Filtros" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "Filtros de búsqueda de partes (valor separado por comas de pares clave=valor)" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" -msgstr "Código QC" +msgid "QR Code" +msgstr "" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 @@ -5353,12 +5342,12 @@ msgstr "Actualizado el precio unitario de {part} a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de Parte" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nombre de parte" @@ -5367,19 +5356,19 @@ msgstr "Nombre de parte" msgid "Part Description" msgstr "Descripción de parte" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisión" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Palabras claves" @@ -5400,11 +5389,11 @@ msgstr "ID de ubicación predeterminada" msgid "Default Supplier ID" msgstr "ID de proveedor predeterminado" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -5430,11 +5419,11 @@ msgstr "Usado en" msgid "Building" msgstr "En construcción" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Costo mínimo" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Costo máximo" @@ -5474,7 +5463,7 @@ msgstr "ID de artículo de BOM" msgid "Parent IPN" msgstr "IPN del padre" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "IPN de la parte" @@ -5516,7 +5505,7 @@ msgstr "Validación de Lista de Materiales" msgid "This option must be selected" msgstr "Esta opción debe ser seleccionada" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Ubicación Predeterminada" @@ -5534,7 +5523,7 @@ msgstr "Stock Disponible" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" @@ -5579,61 +5568,61 @@ msgstr "Icono (opcional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "¡No puedes hacer que esta categoría de partes sea estructural porque algunas partes ya están asignadas!" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "Opción no válida para la parte principal" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "La parte '{p1}' se utiliza en BOM para '{p2}' (recursivo)" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "El IPN debe coincidir con la expresión regular {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "Ya existe un artículo de almacén con este número de serie" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN duplicado no permitido en la configuración de partes" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "Parte con este nombre, IPN y revisión ya existe." -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "Nombre de la parte" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "Es plantilla" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "¿Es esta parte una parte de la plantilla?" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "¿Es esta parte una variante de otra parte?" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "Descripción de parte (opcional)" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued msgid "Category" msgstr "Categoría" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "Número de parte interna" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "¿Dónde se almacena este artículo normalmente?" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Proveedor por defecto" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "Parte de proveedor predeterminada" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "Expiración por defecto" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "Nivel mínimo de stock permitido" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "Unidades de medida para esta parte" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "¿Se puede construir esta parte a partir de otras partes?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "¿Se puede utilizar esta parte para construir otras partes?" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "¿Esta parte tiene seguimiento de objetos únicos?" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "¿Se puede comprar esta parte a proveedores externos?" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "¿Se puede vender esta parte a los clientes?" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "¿Está activa esta parte?" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "Suma de verificación de BOM" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "Suma de verificación de BOM almacenada" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "BOM comprobado por" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "Fecha BOM comprobada" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "Creación de Usuario" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "Usuario responsable de esta parte" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Último inventario" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "Vender múltiples" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "Moneda utilizada para almacenar en caché los cálculos de precios" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "Costo mínimo de BOM" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "Costo mínimo de partes de componentes" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "Costo máximo de BOM" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "Costo máximo de partes de componentes" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "Costo mínimo de compra" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "Costo histórico mínimo de compra" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "Costo máximo de compra" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "Costo histórico máximo de compra" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "Precio interno mínimo" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "Precio interno máximo" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "Costo máximo basado en precios reducidos internos" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "Precio mínimo de proveedor" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "Precio mínimo de la parte de proveedores externos" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "Precio máximo de proveedor" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "Precio máximo de la parte de proveedores externos" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "Costo mínimo de variante" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "Costo mínimo calculado de las partes variantes" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "Costo máximo de variante" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "Costo máximo calculado de las partes variantes" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "Precio de venta mínimo" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "Precio de venta mínimo basado en precios reducidos" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "Precio de venta máximo" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "Precio de venta máximo basado en precios reducidos" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "Costo de venta mínimo" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "Precio de venta mínimo histórico" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "Número de artículos" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "Fecha" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "Notas adicionales" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Informe" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Número de partes" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "Ya existe una prueba con este nombre para esta parte" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nombre de prueba" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "Introduzca un nombre para la prueba" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "Descripción de prueba" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Requerido" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "¿Es necesario pasar esta prueba?" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Requiere valor" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Adjunto obligatorio" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "¿Esta prueba requiere un archivo adjunto al agregar un resultado de la prueba?" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "El nombre de parámetro en la plantilla tiene que ser único" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "Nombre de Parámetro" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "Datos" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "ID de parte o nombre de parte" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "Nivel" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "Nivel de BOM" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Validado" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Permitir variantes" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 6ced83b042..4386035e0c 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: 2023-06-21 06:43+0000\n" +"POT-Creation-Date: 2023-06-24 04:38+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,19 +26,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -56,7 +56,7 @@ msgstr "" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -69,7 +69,7 @@ msgstr "" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "" @@ -255,12 +255,12 @@ msgstr "" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -269,7 +269,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -285,11 +285,11 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "" @@ -331,8 +331,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -343,7 +343,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "" @@ -354,7 +354,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -364,20 +364,20 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "" @@ -390,7 +390,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -426,12 +426,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -868,16 +868,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -901,7 +901,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "" @@ -926,13 +926,13 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -956,10 +956,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -978,14 +978,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -997,9 +997,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "" @@ -1016,7 +1016,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" @@ -1066,7 +1066,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1082,7 +1082,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "" @@ -1090,7 +1090,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1102,10 +1102,10 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1138,7 +1138,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1192,7 +1192,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1208,12 +1208,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1228,8 +1228,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1275,7 +1275,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1296,7 +1296,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1361,7 +1361,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1369,8 +1369,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1398,13 +1398,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1695,7 +1695,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1739,7 +1739,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1750,7 +1750,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1793,11 +1793,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1807,7 +1807,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -2255,7 +2255,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2265,7 +2265,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2276,7 +2276,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2285,7 +2285,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2293,7 +2293,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2302,7 +2302,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2313,7 +2313,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3288,7 +3288,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3391,7 +3391,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3718,10 +3718,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3785,7 +3785,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3794,11 +3794,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3806,7 +3806,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3828,7 +3828,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3928,7 +3928,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4190,7 +4190,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4284,7 +4284,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4366,8 +4366,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4376,23 +4377,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -4424,7 +4413,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4433,7 +4422,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4638,7 +4627,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5135,7 +5124,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5324,7 +5313,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5354,12 +5343,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5368,19 +5357,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5401,11 +5390,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5416,8 +5405,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5427,15 +5416,15 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5458,7 +5447,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5475,7 +5464,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5517,7 +5506,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5535,7 +5524,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5550,7 +5539,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5580,312 +5569,312 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5893,322 +5882,322 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" @@ -6593,7 +6582,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6604,7 +6593,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6791,7 +6780,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6871,7 +6860,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6894,7 +6883,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6968,9 +6957,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7003,7 +6992,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7067,7 +7056,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" @@ -7282,17 +7271,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7508,8 +7497,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7561,7 +7550,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7629,7 +7618,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7682,7 +7671,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8088,7 +8077,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8110,7 +8099,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8184,7 +8173,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8250,7 +8239,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8394,7 +8383,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8934,7 +8923,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9505,7 +9494,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9519,7 +9508,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9866,7 +9855,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9886,25 +9875,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9936,7 +9925,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10105,7 +10094,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10125,195 +10114,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10460,7 +10449,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10558,45 +10547,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11092,117 +11081,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11993,7 +11982,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12081,184 +12070,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12552,51 +12541,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 939826331d..7479b75485 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -55,7 +55,7 @@ msgstr "تاریخ را وارد کنید" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -284,8 +284,8 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index 79e785059f..c0dc6119dd 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:44\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -55,7 +55,7 @@ msgstr "Anna päivämäärä" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Valitse liitettävä tiedosto" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Valitse liitettävä tiedosto" msgid "Link" msgstr "Linkki" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -284,8 +284,8 @@ msgstr "Tiedoston kommentti" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Virheellinen valinta" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Nimi" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Palvelinvirhe" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Tietoja InvenTree:stä" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Komponentti" @@ -2284,7 +2284,7 @@ msgstr "Komponentti" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Ostettavissa" @@ -2292,7 +2292,7 @@ msgstr "Ostettavissa" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Seurattavissa" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "Muistiinpano" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,24 +4376,12 @@ msgstr "" msgid "Filters" msgstr "Suodattimet" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" -msgstr "QR-koodi" +msgid "QR Code" +msgstr "" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Avainsanat" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "Kuvake (valinnainen)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "Kategoria" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "Päivämäärä" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "Muut merkinnät" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Raportti" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 6ec458f145..0b400503b3 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:41\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -55,7 +55,7 @@ msgstr "Entrer la date" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Sélectionnez un fichier à joindre" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Sélectionnez un fichier à joindre" msgid "Link" msgstr "Lien" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -284,8 +284,8 @@ msgstr "Commentaire du fichier" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Choix invalide" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Nom" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Doit être un nombre valide" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "À propos d'InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Référence de l' Ordre de Fabrication" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "BuildOrder associé a cette fabrication" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Code de lot" msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Utilisateur ayant émis cette commande de construction" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "Copier les templates de paramètres de catégorie" 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:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Modèle" msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Assemblage" 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:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Composant" @@ -2284,7 +2284,7 @@ msgstr "Composant" 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:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Achetable" @@ -2292,7 +2292,7 @@ msgstr "Achetable" msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Vendable" @@ -2301,7 +2301,7 @@ msgstr "Vendable" msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Traçable" msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "Lu" msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Valeur du paramètre" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "Description de la pièce du fournisseur" msgid "Note" msgstr "Note" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "coût de base" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" @@ -3827,7 +3827,7 @@ msgstr "Nombre de paquet" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "plusieurs" @@ -4365,9 +4365,10 @@ msgstr "Modèle de nom de fichier" msgid "Pattern for generating label filenames" msgstr "Modèle pour la génération des noms de fichiers d'étiquette" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 #: label/models.py:356 report/models.py:294 report/models.py:454 @@ -4375,23 +4376,11 @@ msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virg msgid "Filters" msgstr "Filtres" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virgules" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparées par des virgules)" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Révision" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "L'IPN doit correspondre au modèle de regex {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "Catégorie" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "Ventes multiples" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "Date" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Requis" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "Données" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "Article du BOM" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Validée" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 74b23d72cf..09a26591b2 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:41\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -55,7 +55,7 @@ msgstr "הזן תאריך סיום" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "בחר קובץ לצירוף" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "בחר קובץ לצירוף" msgid "Link" msgstr "קישור" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -284,8 +284,8 @@ msgstr "הערת קובץ" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "בחירה שגויה" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "שם" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index cf9aeb24a3..6b8b37c904 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -55,7 +55,7 @@ msgstr "Dátum megadása" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -284,8 +284,8 @@ msgstr "Leírás, bővebb infó" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Érvénytelen választás" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Név" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Verzió információk" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Gyártási utasítás azonosító" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Batch kód" msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2255,7 +2255,7 @@ msgstr "Kategória paraméter sablonok másolása" 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:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2265,7 +2265,7 @@ msgstr "Sablon" msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2276,7 +2276,7 @@ msgstr "Gyártmány" 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:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Összetevő" @@ -2285,7 +2285,7 @@ msgstr "Összetevő" 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:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Beszerezhető" @@ -2293,7 +2293,7 @@ msgstr "Beszerezhető" msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Értékesíthető" @@ -2302,7 +2302,7 @@ msgstr "Értékesíthető" msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2313,7 +2313,7 @@ msgstr "Követésre kötelezett" msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3288,7 +3288,7 @@ msgstr "Végpont ahol ez a webhook érkezik" msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3391,7 +3391,7 @@ msgstr "Elolvasva" msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3718,7 +3718,7 @@ msgid "Parameter value" msgstr "Paraméter értéke" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3785,7 +3785,7 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3794,11 +3794,11 @@ msgstr "Beszállítói alkatrész leírása" msgid "Note" msgstr "Megjegyzés" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "alap költség" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" @@ -3828,7 +3828,7 @@ msgstr "Csomagolási mennyiség" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "többszörös" @@ -4366,9 +4366,10 @@ msgstr "Fájlnév minta" msgid "Pattern for generating label filenames" msgstr "Minta a címke fájlnevek előállításához" -#: label/models.py:250 -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:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 #: label/models.py:356 report/models.py:294 report/models.py:454 @@ -4376,24 +4377,12 @@ msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)," msgid "Filters" msgstr "Szűrők" -#: label/models.py:291 -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:319 -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)" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" -msgstr "QC kód" +msgid "QR Code" +msgstr "" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 @@ -5354,12 +5343,12 @@ msgstr "A {part} egységára {price}-ra módosítva" 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/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Alkatrész neve" @@ -5368,19 +5357,19 @@ msgstr "Alkatrész neve" msgid "Part Description" msgstr "Alkatrész leírása" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Változat" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Kulcsszavak" @@ -5401,11 +5390,11 @@ msgstr "Alapértelmezett készlethely ID" msgid "Default Supplier ID" msgstr "Alapértelmezett beszállító ID" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Ebből a sablonból" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5431,11 +5420,11 @@ msgstr "Felhasználva ebben" msgid "Building" msgstr "Gyártásban" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Maximum költség" @@ -5475,7 +5464,7 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "Alkatrész IPN" @@ -5517,7 +5506,7 @@ 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/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Alapértelmezett hely" @@ -5535,7 +5524,7 @@ msgstr "Elérhető készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -5580,61 +5569,61 @@ msgstr "Ikon (opcionális)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "Hibás választás a szülő alkatrészre" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, 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:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN mezőnek egyeznie kell a '{pat}' mintával" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "Létezik már készlet tétel ilyen a sorozatszámmal" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "Alkatrész neve" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "Sablon-e" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "Ez egy sablon alkatrész?" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "Ez az alkatrész egy másik változata?" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "Alkatrész leírása (opcionális)" -#: part/models.py:877 +#: part/models.py:880 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:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5643,249 +5632,249 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén msgid "Category" msgstr "Kategória" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: part/models.py:896 +#: part/models.py:899 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:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "Alapban hol tároljuk ezt az alkatrészt?" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Alapértelmezett beszállító" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "Alapértelmezett beszállítói alkatrész" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "Alapértelmezett lejárat" -#: part/models.py:976 +#: part/models.py:979 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:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "Minimálisan megengedett készlet mennyiség" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "Alkatrész mértékegysége" -#: part/models.py:998 +#: part/models.py:1001 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:1004 +#: part/models.py:1007 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:1010 +#: part/models.py:1013 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:1015 +#: part/models.py:1018 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:1020 +#: part/models.py:1023 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:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "Aktív-e ez az alkatrész?" -#: part/models.py:1030 +#: part/models.py:1033 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:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "Alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "Tárolt alkatrészjegyzék ellenőrző összeg" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "Alkatrészjegyzéket ellenőrizte" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "Alkatrészjegyzék ellenőrzési dátuma" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "Létrehozó" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "Felhasználó aki felelős ezért az alkatrészért" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Utolsó leltár" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "Több értékesítése" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "Árszámítások gyorstárazásához használt pénznem" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "Minimum alkatrészjegyzék költség" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "Összetevők minimum költsége" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "Maximum alkatrészjegyzék költség" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "Összetevők maximum költsége" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "Minimum beszerzési ár" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "Eddigi minimum beszerzési költség" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "Maximum beszerzési ár" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "Eddigi maximum beszerzési költség" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "Minimum belső ár" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "Minimum költség a belső ársávok alapján" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "Maximum belső ár" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "Maximum költség a belső ársávok alapján" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "Minimum beszállítói ár" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "Minimum alkatrész ár a beszállítóktól" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "Maximum beszállítói ár" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "Maximum alkatrész ár a beszállítóktól" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "Minimum alkatrészváltozat ár" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "Alkatrészváltozatok számolt minimum költsége" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "Maximum alkatrészváltozat ár" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "Alkatrészváltozatok számolt maximum költsége" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "Számított általános minimum költség" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "Számított általános maximum költség" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "Minimum eladási ár" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "Minimum eladási ár az ársávok alapján" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "Maximum eladási ár" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "Maximum eladási ár az ársávok alapján" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "Minimum eladási költség" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "Eddigi minimum eladási ár" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "Maximum eladási költség" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "Eddigi maximum eladási ár" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "Leltározható alkatrész" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "Tételszám" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "Egyedi készlet tételek száma a leltárkor" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5897,318 +5886,318 @@ msgstr "Teljes készlet a leltárkor" msgid "Date" msgstr "Dátum" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "Leltározva ekkor" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "További megjegyzések" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "Leltározta" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "Minimum készlet érték" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "Becsült minimum raktárkészlet érték" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "Maximum készlet érték" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "Becsült maximum raktárkészlet érték" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Riport" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "Leltár riport fájl (generált)" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Alkatrész szám" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "Leltározott alkatrészek száma" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "Felhasználó aki a leltár riportot kérte" -#: part/models.py:3272 +#: part/models.py:3275 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:3289 +#: part/models.py:3292 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:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Teszt név" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Kötelező" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "Szükséges-e hogy ez a teszt sikeres legyen?" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Kötelező érték" -#: part/models.py:3328 +#: part/models.py:3331 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:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Kötelező melléklet" -#: part/models.py:3334 +#: part/models.py:3337 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:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "Adat" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "Szint" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:3839 +#: part/models.py:3842 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:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:3861 +#: part/models.py:3864 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:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:3867 +#: part/models.py:3870 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:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 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:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4101 +#: part/models.py:4104 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:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 4861c6163f..d299626178 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -55,7 +55,7 @@ msgstr "Masukkan tanggal" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Pilih file untuk dilampirkan" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Pilih file untuk dilampirkan" msgid "Link" msgstr "Tautan" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -284,8 +284,8 @@ msgstr "Komentar file" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Pilihan tidak valid" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Nama" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Tentang InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Referensi Order Produksi" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Produksi induk dari produksi ini" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Kode Kelompok" msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Pengguna yang menyerahkan order ini" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN harus sesuai dengan pola regex {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "Item tagihan material" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index d245ec57ab..133e95c168 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -55,7 +55,7 @@ msgstr "Inserisci la data" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Seleziona file da allegare" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Seleziona file da allegare" msgid "Link" msgstr "Collegamento" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -284,8 +284,8 @@ msgstr "Commento del file" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Scelta non valida" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Nome" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Deve essere un numero valido" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Informazioni Su InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Riferimento Ordine Di Produzione" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Codice Lotto" msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Utente che ha emesso questo ordine di costruzione" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Modello" msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Assemblaggio" 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:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Componente" @@ -2284,7 +2284,7 @@ msgstr "Componente" 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:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Acquistabile" @@ -2292,7 +2292,7 @@ msgstr "Acquistabile" msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Vendibile" @@ -2301,7 +2301,7 @@ msgstr "Vendibile" msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Tracciabile" msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "Scadenza in cui questa notifica viene ricevuta" msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "Letto" msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Valore del parametro" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "Descrizione articolo fornitore" msgid "Note" msgstr "Nota" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "costo base" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" @@ -3827,7 +3827,7 @@ msgstr "Quantità Confezione" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "multiplo" @@ -4365,9 +4365,10 @@ msgstr "Formato del nome file" msgid "Pattern for generating label filenames" msgstr "Formato del nome file per la generazione etichetta" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 #: label/models.py:356 report/models.py:294 report/models.py:454 @@ -4375,23 +4376,11 @@ msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori)," msgid "Filters" msgstr "Filtri" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di valori)" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome Articolo" @@ -5367,19 +5356,19 @@ msgstr "Nome Articolo" msgid "Part Description" msgstr "Descrizione Articolo" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN - Numero di riferimento interno" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisione" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Parole Chiave" @@ -5400,11 +5389,11 @@ msgstr "Posizione Predefinita ID" msgid "Default Supplier ID" msgstr "ID Fornitore Predefinito" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante Di" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5430,11 +5419,11 @@ msgstr "Utilizzato In" msgid "Building" msgstr "In Costruzione" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Costo Massimo" @@ -5474,7 +5463,7 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "IPN Articolo" @@ -5516,7 +5505,7 @@ msgstr "Convalida l'intera Fattura dei Materiali" msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Posizione Predefinita" @@ -5534,7 +5523,7 @@ msgstr "Disponibilità in magazzino" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -5579,61 +5568,61 @@ msgstr "Icona (facoltativa)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "Scelta non valida per l'articolo principale" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "L'articolo '{p1}' è usato nella Distinta Base per '{p2}' (ricorsivo)" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corrispondere al modello regex {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "Esiste già un elemento stock con questo numero seriale" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "Nome articolo" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "È Template" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "Quest'articolo è un articolo di template?" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "Questa parte è una variante di un altro articolo?" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Category" msgstr "Categoria" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "Dove viene normalmente immagazzinato questo articolo?" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornitore predefinito" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "Articolo fornitore predefinito" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "Scadenza Predefinita" -#: part/models.py:976 +#: part/models.py:979 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:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "Livello minimo di giacenza consentito" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "Unita di misura per questo articolo" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "Questo articolo può essere costruito da altri articoli?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "Questo articolo può essere utilizzato per costruire altri articoli?" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "Questo articolo ha il tracciamento per gli elementi unici?" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "Quest'articolo può essere acquistato da fornitori esterni?" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "Questo pezzo può essere venduto ai clienti?" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "Quest'articolo è attivo?" -#: part/models.py:1030 +#: part/models.py:1033 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:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "Somma di controllo Distinta Base" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "Somma di controllo immagazzinata Distinta Base" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "Distinta Base controllata da" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "Data di verifica Distinta Base" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "Creazione Utente" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "Utente responsabile di questo articolo" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Ultimo Inventario" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "Vendita multipla" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "Valuta utilizzata per calcolare i prezzi" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "Costo Minimo Distinta Base" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "Costo minimo dei componenti dell'articolo" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "Costo Massimo Distinta Base" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "Costo massimo dei componenti dell'articolo" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "Importo Acquisto Minimo" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "Costo minimo di acquisto storico" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "Importo massimo acquisto" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "Costo massimo di acquisto storico" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "Prezzo Interno Minimo" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "Costo minimo basato su interruzioni di prezzo interne" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "Prezzo Interno Massimo" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "Costo massimo basato su interruzioni di prezzo interne" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "Prezzo Minimo Fornitore" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "Prezzo minimo articolo da fornitori esterni" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "Prezzo Massimo Fornitore" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "Variazione di costo minimo" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "Costo minimo calcolato di variazione dell'articolo" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "Massima variazione di costo" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "Costo massimo calcolato di variazione dell'articolo" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "Costo minimo totale calcolato" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "Costo massimo totale calcolato" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "Prezzo Di Vendita Minimo" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "Prezzo Di Vendita Massimo" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "Prezzo storico minimo di vendita" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "Costo Di Vendita Minimo" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "Prezzo storico massimo di vendita" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "Articolo per l'inventario" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "Contatore Elemento" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "Numero di scorte individuali al momento dell'inventario" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" msgid "Date" msgstr "Data" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "Data in cui è stato effettuato l'inventario" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "Note aggiuntive" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "Utente che ha eseguito questo inventario" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "Costo Minimo Scorta" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "Costo minimo stimato di magazzino a disposizione" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "Costo Massimo Scorte" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "Costo massimo stimato di magazzino a disposizione" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Report" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "File Report Inventario (generato internamente)" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Conteggio Articolo" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "Numero di articoli oggetto d'inventario" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "Utente che ha richiesto questo report inventario" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "Una prova con questo nome esiste già per questo articolo" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Richiesto" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "Questa prova è necessaria per passare?" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Allegato Richiesto" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "Dati" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "Livello" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Convalidato" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 6bf4c64950..73298d2f42 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -55,7 +55,7 @@ msgstr "日付を入力する" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "添付ファイルを選択" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "添付ファイルを選択" msgid "Link" msgstr "リンク" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -284,8 +284,8 @@ msgstr "ファイルコメント" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "無効な選択です" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "お名前" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "InvenTree について" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "テンプレート" msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "アセンブリ" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "コンポーネント" @@ -2284,7 +2284,7 @@ msgstr "コンポーネント" msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "購入可能" @@ -2292,7 +2292,7 @@ msgstr "購入可能" msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "追跡可能" msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "カテゴリ" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index a1621ca622..fe349aac99 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -55,7 +55,7 @@ msgstr "날짜 입력" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "첨부할 파일을 선택하세요" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "첨부할 파일을 선택하세요" msgid "Link" msgstr "링크" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "외부 URL로 링크" @@ -284,8 +284,8 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "이름" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "구입 가능" @@ -2292,7 +2292,7 @@ msgstr "구입 가능" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "판매 가능" @@ -2301,7 +2301,7 @@ msgstr "판매 가능" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "데이터" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 682e6329b4..f205a8589c 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -55,7 +55,7 @@ msgstr "Voer datum in" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Bestand als bijlage selecteren" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Bestand als bijlage selecteren" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -284,8 +284,8 @@ msgstr "Bestand opmerking" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Ongeldige keuze" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Naam" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Over InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Productieorderreferentie" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Batchcode" msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Gebruiker die de productieorder heeft gegeven" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Sjabloon" msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Samenstelling" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Component" @@ -2284,7 +2284,7 @@ msgstr "Component" msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Koopbaar" @@ -2292,7 +2292,7 @@ msgstr "Koopbaar" msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Verkoopbaar" @@ -2301,7 +2301,7 @@ msgstr "Verkoopbaar" msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Volgbaar" msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Parameterwaarde" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "Opmerking" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "basisprijs" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "meerdere" @@ -4365,8 +4365,9 @@ msgstr "Bestandsnaam Patroon" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "Filters" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Standaard locatie" @@ -5534,7 +5523,7 @@ msgstr "Beschikbare Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN moet overeenkomen met regex-patroon {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "Datum" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "Stuklijstartikel" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index fd96df74e0..eb06cfb4c9 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-25 07:46\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -39,7 +39,7 @@ msgstr "Angitt verdi har en ugyldig enhet" #: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" -msgstr "" +msgstr "Oppgitt verdi kunne ikke konverteres til den angitte enheten" #: InvenTree/exceptions.py:90 msgid "Error details can be found in the admin panel" @@ -55,7 +55,7 @@ msgstr "Oppgi dato" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -123,7 +123,7 @@ msgstr "Det oppgitte e-postdomenet er ikke godkjent." #: InvenTree/forms.py:345 msgid "Registration is disabled." -msgstr "" +msgstr "Registrering er deaktivert." #: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" @@ -199,7 +199,7 @@ msgstr "Angitt URL er ikke en gyldig bildefil" #: InvenTree/models.py:82 msgid "Metadata must be a python dict object" -msgstr "Metadata må være et python ordobjekt" +msgstr "Metadata må være et python dict-objekt" #: InvenTree/models.py:86 msgid "Plugin Metadata" @@ -254,7 +254,7 @@ msgstr "Velg fil å legge ved" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Velg fil å legge ved" msgid "Link" msgstr "Lenke" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -284,8 +284,8 @@ msgstr "Kommentar til fil" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Ugyldig valg" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Navn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Må være et gyldig tall" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -537,7 +537,7 @@ msgstr "Farsi / Persisk" #: InvenTree/settings.py:749 msgid "Finnish" -msgstr "" +msgstr "Finsk" #: InvenTree/settings.py:750 msgid "French" @@ -725,7 +725,7 @@ msgstr "Posisjon endret" #: InvenTree/status_codes.py:106 msgid "Stock updated" -msgstr "Lager oppdatert" +msgstr "Lagerbeholdning oppdatert" #: InvenTree/status_codes.py:109 msgid "Installed into assembly" @@ -777,7 +777,7 @@ msgstr "Antatt som byggeordre" #: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" -msgstr "Sendt til salgsordre" +msgstr "Sendt mot salgsordre" #: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" @@ -821,7 +821,7 @@ msgstr "Avvis" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "" +msgstr "Ugyldig fysisk enhet" #: InvenTree/validators.py:40 msgid "Not a valid currency code" @@ -867,14 +867,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -886,7 +886,7 @@ msgstr "Valgfritt" #: build/api.py:288 templates/js/translated/table_filters.js:360 #: templates/js/translated/table_filters.js:514 msgid "Tracked" -msgstr "" +msgstr "Spores" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 #: templates/js/translated/build.js:2545 @@ -925,7 +925,7 @@ msgstr "Bygg ordrereferanse" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Build order som denne build er tildelt til" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Batchkode" msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Brukeren som utstede denne prosjekt order" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1148,7 +1148,7 @@ msgstr "Prosjektkode" #: build/models.py:310 msgid "Project code for this build order" -msgstr "" +msgstr "Prosjektkode for denne produksjonsordren" #: build/models.py:545 #, python-brace-format @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1259,7 +1259,7 @@ msgstr "Mengden må være 1 for serialisert lagervare" #: build/models.py:1449 msgid "Selected stock item does not match BOM line" -msgstr "" +msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" #: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 @@ -1562,7 +1562,7 @@ msgstr "Valgfrie artikler" #: build/serializers.py:974 msgid "Allocate optional BOM items to build order" -msgstr "Tildel valgfrie stykklistevarer til produksjonsordre" +msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" #: build/tasks.py:101 msgid "Stock required for build order" @@ -1579,7 +1579,7 @@ msgstr "Produksjonsordre {bo} er nå forfalt" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Miniatyrbilde for del" #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 @@ -2224,11 +2224,11 @@ msgstr "Tillat endring av IPN-verdien mens du redigerer en del" #: common/models.py:1134 msgid "Copy Part BOM Data" -msgstr "Kopier stykklistedata fra del" +msgstr "Kopier BOM-data fra del" #: common/models.py:1135 msgid "Copy BOM data by default when duplicating a part" -msgstr "Kopier stykklistedata som standard når du dupliserer en del" +msgstr "Kopier BOM-data som standard når du dupliserer en del" #: common/models.py:1141 msgid "Copy Part Parameter Data" @@ -2254,7 +2254,7 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Mal" msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Sammenstilling" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Komponent" @@ -2284,7 +2284,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Kjøpbar" @@ -2292,7 +2292,7 @@ msgstr "Kjøpbar" msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Salgbar" @@ -2301,7 +2301,7 @@ msgstr "Salgbar" msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Sporbar" msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -2993,7 +2993,7 @@ msgstr "Vis ventende SO-forsendelser" #: common/models.py:1871 msgid "Show pending SO shipments on the homepage" -msgstr "Vis ventende SO forsendelser på startsiden" +msgstr "Vis ventende SO-forsendelser på startsiden" #: common/models.py:1877 msgid "Show News" @@ -3287,7 +3287,7 @@ msgstr "Endepunktet hvor denne webhooken er mottatt" msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "Les" msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3450,7 +3450,7 @@ msgstr "Sammenlign varer" #: common/views.py:420 msgid "Fields matching failed" -msgstr "Feltene som matcher mislyktes" +msgstr "Matching av felter mislyktes" #: common/views.py:481 msgid "Parts imported" @@ -3563,86 +3563,86 @@ msgstr "" #: company/models.py:332 msgid "Address title" -msgstr "" +msgstr "Adressetittel" #: company/models.py:333 msgid "Title describing the address entry" -msgstr "" +msgstr "Tittel som beskriver addressen" #: company/models.py:337 msgid "Primary address" -msgstr "" +msgstr "Hovedadresse" #: company/models.py:338 msgid "Set as primary address" -msgstr "" +msgstr "Sett som hovedadresse" #: company/models.py:341 templates/js/translated/company.js:941 #: templates/js/translated/company.js:1002 msgid "Line 1" -msgstr "" +msgstr "Linje 1" #: company/models.py:342 msgid "Address line 1" -msgstr "" +msgstr "Adresselinje 1" #: company/models.py:346 templates/js/translated/company.js:942 #: templates/js/translated/company.js:1008 msgid "Line 2" -msgstr "" +msgstr "Linje 2" #: company/models.py:347 msgid "Address line 2" -msgstr "" +msgstr "Adresselinje 2" #: company/models.py:351 company/models.py:352 #: templates/js/translated/company.js:1014 msgid "Postal code" -msgstr "" +msgstr "Postnummer" #: company/models.py:356 msgid "City/Region" -msgstr "" +msgstr "Poststed/område" #: company/models.py:357 msgid "Postal code city/region" -msgstr "" +msgstr "Postnummerets by/område" #: company/models.py:361 msgid "State/Province" -msgstr "" +msgstr "Delstat/provins" #: company/models.py:362 msgid "State or province" -msgstr "" +msgstr "Delstat eller provins" #: company/models.py:366 templates/js/translated/company.js:1032 msgid "Country" -msgstr "" +msgstr "Land" #: company/models.py:367 msgid "Address country" -msgstr "" +msgstr "Adressens land" #: company/models.py:371 msgid "Courier shipping notes" -msgstr "" +msgstr "Notater til transportør" #: company/models.py:372 msgid "Notes for shipping courier" -msgstr "" +msgstr "Notater for transportør" #: company/models.py:376 msgid "Internal shipping notes" -msgstr "" +msgstr "Interne fraktnotater" #: company/models.py:377 msgid "Shipping notes for internal use" -msgstr "" +msgstr "Fraktnotater for internt bruk" #: company/models.py:382 msgid "Link to address information (external)" -msgstr "" +msgstr "Lenke til adresseinformasjon (ekstern)" #: company/models.py:427 company/models.py:702 stock/models.py:675 #: stock/serializers.py:204 stock/templates/stock/item_base.html:143 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Parameterverdi" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "Leverandørens delbeskrivelse" msgid "Note" msgstr "Notat" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift på lager)" @@ -3827,7 +3827,7 @@ msgstr "Pakkeantall" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "flere" @@ -4098,7 +4098,7 @@ msgstr "" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "" +msgstr "Legg til adresse" #: company/templates/company/index.html:8 msgid "Supplier List" @@ -4182,7 +4182,7 @@ msgstr "Kontakter" #: company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "" +msgstr "Adresser" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 @@ -4363,11 +4363,12 @@ msgstr "Filnavnmønster" #: label/models.py:154 msgid "Pattern for generating label filenames" -msgstr "Mønster for å generere etikettens filnavn" +msgstr "Mønster for generering av etikett-filnavn" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "Søkefilter (kommaseparert liste over nøkkel=verdi-par)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "Søkefiltre (kommaseparert liste over nøkkel=verdi-par)" #: label/models.py:251 label/models.py:292 label/models.py:320 #: label/models.py:356 report/models.py:294 report/models.py:454 @@ -4375,24 +4376,12 @@ msgstr "Søkefilter (kommaseparert liste over nøkkel=verdi-par)," msgid "Filters" msgstr "Filtre" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "Spørringsfiltre (kommaseparert liste over nøkkel=verdi-par" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "Spørringsfilter deler (kommaseparert liste over nøkkel=verdi-par)" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" -msgstr "QC kode" +msgid "QR Code" +msgstr "QR-kode" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 @@ -4676,7 +4665,7 @@ msgstr "Dato for forsendelse" #: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" -msgstr "" +msgstr "Leveringsdato" #: order/models.py:1428 msgid "Date of delivery of shipment" @@ -5064,11 +5053,11 @@ msgstr "Ufullstendig" #: order/templates/order/return_order_base.html:158 #: report/templates/report/inventree_build_order_base.html:121 msgid "Issued" -msgstr "" +msgstr "Utstedt" #: order/templates/order/order_base.html:224 msgid "Total cost" -msgstr "" +msgstr "Total kostnad" #: order/templates/order/order_base.html:228 #: order/templates/order/return_order_base.html:200 @@ -5238,7 +5227,7 @@ msgstr "Ordrenotater" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "" +msgstr "Miniatyrbilde for kundelogo" #: order/templates/order/return_order_base.html:61 msgid "Print return order report" @@ -5353,44 +5342,44 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" -msgstr "" +msgstr "Del-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" -msgstr "" +msgstr "Delnavn" #: part/admin.py:35 part/tasks.py:290 msgid "Part Description" -msgstr "" +msgstr "Delbeskrivelse" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" -msgstr "" +msgstr "IPN" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" -msgstr "" +msgstr "Revisjon" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" -msgstr "" +msgstr "Nøkkelord" #: part/admin.py:42 part/admin.py:192 part/tasks.py:291 msgid "Category ID" -msgstr "" +msgstr "Kategori-ID" #: part/admin.py:43 part/admin.py:193 part/tasks.py:292 msgid "Category Name" -msgstr "" +msgstr "Kategorinavn" #: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variant av" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5412,44 +5401,44 @@ msgstr "" #: templates/js/translated/company.js:1720 #: templates/js/translated/table_filters.js:307 msgid "In Stock" -msgstr "" +msgstr "På lager" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 #: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" -msgstr "" +msgstr "I bestilling" #: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" -msgstr "" +msgstr "Brukt i" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 #: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" -msgstr "" +msgstr "Produseres" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" #: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 msgid "Parent ID" -msgstr "" +msgstr "Overordnet ID" #: part/admin.py:196 part/admin.py:272 stock/admin.py:43 msgid "Parent Name" -msgstr "" +msgstr "Overordnet navn" #: part/admin.py:199 part/templates/part/category.html:87 #: part/templates/part/category.html:100 msgid "Category Path" -msgstr "" +msgstr "Sti til kategori" #: part/admin.py:202 part/models.py:393 part/serializers.py:307 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 @@ -5464,37 +5453,37 @@ msgstr "Deler" #: part/admin.py:265 msgid "BOM Level" -msgstr "" +msgstr "BOM-nivå" #: part/admin.py:267 msgid "BOM Item ID" -msgstr "" +msgstr "BOM artikkel-ID" #: part/admin.py:271 msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" #: part/admin.py:280 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1010 msgid "Minimum Price" -msgstr "" +msgstr "Minstepris" #: part/admin.py:281 templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1018 msgid "Maximum Price" -msgstr "" +msgstr "Makspris" #: part/api.py:501 msgid "Incoming Purchase Order" -msgstr "" +msgstr "Innkommende innkjøpsordre" #: part/api.py:521 msgid "Outgoing Sales Order" -msgstr "" +msgstr "Utgående salgsordre" #: part/api.py:539 msgid "Stock produced by Build Order" @@ -5506,44 +5495,44 @@ msgstr "" #: part/api.py:773 msgid "Valid" -msgstr "" +msgstr "Gyldig" #: part/api.py:774 msgid "Validate entire Bill of Materials" -msgstr "" +msgstr "Godkjenn hele Stykklisten" #: part/api.py:780 msgid "This option must be selected" -msgstr "" +msgstr "Dette alternativet må være valgt" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" #: part/bom.py:176 templates/email/low_stock_notification.html:16 msgid "Total Stock" -msgstr "" +msgstr "Total lagerbeholdning" #: part/bom.py:177 part/templates/part/part_base.html:194 #: templates/js/translated/sales_order.js:1885 msgid "Available Stock" -msgstr "" +msgstr "Tilgjengelig lagerbeholdning" #: part/forms.py:48 msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "" +msgstr "Delkategori" #: part/models.py:77 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" -msgstr "" +msgstr "Delkategorier" #: part/models.py:129 msgid "Default location for parts in this category" @@ -5553,11 +5542,11 @@ msgstr "" #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" -msgstr "" +msgstr "Strukturell" #: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" +msgstr "Deler kan ikke tilordnes direkte til en strukturell kategori, men kan tilordnes til underkategorier." #: part/models.py:140 msgid "Default keywords" @@ -5579,61 +5568,61 @@ msgstr "Ikon (valgfritt)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "Ugyldig valg for overordnet del" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Del '{p1}' er brukt i stykklisten til '{p2}' (rekursivt)" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Internt delnummer må matche regex-mønster {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "Lagervare med dette serienummeret eksisterer allerede" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede." -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "Delnavn" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "Er Mal" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "Er delen en maldel?" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "Er delen en variant av en annen del?" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "Delbeskrivelse (valgfritt)" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" msgid "Category" msgstr "Kategori" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "Delkategori" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "Internt delnummer" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "Hvor er denne artikkelen vanligvis lagret?" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Standard leverandør" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "Standard leverandørdel" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "Standard utløp" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "Minimum tillatt lagernivå" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "Måleenheter for denne delen" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "Kan denne delen bygges fra andre deler?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "Kan denne delen brukes til å bygge andre deler?" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "Har denne delen sporing av unike artikler?" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "Kan denne delen selges til kunder?" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "Er denne delen aktiv?" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" -msgstr "Kontrollsum for stykkliste" - -#: part/models.py:1032 -msgid "Stored BOM checksum" -msgstr "Lagret sjekkliste-kontrollsum" +msgstr "Kontrollsum for BOM" #: part/models.py:1035 +msgid "Stored BOM checksum" +msgstr "Lagret BOM-kontrollsum" + +#: part/models.py:1038 msgid "BOM checked by" msgstr "Stykkliste sjekket av" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "Stykkliste sjekket dato" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "Opprettingsbruker" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "Bruker ansvarlig for denne delen" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Siste lagertelling" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "Selg flere" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "Valuta som brukes til å bufre prisberegninger" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" -msgstr "Minimal stykklistekostnad" +msgstr "Minimal BOM-kostnad" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "Minste kostnad for komponentdeler" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" -msgstr "Maksimal stykklistekostnad" +msgstr "Maksimal BOM-kostnad" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "Maksimal kostnad for komponentdeler" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "Minimal innkjøpskostnad" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "Minimal historisk innkjøpskostnad" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "Maksimal innkjøpskostnad" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "Maksimal historisk innkjøpskostnad" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "Minimal intern pris" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "Minimal kostnad basert på interne prisbrudd" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "Maksimal intern pris" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "Maksimal kostnad basert på interne prisbrudd" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "Minimal leverandørpris" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "Minimumspris for del fra eksterne leverandører" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "Maksimal leverandørpris" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "Maksimalpris for del fra eksterne leverandører" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "Minimal Variantkostnad" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "Beregnet minimal kostnad for variantdeler" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "Maksimal Variantkostnad" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "Beregnet maksimal kostnad for variantdeler" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "Beregnet samlet minimal kostnad" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "Beregnet samlet maksimal kostnad" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "Minimal salgspris" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "Minimal salgspris basert på prisbrudd" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "Maksimal Salgspris" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "Maksimal salgspris basert på prisbrudd" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "Minimal Salgskostnad" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "Minimal historisk salgspris" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "Maksimal Salgskostnad" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "Maksimal historisk salgspris" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "Del for varetelling" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "Antall" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" msgid "Date" msgstr "Dato" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "Dato for utført lagertelling" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "Flere notater" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "Bruker som utførte denne lagertellingen" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "Minimal lagerkostnad" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "Estimert minimal kostnad for lagerbeholdning" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "Maksimal lagerkostnad" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "Estimert maksimal kostnad for lagerbeholdning" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Rapport" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "Lagertellingsrapportfil (generert internt)" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Antall deler" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "Antall deler dekket av varetellingen" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "Bruker som forespurte varetellingsrapporten" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "Testmaler kan bare bli opprettet for sporbare deler" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "Test med dette navnet finnes allerede for denne delen" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Påkrevd" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "Er det påkrevd at denne testen bestås?" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "Krever denne testen en verdi når det legges til et testresultat?" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Krever vedlegg" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "Data" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "Nivå" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" -msgstr "Stykklistenivå" +msgstr "BOM-nivå" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" -msgstr "Stykklisteartikkel" +msgstr "BOM-artikkel" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" -msgstr "Velg del som skal brukes i stykkliste" +msgstr "Velg del som skal brukes i BOM" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" -msgstr "Stykklisteantall for denne stykklisteartikkelen" +msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" -msgstr "Denne stykklisteartikkelen er valgfri" +msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "Denne sykklisteartikkelen er forbruksvare (den spores ikke i produksjonsordrer)" +msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:3842 -msgid "BOM item reference" -msgstr "Stykklisteartikkel-referanse" - #: part/models.py:3845 -msgid "BOM item notes" -msgstr "Stykklisteartikkel-notater" +msgid "BOM item reference" +msgstr "BOM-artikkelreferanse" -#: part/models.py:3849 +#: part/models.py:3848 +msgid "BOM item notes" +msgstr "BOM-artikkelnotater" + +#: part/models.py:3852 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" -msgstr "Stykklistelinje kontrollsum" +msgstr "BOM-linje kontrollsum" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Godkjent" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" -msgstr "Denne stykklisteartikkelen er godkjent" +msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "Denne stykklisteartikkelen er arvet fra stykkliste for variantdeler" +msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "Lagervarer for variantdeler kan brukes for denne stykklisteartikkelen" +msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" -msgstr "Stykklisteartikkel-erstatning" +msgstr "BOM-artikkel erstatning" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" -msgstr "Overordnet stykklisteartikkel" +msgstr "Overordnet BOM-artikkel" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -6217,11 +6206,11 @@ msgstr "Innkjøpsvaluta for lagervaren" #: part/serializers.py:313 msgid "No parts selected" -msgstr "" +msgstr "Ingen deler valgt" #: part/serializers.py:321 msgid "Select category" -msgstr "" +msgstr "Velg kategori" #: part/serializers.py:352 msgid "Original Part" @@ -6314,15 +6303,15 @@ msgstr "Innledende lagerbeholdning" #: part/serializers.py:687 msgid "Create Part with initial stock quantity" -msgstr "" +msgstr "Lag en del med innledende lagermengde" #: part/serializers.py:692 msgid "Supplier Information" -msgstr "" +msgstr "Leverandøropplysninger" #: part/serializers.py:692 msgid "Add initial supplier information for this part" -msgstr "" +msgstr "Legg til innledende leverandørinformasjon for denne delen" #: part/serializers.py:698 msgid "Copy Category Parameters" @@ -6382,7 +6371,7 @@ msgstr "Fjern eksisterende data" #: part/serializers.py:1317 msgid "Remove existing BOM items before copying" -msgstr "Fjern eksisterende BOM produkter før kopiering" +msgstr "Fjern eksisterende BOM-artikler før kopiering" #: part/serializers.py:1322 msgid "Include Inherited" @@ -6390,7 +6379,7 @@ msgstr "Inkluder arvet" #: part/serializers.py:1323 msgid "Include BOM items which are inherited from templated parts" -msgstr "Inkluder BOM elementer som er arvet fra mal-deler" +msgstr "Inkluder BOM-artikler som er arvet fra maldeler" #: part/serializers.py:1328 msgid "Skip Invalid Rows" @@ -6410,15 +6399,15 @@ msgstr "Kopier erstatningsdeler når BOM elementer dupliseres" #: part/serializers.py:1375 msgid "Clear Existing BOM" -msgstr "" +msgstr "Nullstill eksisterende BOM" #: part/serializers.py:1376 msgid "Delete existing BOM items before uploading" -msgstr "" +msgstr "Fjern eksisterende BOM-artikler før opplastning" #: part/serializers.py:1406 msgid "No part column specified" -msgstr "" +msgstr "Ingen del-kolonne angitt" #: part/serializers.py:1449 msgid "Multiple matching parts found" @@ -6430,19 +6419,19 @@ msgstr "" #: part/serializers.py:1455 msgid "Part is not designated as a component" -msgstr "" +msgstr "Delen er ikke betegnet som en komponent" #: part/serializers.py:1464 msgid "Quantity not provided" -msgstr "" +msgstr "Antall ikke oppgitt" #: part/serializers.py:1472 msgid "Invalid quantity" -msgstr "" +msgstr "Ugyldig antall" #: part/serializers.py:1493 msgid "At least one BOM item is required" -msgstr "" +msgstr "Minst en BOM-artikkel kreves" #: part/tasks.py:39 msgid "Low stock notification" @@ -6477,7 +6466,7 @@ msgstr "En ny lagertellingsrapport er tilgjengelig for nedlasting" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "Du har ikke rettigheter til å redigere stykklisten." +msgstr "Du har ikke rettigheter til å redigere BOMen." #: part/templates/part/bom.html:15 msgid "The BOM this part has been changed, and must be validated" @@ -6645,45 +6634,45 @@ msgstr "Relaterte Deler" #: part/templates/part/detail.html:236 part/templates/part/detail.html:237 msgid "Add Related" -msgstr "" +msgstr "Legg til relatert" #: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 #: report/templates/report/inventree_bill_of_materials_report.html:100 msgid "Bill of Materials" -msgstr "" +msgstr "Stykkliste (BOM)" #: part/templates/part/detail.html:260 msgid "Export actions" -msgstr "" +msgstr "Eksporthandlinger" #: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 msgid "Export BOM" -msgstr "" +msgstr "Eksporter BOM" #: part/templates/part/detail.html:266 msgid "Print BOM Report" -msgstr "" +msgstr "Skriv ut BOM-rapport" #: part/templates/part/detail.html:272 msgid "BOM actions" -msgstr "Stykklistehandlinger" +msgstr "BOM-handlinger" #: part/templates/part/detail.html:276 msgid "Upload BOM" -msgstr "" +msgstr "Last opp BOM" #: part/templates/part/detail.html:278 msgid "Validate BOM" -msgstr "" +msgstr "Godkjenn BOM" #: part/templates/part/detail.html:283 part/templates/part/detail.html:284 #: templates/js/translated/bom.js:1299 templates/js/translated/bom.js:1300 msgid "Add BOM Item" -msgstr "" +msgstr "Legg til BOM-artikkel" #: part/templates/part/detail.html:297 msgid "Assemblies" -msgstr "" +msgstr "Sammenstillinger" #: part/templates/part/detail.html:313 msgid "Part Builds" @@ -6695,40 +6684,40 @@ msgstr "" #: part/templates/part/detail.html:352 msgid "Part Suppliers" -msgstr "" +msgstr "Deleleverandører" #: part/templates/part/detail.html:372 msgid "Part Manufacturers" -msgstr "" +msgstr "Deleprodusenter" #: part/templates/part/detail.html:654 msgid "Related Part" -msgstr "" +msgstr "Relatert Del" #: part/templates/part/detail.html:662 msgid "Add Related Part" -msgstr "" +msgstr "Legg til relatert del" #: part/templates/part/detail.html:747 msgid "Add Test Result Template" -msgstr "" +msgstr "Legg til Testresultatmal" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 msgid "Insufficient privileges." -msgstr "" +msgstr "Utilstrekkelige rettigheter." #: part/templates/part/import_wizard/part_upload.html:8 msgid "Return to Parts" -msgstr "" +msgstr "Tilbake til deler" #: part/templates/part/import_wizard/part_upload.html:13 msgid "Import Parts from File" -msgstr "" +msgstr "Importer deler fra fil" #: part/templates/part/import_wizard/part_upload.html:31 msgid "Requirements for part import" -msgstr "" +msgstr "Krav for import av deler" #: part/templates/part/import_wizard/part_upload.html:33 msgid "The part import file must contain the required named columns as provided in the " @@ -6746,13 +6735,13 @@ msgstr "" #: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 #: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 msgid "Format" -msgstr "" +msgstr "Format" #: part/templates/part/import_wizard/part_upload.html:93 #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" -msgstr "" +msgstr "Velg filformat" #: part/templates/part/part_app_base.html:12 msgid "Part List" @@ -6760,55 +6749,55 @@ msgstr "" #: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 msgid "You are subscribed to notifications for this part" -msgstr "" +msgstr "Du abonnerer på varsler for denne delen" #: part/templates/part/part_base.html:35 msgid "Subscribe to notifications for this part" -msgstr "" +msgstr "Abonner på varsler for denne delen" #: part/templates/part/part_base.html:54 #: stock/templates/stock/item_base.html:63 #: stock/templates/stock/location.html:73 msgid "Print Label" -msgstr "" +msgstr "Skriv ut etikett" #: part/templates/part/part_base.html:60 msgid "Show pricing information" -msgstr "" +msgstr "Vis prisinformasjon" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 #: stock/templates/stock/location.html:81 msgid "Stock actions" -msgstr "" +msgstr "Lagerhandlinger" #: part/templates/part/part_base.html:72 msgid "Count part stock" -msgstr "" +msgstr "Tell delbeholdning" #: part/templates/part/part_base.html:78 msgid "Transfer part stock" -msgstr "" +msgstr "Overfør delbeholdning" #: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" -msgstr "" +msgstr "Delhandlinger" #: part/templates/part/part_base.html:96 msgid "Duplicate part" -msgstr "" +msgstr "Dupliser del" #: part/templates/part/part_base.html:99 msgid "Edit part" -msgstr "" +msgstr "Rediger del" #: part/templates/part/part_base.html:102 msgid "Delete part" -msgstr "" +msgstr "Slett del" #: part/templates/part/part_base.html:121 msgid "Part is a template part (variants can be made from this part)" -msgstr "" +msgstr "Delen er en maldel (varianter kan lages fra denne delen)" #: part/templates/part/part_base.html:125 msgid "Part can be assembled from other parts" @@ -6932,7 +6921,7 @@ msgstr "Ingen leverandørpriser tilgjengelig" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:87 #: part/templates/part/prices.html:239 msgid "BOM Pricing" -msgstr "Stykklistepriser" +msgstr "BOM-prising" #: part/templates/part/part_pricing.html:66 msgid "Unit Purchase Price" @@ -6944,7 +6933,7 @@ msgstr "Total Innkjøpspris" #: part/templates/part/part_pricing.html:83 msgid "No BOM pricing available" -msgstr "Ingen Stykklisteprising tilgjengelig" +msgstr "Ingen BOM-prising tilgjengelig" #: part/templates/part/part_pricing.html:92 msgid "Internal Price" @@ -7089,27 +7078,27 @@ msgstr "Stykkliste opplastningskrav" #: part/templates/part/upload_bom.html:23 #: part/templates/part/upload_bom.html:90 msgid "Upload BOM File" -msgstr "" +msgstr "Last opp BOM-fil" #: part/templates/part/upload_bom.html:29 msgid "Submit BOM Data" -msgstr "" +msgstr "Send inn BOM-data" #: part/templates/part/upload_bom.html:37 msgid "Requirements for BOM upload" -msgstr "" +msgstr "Krav for BOM-opplastning" #: part/templates/part/upload_bom.html:39 msgid "The BOM file must contain the required named columns as provided in the " -msgstr "" +msgstr "BOM-filen må inneholde de nødvendige navngitte kolonnene som i " #: part/templates/part/upload_bom.html:39 msgid "BOM Upload Template" -msgstr "" +msgstr "BOM-opplastningsmalen" #: part/templates/part/upload_bom.html:40 msgid "Each part must already exist in the database" -msgstr "" +msgstr "Hver del må allerede finnes i databasen" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" @@ -7223,19 +7212,19 @@ msgstr "" #: plugin/builtin/integration/core_notifications.py:47 msgid "Allow sending of slack channel messages for event notifications" -msgstr "" +msgstr "Tillat sending av Slack-kanalmeldinger for hendelsesvarsler" #: plugin/builtin/integration/core_notifications.py:52 msgid "Slack incoming webhook url" -msgstr "" +msgstr "Slack innkommende webhook" #: plugin/builtin/integration/core_notifications.py:53 msgid "URL that is used to send messages to a slack channel" -msgstr "" +msgstr "URL brukt til å sende meldinger til en Slack-kanal" #: plugin/builtin/integration/core_notifications.py:163 msgid "Open link" -msgstr "" +msgstr "Åpne lenke" #: plugin/models.py:28 msgid "Plugin Configuration" @@ -7535,34 +7524,34 @@ msgstr "Test" #: report/templates/report/inventree_test_report_base.html:103 #: stock/models.py:2249 msgid "Result" -msgstr "" +msgstr "Resultat" #: report/templates/report/inventree_test_report_base.html:130 msgid "Pass" -msgstr "" +msgstr "Bestått" #: report/templates/report/inventree_test_report_base.html:132 msgid "Fail" -msgstr "" +msgstr "Mislykket" #: report/templates/report/inventree_test_report_base.html:139 msgid "No result (required)" -msgstr "" +msgstr "Ingen resultat (obligatorisk)" #: report/templates/report/inventree_test_report_base.html:141 msgid "No result" -msgstr "" +msgstr "Ingen resultat" #: report/templates/report/inventree_test_report_base.html:154 #: stock/templates/stock/stock_sidebar.html:16 msgid "Installed Items" -msgstr "" +msgstr "Installerte artikler" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 #: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" -msgstr "" +msgstr "Serienummer" #: stock/admin.py:39 stock/admin.py:108 msgid "Location ID" @@ -7579,32 +7568,32 @@ msgstr "" #: stock/admin.py:100 msgid "Stock Item ID" -msgstr "" +msgstr "Lagervare-ID" #: stock/admin.py:107 msgid "Status Code" -msgstr "" +msgstr "Statuskode" #: stock/admin.py:110 msgid "Supplier Part ID" -msgstr "" +msgstr "Leverandørdel-ID" #: stock/admin.py:111 msgid "Supplier ID" -msgstr "" +msgstr "Leverandør-ID" #: stock/admin.py:112 msgid "Supplier Name" -msgstr "" +msgstr "Leverandørnavn" #: stock/admin.py:113 msgid "Customer ID" -msgstr "" +msgstr "Kunde-ID" #: stock/admin.py:114 stock/models.py:708 #: stock/templates/stock/item_base.html:355 msgid "Installed In" -msgstr "" +msgstr "Installert i" #: stock/admin.py:115 msgid "Build ID" @@ -7612,25 +7601,25 @@ msgstr "" #: stock/admin.py:117 msgid "Sales Order ID" -msgstr "" +msgstr "Salgsordre-ID" #: stock/admin.py:118 msgid "Purchase Order ID" -msgstr "" +msgstr "Innkjøpsordre-ID" #: stock/admin.py:125 msgid "Review Needed" -msgstr "" +msgstr "Gjennomgang kreves" #: stock/admin.py:126 msgid "Delete on Deplete" -msgstr "" +msgstr "Slett når oppbrukt" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 #: templates/js/translated/stock.js:2120 msgid "Expiry Date" -msgstr "" +msgstr "Utløpsdato" #: stock/api.py:426 templates/js/translated/table_filters.js:379 msgid "External Location" @@ -7638,23 +7627,23 @@ msgstr "" #: stock/api.py:619 msgid "Quantity is required" -msgstr "" +msgstr "Antall kreves" #: stock/api.py:626 msgid "Valid part must be supplied" -msgstr "" +msgstr "Gyldig del må oppgis" #: stock/api.py:652 msgid "The given supplier part does not exist" -msgstr "" +msgstr "Oppgitt leverandørdel eksisterer ikke" #: stock/api.py:661 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" -msgstr "" +msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack_size\" er ikke satt" #: stock/api.py:679 msgid "Serial numbers cannot be supplied for a non-trackable part" -msgstr "" +msgstr "Serienumre kan ikke angis for en ikke-sporbar del" #: stock/models.py:54 stock/models.py:692 #: stock/templates/stock/location.html:17 @@ -7988,7 +7977,7 @@ msgstr "" #: stock/serializers.py:670 msgid "No stock items selected" -msgstr "" +msgstr "Ingen lagervarer valgt" #: stock/serializers.py:904 msgid "Part must be salable" @@ -8493,7 +8482,7 @@ msgstr "" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" -msgstr "" +msgstr "BOM venter godkjenning" #: templates/InvenTree/index.html:106 msgid "Recently Updated" @@ -9735,15 +9724,15 @@ msgstr "" #: templates/js/translated/bom.js:78 msgid "Create BOM Item" -msgstr "" +msgstr "Opprett BOM-artikkel" #: templates/js/translated/bom.js:132 msgid "Display row data" -msgstr "" +msgstr "Vis raddata" #: templates/js/translated/bom.js:188 msgid "Row Data" -msgstr "" +msgstr "Raddata" #: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 #: templates/js/translated/modals.js:71 templates/js/translated/modals.js:622 @@ -9751,153 +9740,153 @@ msgstr "" #: templates/js/translated/purchase_order.js:802 templates/modals.html:15 #: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 msgid "Close" -msgstr "" +msgstr "Lukk" #: templates/js/translated/bom.js:306 msgid "Download BOM Template" -msgstr "" +msgstr "Lat ned BOM-mal" #: templates/js/translated/bom.js:351 msgid "Multi Level BOM" -msgstr "" +msgstr "Flernivå-BOM" #: templates/js/translated/bom.js:352 msgid "Include BOM data for subassemblies" -msgstr "" +msgstr "Inkluder BOM-data for undersammenstillinger" #: templates/js/translated/bom.js:357 msgid "Levels" -msgstr "" +msgstr "Nivåer" #: templates/js/translated/bom.js:358 msgid "Select maximum number of BOM levels to export (0 = all levels)" -msgstr "" +msgstr "Velg maksimalt antall BOM-nivåer å eksportere (0 = alle nivåer)" #: templates/js/translated/bom.js:365 msgid "Include Alternative Parts" -msgstr "" +msgstr "Inkluder alternative deler" #: templates/js/translated/bom.js:366 msgid "Include alternative parts in exported BOM" -msgstr "" +msgstr "Inkluder alternative deler i eksportert BOM" #: templates/js/translated/bom.js:371 msgid "Include Parameter Data" -msgstr "" +msgstr "Inkluder parameterdata" #: templates/js/translated/bom.js:372 msgid "Include part parameter data in exported BOM" -msgstr "" +msgstr "Inkluder delparameterdata i eksportert BOM" #: templates/js/translated/bom.js:377 msgid "Include Stock Data" -msgstr "" +msgstr "Inkluder lagerbeholdningsdata" #: templates/js/translated/bom.js:378 msgid "Include part stock data in exported BOM" -msgstr "" +msgstr "Inkluder delbeholdningsdata i eksportert BOM" #: templates/js/translated/bom.js:383 msgid "Include Manufacturer Data" -msgstr "" +msgstr "Inkluder Produsentdata" #: templates/js/translated/bom.js:384 msgid "Include part manufacturer data in exported BOM" -msgstr "" +msgstr "Inkluder delprodusentdata i eksportert BOM" #: templates/js/translated/bom.js:389 msgid "Include Supplier Data" -msgstr "" +msgstr "Inkluder Leverandørdata" #: templates/js/translated/bom.js:390 msgid "Include part supplier data in exported BOM" -msgstr "" +msgstr "Inkluder delleverandørdata i eksportert BOM" #: templates/js/translated/bom.js:395 msgid "Include Pricing Data" -msgstr "" +msgstr "Inkluder prisdata" #: templates/js/translated/bom.js:396 msgid "Include part pricing data in exported BOM" -msgstr "" +msgstr "Inkluder delprisdata i eksportert BOM" #: templates/js/translated/bom.js:591 msgid "Remove substitute part" -msgstr "" +msgstr "Fjern erstatningsdel" #: templates/js/translated/bom.js:645 msgid "Select and add a new substitute part using the input below" -msgstr "" +msgstr "Velg og legg til en ny erstatningsdel ved hjelp av inntastingen under" #: templates/js/translated/bom.js:656 msgid "Are you sure you wish to remove this substitute part link?" -msgstr "" +msgstr "Er du sikker på at du vil fjerne koblingen til denne erstatningsdelen?" #: templates/js/translated/bom.js:662 msgid "Remove Substitute Part" -msgstr "" +msgstr "Fjern Erstatningsdel" #: templates/js/translated/bom.js:701 msgid "Add Substitute" -msgstr "" +msgstr "Legg til Erstatning" #: templates/js/translated/bom.js:702 msgid "Edit BOM Item Substitutes" -msgstr "" +msgstr "Rediger BOM-artikkelerstatninger" #: templates/js/translated/bom.js:764 msgid "All selected BOM items will be deleted" -msgstr "" +msgstr "Alle valgte BOM-artikler vil bli slettet" #: templates/js/translated/bom.js:780 msgid "Delete selected BOM items?" -msgstr "" +msgstr "Slett valgte BOM-artikler?" #: templates/js/translated/bom.js:826 msgid "Delete items" -msgstr "" +msgstr "Slett artikler" #: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" -msgstr "" +msgstr "Last inn BOM for undersammenstillinger" #: templates/js/translated/bom.js:934 msgid "Substitutes Available" -msgstr "" +msgstr "Erstatninger tilgjengelig" #: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" -msgstr "" +msgstr "Variantbeholdning tillatt" #: templates/js/translated/bom.js:1002 msgid "Substitutes" -msgstr "" +msgstr "Erstatninger" #: templates/js/translated/bom.js:1122 msgid "BOM pricing is complete" -msgstr "" +msgstr "BOM-prising er komplett" #: templates/js/translated/bom.js:1127 msgid "BOM pricing is incomplete" -msgstr "" +msgstr "BOM-prising er ufullstendig" #: templates/js/translated/bom.js:1134 msgid "No pricing available" -msgstr "" +msgstr "Ingen prising tilgjengelig" #: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" -msgstr "" +msgstr "Ingen lagerbeholdning tilgjengelig" #: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" -msgstr "" +msgstr "Inkluderer variant- og erstatningsbeholdning" #: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" -msgstr "" +msgstr "Inkluderer variantbeholdning" #: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" @@ -9909,7 +9898,7 @@ msgstr "Forbruksvare" #: templates/js/translated/bom.js:1264 msgid "Validate BOM Item" -msgstr "Godkjenn stykklisteartikkel" +msgstr "Godkjenn BOM-artikkel" #: templates/js/translated/bom.js:1266 msgid "This line has been validated" @@ -9921,11 +9910,11 @@ msgstr "Rediger erstatningsdeler" #: templates/js/translated/bom.js:1270 templates/js/translated/bom.js:1465 msgid "Edit BOM Item" -msgstr "Rediger stykklisteartikkel" +msgstr "Rediger BOM-artikkel" #: templates/js/translated/bom.js:1272 msgid "Delete BOM Item" -msgstr "Slett stykklisteartikkel" +msgstr "Slett BOM-artikkel" #: templates/js/translated/bom.js:1292 msgid "View BOM" @@ -9933,7 +9922,7 @@ msgstr "Vis stykkliste" #: templates/js/translated/bom.js:1376 msgid "No BOM items found" -msgstr "Ingen stykklisteartikler funnet" +msgstr "Ingen BOM-artikler funnet" #: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" @@ -10983,7 +10972,7 @@ msgstr "Du har avsluttet abonnementet på varsler for denne artikkelen" #: templates/js/translated/part.js:596 msgid "Validating the BOM will mark each line item as valid" -msgstr "Godkjenning av stykkliste vil merke hvert linjeelement som godkjent" +msgstr "Godkjenning av BOM vil merke hvert linjeelement som godkjent" #: templates/js/translated/part.js:606 msgid "Validate Bill of Materials" @@ -11263,7 +11252,7 @@ msgstr "" #: templates/js/translated/pricing.js:321 msgid "No BOM data available" -msgstr "" +msgstr "Ingen BOM-data tilgjengelig" #: templates/js/translated/pricing.js:463 msgid "No supplier pricing data available" @@ -12231,7 +12220,7 @@ msgstr "" #: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" -msgstr "" +msgstr "Lagervaren peker til en Del som er BOMen for denne lagervaren" #: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 49530933e6..840d9ad2de 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -55,7 +55,7 @@ msgstr "Wprowadź dane" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Wybierz plik do załączenia" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Wybierz plik do załączenia" msgid "Link" msgstr "Łącze" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -284,8 +284,8 @@ msgstr "Komentarz pliku" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Błędny wybór" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Nazwa" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Odwołanie do zamówienia wykonania" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Kod partii" msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Użytkownik, który wydał to zamówienie" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Szablon" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Złożenie" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Komponent" @@ -2284,7 +2284,7 @@ msgstr "Komponent" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Możliwość zakupu" @@ -2292,7 +2292,7 @@ msgstr "Możliwość zakupu" msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Możliwość sprzedaży" @@ -2301,7 +2301,7 @@ msgstr "Możliwość sprzedaży" msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Możliwość śledzenia" msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "Uwaga" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "wielokrotność" @@ -4365,8 +4365,9 @@ msgstr "Wzór nazwy pliku" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "Filtry" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nazwa komponentu" @@ -5367,19 +5356,19 @@ msgstr "Nazwa komponentu" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Wersja" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Słowa kluczowe" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Wariant" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5430,11 +5419,11 @@ msgstr "Użyte w" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "IPN komponentu" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Domyślna lokalizacja" @@ -5534,7 +5523,7 @@ msgstr "Dostępna ilość" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "Nieprawidłowy wybór dla części nadrzędnej" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, 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:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN musi być zgodny z wyrażeniem regularnym {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "Nazwa komponentu" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "Czy szablon" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "Czy ta część stanowi szablon części?" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "Czy ta część jest wariantem innej części?" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "Kategoria" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "Domyślne wygasanie" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "Czy ten komponent może być zbudowany z innych komponentów?" -#: part/models.py:1004 +#: part/models.py:1007 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:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:1030 +#: part/models.py:1033 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:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "Tworzenie użytkownika" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Ostatnia inwentaryzacja" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "Data" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Wymagane" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Wymaga wartości" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "Dane" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "Poziom" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "Element BOM" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 43db866694..0a83fef3ad 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -55,7 +55,7 @@ msgstr "Insira uma Data" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Selecione arquivo para anexar" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Selecione arquivo para anexar" msgid "Link" msgstr "Link" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Link para URL externa" @@ -284,8 +284,8 @@ msgstr "Comentario sobre arquivo" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Escolha inválida" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Nome" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Sobre o InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Consumível" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Referência do pedido de produção" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Código de Lote" msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Usuário que emitiu esta ordem de produção" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "Objeto de produção" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Modelo" msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Montagem" msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Componente" @@ -2284,7 +2284,7 @@ msgstr "Componente" msgid "Parts can be used as sub-components by default" msgstr "Peças podem ser usadas como sub-componentes por padrão" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Comprável" @@ -2292,7 +2292,7 @@ msgstr "Comprável" msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Vendível" @@ -2301,7 +2301,7 @@ msgstr "Vendível" msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Rastreável" msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "Ponto final em qual o gancho web foi recebido" msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "Lida" msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Valor do Parâmetro" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "Descrição da peça fornecedor" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "Descrição da peça fornecedor" msgid "Note" msgstr "Anotação" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "preço base" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" @@ -3827,7 +3827,7 @@ msgstr "Quantidade de embalagens" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Quantidade total fornecida em um único pacote. Deixe em branco para itens únicos." -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "múltiplo" @@ -4365,9 +4365,10 @@ msgstr "Padrão de Nome de Arquivo" msgid "Pattern for generating label filenames" msgstr "Padrão para gerar nomes do arquivo das etiquetas" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "Filtros de consulta (lista de valores separados por vírgula)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 #: label/models.py:356 report/models.py:294 report/models.py:454 @@ -4375,24 +4376,12 @@ msgstr "Filtros de consulta (lista de valores separados por vírgula)," msgid "Filters" msgstr "Filtros" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "Filtros de consulta (lista de valores separados por vírgula" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "Filtros de consulta de peça (lista de valores separados por vírgula)" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" -msgstr "Código QC" +msgid "QR Code" +msgstr "" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 @@ -5353,12 +5342,12 @@ msgstr "Atualizado {part} unid.-preço para {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID da Peça" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome da Peça" @@ -5367,19 +5356,19 @@ msgstr "Nome da Peça" msgid "Part Description" msgstr "Descrição da Peça" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "IPN" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisão" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Palavras chave" @@ -5400,11 +5389,11 @@ msgstr "ID Local Padrão" msgid "Default Supplier ID" msgstr "ID de Fornecedor Padrão" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Variante de" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -5430,11 +5419,11 @@ msgstr "Usado em" msgid "Building" msgstr "Produzindo" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "Custo Mínimo" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "Custo Máximo" @@ -5474,7 +5463,7 @@ msgstr "ID Item LDM" msgid "Parent IPN" msgstr "IPN Paternal" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "IPN da Peça" @@ -5516,7 +5505,7 @@ msgstr "Validar a Lista de Materiais completa" msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Local Padrão" @@ -5534,7 +5523,7 @@ msgstr "Estoque Disponível" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" @@ -5579,61 +5568,61 @@ msgstr "Ícone (opcional)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "Escolha inválida para peça parental" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Parte '{p1}' é usada na LDM para '{p2}' (recursiva)" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN deve corresponder ao padrão regex {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "Item em estoque com este número de série já existe" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "Não é permitido duplicar IPN em configurações de partes" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "Uma parte com este Nome, IPN e Revisão já existe." -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "Nome da peça" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "É um modelo" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "Esta peça é uma peça modelo?" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "Esta peça é variante de outra peça?" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "Descrição da peça (opcional)" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" msgid "Category" msgstr "Categoria" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "Onde este item é armazenado normalmente?" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Fornecedor Padrão" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "Fornecedor padrão da peça" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "Validade Padrão" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "Validade (em dias) para itens do estoque desta peça" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "Nível mínimo de estoque permitido" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "Unidade de medida para esta peça" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "Essa peça pode ser construída a partir de outras peças?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "Essa peça pode ser usada para construir outras peças?" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "Esta parte tem rastreamento para itens únicos?" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "Esta peça pode ser comprada de fornecedores externos?" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "Esta peça pode ser vendida a clientes?" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "Esta parte está ativa?" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "Esta é uma peça virtual, como um software de produto ou licença?" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "Soma de Verificação da LDM" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "Soma de verificação da LDM armazenada" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "LDM conferida por" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "LDM verificada no dia" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "Criação de Usuário" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "Usuário responsável por esta peça" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "Último Balanço" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "Venda múltipla" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "Moeda usada para armazenar os cálculos de preços" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "Custo Mínimo da LDM" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "Custo mínimo das peças componentes" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "Custo Máximo da LDM" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "Custo máximo das peças componentes" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "Custo Mínimo de Compra" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "Custo mínimo histórico de compra" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "Custo Máximo de Compra" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "Custo máximo histórico de compra" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "Preço Interno Mínimo" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "Custo mínimo baseado nos intervalos de preço internos" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "Preço Interno Máximo" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "Custo máximo baseado nos intervalos de preço internos" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "Preço Mínimo do Fornecedor" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "Preço mínimo da peça de fornecedores externos" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "Preço Máximo do Fornecedor" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "Preço máximo da peça de fornecedores externos" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "Custo Mínimo variável" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "Custo mínimo calculado das peças variáveis" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "Custo Máximo Variável" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "Custo máximo calculado das peças variáveis" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "Custo total mínimo calculado" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "Custo total máximo calculado" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "Preço Mínimo de Venda" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "Preço mínimo de venda baseado nos intervalos de preço" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "Preço Máximo de Venda" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "Preço máximo de venda baseado nos intervalos de preço" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "Custo Mínimo de Venda" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "Preço histórico mínimo de venda" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "Custo Máximo de Venda" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "Preço histórico máximo de venda" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "Peça para Balanço" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "Total de Itens" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "Número de entradas de estoques individuais no momento do balanço" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "Estoque total disponível no momento do balanço" msgid "Date" msgstr "Data" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "Data de realização do balanço" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "Notas adicionais" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "Usuário que fez o balanço" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "Custo Mínimo de Estoque" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "Custo mínimo estimado de estoque disponível" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "Custo Máximo de Estoque" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "Custo máximo estimado de estoque disponível" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "Reportar" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "Arquivo de Relatório de Balanço (gerado internamente)" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "Contagem de Peças" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "Número de peças cobertas pelo Balanço" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "Usuário que solicitou este relatório de balanço" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "Modelos de teste só podem ser criados para peças rastreáveis" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "O teste com este nome já existe para esta peça" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Nome de Teste" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "Insira um nome para o teste" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "Descrição do Teste" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Requerido" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "Este teste é obrigatório passar?" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "Requer Valor" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "Este teste requer um valor ao adicionar um resultado de teste?" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "Anexo obrigatório" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "Nome do modelo de parâmetro deve ser único" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "Nome do Parâmetro" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "Descrição do Parâmetro" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "Dados" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "Nível" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "Item LDM" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Validado" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "O item da LDM foi calidado" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da LDM é herdado por LDMs para peças variáveis" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Permitir variações" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "A peça de substituição não pode ser a mesma que a peça mestre" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacionamento da peça não pode ser criada com ela mesma" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index ada5f437c0..d8ce4a3430 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: 2023-06-21 06:43+0000\n" +"POT-Creation-Date: 2023-06-24 04:38+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -26,19 +26,19 @@ msgstr "" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 msgid "No value provided" msgstr "" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" msgstr "" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -56,7 +56,7 @@ msgstr "" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -69,7 +69,7 @@ msgstr "" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "" @@ -255,12 +255,12 @@ msgstr "" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -269,7 +269,7 @@ msgstr "" msgid "Link" msgstr "" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -285,11 +285,11 @@ msgstr "" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "" @@ -331,8 +331,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -343,7 +343,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "" @@ -354,7 +354,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -364,20 +364,20 @@ msgstr "" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "" @@ -390,7 +390,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "" @@ -426,12 +426,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -868,16 +868,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -901,7 +901,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "" @@ -926,13 +926,13 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -956,10 +956,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -978,14 +978,14 @@ msgstr "" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -997,9 +997,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "" @@ -1016,7 +1016,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "" @@ -1066,7 +1066,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1082,7 +1082,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "" @@ -1090,7 +1090,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "" @@ -1102,10 +1102,10 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1138,7 +1138,7 @@ msgstr "" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1192,7 +1192,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1208,12 +1208,12 @@ msgstr "" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1228,8 +1228,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "" @@ -1267,7 +1267,7 @@ msgstr "" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1275,7 +1275,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "" @@ -1296,7 +1296,7 @@ msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "" @@ -1361,7 +1361,7 @@ msgstr "" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1369,8 +1369,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "" @@ -1398,13 +1398,13 @@ msgstr "" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "" @@ -1590,7 +1590,7 @@ msgstr "" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1695,7 +1695,7 @@ msgstr "" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1739,7 +1739,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "" @@ -1750,7 +1750,7 @@ msgid "Issued By" msgstr "" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "" @@ -1793,11 +1793,11 @@ msgstr "" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1807,7 +1807,7 @@ msgstr "" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "" @@ -2255,7 +2255,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2265,7 +2265,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2276,7 +2276,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2285,7 +2285,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2293,7 +2293,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2302,7 +2302,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2313,7 +2313,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3288,7 +3288,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3391,7 +3391,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3718,10 +3718,10 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "" @@ -3785,7 +3785,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3794,11 +3794,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3806,7 +3806,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "" @@ -3828,7 +3828,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3928,7 +3928,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4190,7 +4190,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "" @@ -4284,7 +4284,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4366,8 +4366,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4376,23 +4377,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -4424,7 +4413,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4433,7 +4422,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 msgid "Return Order" msgstr "" @@ -4638,7 +4627,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "" @@ -5135,7 +5124,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5324,7 +5313,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5354,12 +5343,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5368,19 +5357,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5401,11 +5390,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5416,8 +5405,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5427,15 +5416,15 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5458,7 +5447,7 @@ msgstr "" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "" @@ -5475,7 +5464,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5517,7 +5506,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5535,7 +5524,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5550,7 +5539,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5580,312 +5569,312 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5893,322 +5882,322 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" @@ -6593,7 +6582,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6604,7 +6593,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6791,7 +6780,7 @@ msgstr "" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -6871,7 +6860,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -6894,7 +6883,7 @@ msgstr "" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" msgstr "" @@ -6968,9 +6957,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -7003,7 +6992,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7067,7 +7056,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" @@ -7282,17 +7271,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7508,8 +7497,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7561,7 +7550,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7629,7 +7618,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7682,7 +7671,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8088,7 +8077,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8110,7 +8099,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8184,7 +8173,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "" @@ -8250,7 +8239,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "" @@ -8394,7 +8383,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 msgid "stock location" msgstr "" @@ -8934,7 +8923,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9505,7 +9494,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9519,7 +9508,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -9866,7 +9855,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -9886,25 +9875,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -9936,7 +9925,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10105,7 +10094,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" msgstr "" @@ -10125,195 +10114,195 @@ msgstr "" msgid "Delete outputs" msgstr "" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 msgid "build output" msgstr "" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 msgid "build outputs" msgstr "" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 msgid "Build output actions" msgstr "" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 msgid "Allocated Lines" msgstr "" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 msgid "Remove stock allocation" msgstr "" @@ -10460,7 +10449,7 @@ msgid "Delete Parameters" msgstr "" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "" @@ -10558,45 +10547,45 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 msgid "Print Reports" msgstr "" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 msgid "Download table data" msgstr "" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11092,117 +11081,117 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 msgid "parts" msgstr "" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -11993,7 +11982,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "" @@ -12081,184 +12070,184 @@ msgstr "" msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 msgid "Change Stock Status" msgstr "" @@ -12552,51 +12541,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index 2062dbf391..adf07b9c11 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -55,7 +55,7 @@ msgstr "Введите дату" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Выберите файл для вложения" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Выберите файл для вложения" msgid "Link" msgstr "Ссылка" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -284,8 +284,8 @@ msgstr "Комментарий к файлу" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Неверный выбор" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Название" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Должно быть действительным номером" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Ссылка на заказ" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Код партии" msgid "Batch code for this build output" msgstr "Код партии для этого вывода сборки" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Пользователь, выпустивший этот заказ н #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Шаблон" msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Сборка" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Компонент" @@ -2284,7 +2284,7 @@ msgstr "Компонент" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Можно продавать" @@ -2301,7 +2301,7 @@ msgstr "Можно продавать" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Отслеживание" msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Значение параметра" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "Заметка" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "Фильтры" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Артикул" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Наименование детали" @@ -5367,19 +5356,19 @@ msgstr "Наименование детали" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Версия" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Ключевые слова" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Разновидность" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5430,11 +5419,11 @@ msgstr "Сборки" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "IPN" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Место хранения по умолчанию" @@ -5534,7 +5523,7 @@ msgstr "Доступный запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN должен совпадать с регулярным выражением {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "Наименование детали" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "Шаблон" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "Эта деталь является шаблоном для других деталей?" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "Эта деталь является разновидностью другой детали?" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "Ключевые слова для улучшения видимости msgid "Category" msgstr "Категория" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "Категория" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "Внутренний код детали" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "Версия детали" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "Где обычно хранится эта деталь?" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "Минимально допустимый складской запас" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "Может ли эта деталь быть создана из других деталей?" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "Может ли эта деталь использоваться для создания других деталей?" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "Может ли эта деталь быть продана покупателям?" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "Эта деталь актуальна?" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "Эта деталь виртуальная, как программный продукт или лицензия?" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "BOM Компонент" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index aed569b14d..44bb3a340f 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -55,7 +55,7 @@ msgstr "Vnesi datum" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Izberite prilogo" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Izberite prilogo" msgid "Link" msgstr "Povezava" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -284,8 +284,8 @@ msgstr "Komentar datoteke" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Nedovoljena izbira" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Ime" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Referenca naloga izgradnje" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Številka serije" msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "Notranja številka dela se mora ujemati z vzorcem {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 9a2124dbef..88ea68e44c 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -55,7 +55,7 @@ msgstr "Ange datum" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Välj fil att bifoga" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Välj fil att bifoga" msgid "Link" msgstr "Länk" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -284,8 +284,8 @@ msgstr "Fil kommentar" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Ogiltigt val" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Namn" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Byggorderreferens" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Batchkod" msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Användare som utfärdade denna byggorder" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN måste matcha regex mönster {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 567240b04d..092d9f2378 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:44\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -55,7 +55,7 @@ msgstr "ป้อนวันที่" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" msgid "Link" msgstr "ลิงก์" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "" @@ -284,8 +284,8 @@ msgstr "ความเห็นของไฟล์" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "ชื่อ" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "เกี่ยวกับ Inventree" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index f05b5079c4..b479e05621 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -55,7 +55,7 @@ msgstr "Tarih giriniz" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Eklenecek dosyayı seç" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Eklenecek dosyayı seç" msgid "Link" msgstr "Bağlantı" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -284,8 +284,8 @@ msgstr "Dosya yorumu" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "Geçersiz seçim" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "Adı" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "InvenTree Hakkında" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "Yapım İşi Emri Referansı" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "Sıra numarası" msgid "Batch code for this build output" msgstr "Yapım işi çıktısı için sıra numarası" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "Bu yapım işi emrini veren kullanıcı" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "Şablon" msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "Montaj" 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:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "Bileşen" @@ -2284,7 +2284,7 @@ msgstr "Bileşen" 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:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "Satın Alınabilir" @@ -2292,7 +2292,7 @@ msgstr "Satın Alınabilir" msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "Satılabilir" @@ -2301,7 +2301,7 @@ msgstr "Satılabilir" msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "Takip Edilebilir" msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "Parametre değeri" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "Not" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "çoklu" @@ -4365,8 +4365,9 @@ msgstr "Dosya Adı Deseni" msgid "Pattern for generating label filenames" msgstr "Etiket dosya adları oluşturma için desen" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "Filtreler" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "DPN" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revizyon" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "Anahtar kelimeler" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "Çeşidi" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "Varsayılan Konum" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN regex kalıbıyla eşleşmelidir {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "Parça adı" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:864 +#: part/models.py:867 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:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:1004 +#: part/models.py:1007 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:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 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:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "Gerekli" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 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:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:3867 +#: part/models.py:3870 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:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index f5c6a88a5f..9c7786536b 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -55,7 +55,7 @@ msgstr "Nhập ngày" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "Chọn file đính kèm" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "Chọn file đính kèm" msgid "Link" msgstr "Liên kết" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -284,8 +284,8 @@ msgstr "Bình luận tệp tin" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "Giới thiệu" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "" @@ -2284,7 +2284,7 @@ msgstr "" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "" @@ -2292,7 +2292,7 @@ msgstr "" msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "" @@ -2301,7 +2301,7 @@ msgstr "" msgid "Parts are salable by default" msgstr "" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "" msgid "Parts are trackable by default" msgstr "" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "" msgid "Note" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "" @@ -3827,7 +3827,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,8 +4365,9 @@ msgstr "" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4375,23 +4376,11 @@ msgstr "" msgid "Filters" msgstr "" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5367,19 +5356,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "" @@ -5430,11 +5419,11 @@ msgstr "" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "" @@ -5534,7 +5523,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5579,61 +5568,61 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "" msgid "Category" msgstr "" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index f9cea27d5f..0a88174ccd 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: 2023-06-23 07:27+0000\n" -"PO-Revision-Date: 2023-06-23 07:42\n" +"POT-Creation-Date: 2023-06-23 22:42+0000\n" +"PO-Revision-Date: 2023-06-24 07:43\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -55,7 +55,7 @@ msgstr "输入日期" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -254,7 +254,7 @@ msgstr "选择附件" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 @@ -268,7 +268,7 @@ msgstr "选择附件" msgid "Link" msgstr "链接" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -284,8 +284,8 @@ msgstr "文件注释" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 #: templates/js/translated/stock.js:2899 @@ -330,8 +330,8 @@ msgid "Invalid choice" msgstr "选择无效" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -353,7 +353,7 @@ msgstr "名称" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -425,12 +425,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -867,14 +867,14 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 #: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 @@ -925,7 +925,7 @@ msgstr "相关生产订单" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 @@ -955,10 +955,10 @@ msgstr "此次生产匹配的订单" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1065,7 +1065,7 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1101,7 +1101,7 @@ msgstr "发布此生产订单的用户" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 @@ -1191,7 +1191,7 @@ msgstr "" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -2254,7 +2254,7 @@ msgstr "复制类别参数模板" msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2264,7 +2264,7 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "零件默认为模板" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2275,7 +2275,7 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "组件" @@ -2284,7 +2284,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "默认情况下可以从其他组件组装部件" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "可购买" @@ -2292,7 +2292,7 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "可销售" @@ -2301,7 +2301,7 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2312,7 +2312,7 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3287,7 +3287,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3390,7 +3390,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3717,7 +3717,7 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 #: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 @@ -3784,7 +3784,7 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3793,11 +3793,11 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" @@ -3827,7 +3827,7 @@ msgstr "包装数量" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -4365,9 +4365,10 @@ msgstr "文件名样式" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," -msgstr "查询筛选器 (逗号分隔的键值对列表)" +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 #: label/models.py:356 report/models.py:294 report/models.py:454 @@ -4375,23 +4376,11 @@ msgstr "查询筛选器 (逗号分隔的键值对列表)" msgid "Filters" msgstr "筛选器" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "查询筛选器 (逗号分隔的键值对列表" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "商品查询筛选器 (逗号分隔的键值对列表)" - -#: label/models.py:355 -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 -msgid "QC Code" +msgid "QR Code" msgstr "" #: label/templates/label/part/part_label_code128.html:31 @@ -5353,12 +5342,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "部件名称" @@ -5367,19 +5356,19 @@ msgstr "部件名称" msgid "Part Description" msgstr "部件描述" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "版本号" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "关键词" @@ -5400,11 +5389,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "最低库存" @@ -5430,11 +5419,11 @@ msgstr "用于" msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5474,7 +5463,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5516,7 +5505,7 @@ msgstr "" msgid "This option must be selected" msgstr "必须选择此项" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "默认仓储地点" @@ -5534,7 +5523,7 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "输入数量以计算价格" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -5579,61 +5568,61 @@ msgstr "图标(可选)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "商品名称" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 msgid "Part description (optional)" msgstr "" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 @@ -5642,249 +5631,249 @@ msgstr "提高搜索结果可见性的关键字" msgid "Category" msgstr "类别" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "商品类别" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "允许的最小库存量" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "该部件的计量单位" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 #: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "最低购买成本" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "最大购买成本" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "最高历史购买成本" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "最低内部价格" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "最大内部价格" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -5896,318 +5885,318 @@ msgstr "" msgid "Date" msgstr "日期" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "附加注释" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "报告" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2800 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2809 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2817 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2824 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 msgid "Choices must be unique" msgstr "" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "BOM项" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "子部件" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "选择相关的部件" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index f9c1e4050d..b735a15039 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-21 06:43+0000\n" +"POT-Creation-Date: 2023-06-24 04:38+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -25,23 +25,23 @@ msgstr "未找到 API 端点" msgid "User does not have permission to view this model" msgstr "" -#: InvenTree/conversion.py:62 +#: InvenTree/conversion.py:73 #, fuzzy #| msgid "No value set" msgid "No value provided" msgstr "未设置值" -#: InvenTree/conversion.py:84 +#: InvenTree/conversion.py:95 #, fuzzy #| msgid "Chosen value is not a valid option" msgid "Provided value is not a valid number" msgstr "选择的值不是一个有效的选项" -#: InvenTree/conversion.py:86 +#: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" msgstr "" -#: InvenTree/conversion.py:88 +#: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" msgstr "" @@ -59,7 +59,7 @@ msgstr "输入日期" #: order/models.py:1102 order/templates/order/po_sidebar.html:11 #: order/templates/order/return_order_sidebar.html:9 #: order/templates/order/so_sidebar.html:17 part/admin.py:41 -#: part/models.py:3039 part/templates/part/part_sidebar.html:63 +#: part/models.py:3042 part/templates/part/part_sidebar.html:63 #: report/templates/report/inventree_build_order_base.html:172 #: stock/admin.py:121 stock/models.py:2160 stock/models.py:2268 #: stock/serializers.py:408 stock/serializers.py:542 stock/serializers.py:623 @@ -72,7 +72,7 @@ msgstr "输入日期" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2321 +#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 msgid "Notes" msgstr "备注" @@ -258,12 +258,12 @@ msgstr "选择附件" #: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 -#: part/admin.py:39 part/models.py:902 +#: part/admin.py:39 part/models.py:905 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 -#: templates/js/translated/part.js:2392 +#: templates/js/translated/part.js:2389 #: templates/js/translated/purchase_order.js:2018 #: templates/js/translated/purchase_order.js:2182 #: templates/js/translated/return_order.js:776 @@ -272,7 +272,7 @@ msgstr "选择附件" msgid "Link" msgstr "链接" -#: InvenTree/models.py:494 build/models.py:295 part/models.py:903 +#: InvenTree/models.py:494 build/models.py:295 part/models.py:906 #: stock/models.py:735 msgid "Link to external URL" msgstr "链接到外部 URL" @@ -288,11 +288,11 @@ msgstr "文件注释" #: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 #: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3047 -#: part/models.py:3135 part/models.py:3214 part/models.py:3234 +#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2904 +#: templates/js/translated/stock.js:2899 msgid "User" msgstr "用户" @@ -334,8 +334,8 @@ msgid "Invalid choice" msgstr "选择无效" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 -#: company/models.py:539 label/models.py:111 part/models.py:848 -#: part/models.py:3434 plugin/models.py:42 report/models.py:160 +#: company/models.py:539 label/models.py:111 part/models.py:851 +#: part/models.py:3437 plugin/models.py:42 report/models.py:160 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -346,7 +346,7 @@ msgstr "选择无效" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2684 templates/js/translated/stock.js:2595 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 msgid "Name" msgstr "名称" @@ -357,7 +357,7 @@ msgstr "名称" #: company/templates/company/manufacturer_part.html:75 #: company/templates/company/supplier_part.html:108 label/models.py:118 #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 -#: part/models.py:870 part/models.py:3450 part/templates/part/category.html:81 +#: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 #: part/templates/part/part_scheduling.html:12 report/models.py:173 #: report/models.py:589 report/models.py:633 @@ -367,20 +367,20 @@ msgstr "名称" #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 -#: templates/js/translated/build.js:2062 templates/js/translated/company.js:517 +#: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 #: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 -#: templates/js/translated/part.js:1932 templates/js/translated/part.js:2323 -#: templates/js/translated/part.js:2720 templates/js/translated/part.js:2811 +#: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 +#: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 #: templates/js/translated/purchase_order.js:1827 #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1974 -#: templates/js/translated/stock.js:2627 templates/js/translated/stock.js:2699 +#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 +#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 msgid "Description" msgstr "描述信息" @@ -393,7 +393,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2729 templates/js/translated/stock.js:2636 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 msgid "Path" msgstr "路径" @@ -431,12 +431,12 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3941 +#: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" msgstr "必须是有效数字" #: InvenTree/serializers.py:90 company/models.py:150 -#: company/templates/company/company_base.html:107 part/models.py:2886 +#: company/templates/company/company_base.html:107 part/models.py:2889 #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" @@ -893,16 +893,16 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:286 part/models.py:3833 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2449 +#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3827 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2458 +#: templates/js/translated/build.js:2454 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -914,8 +914,8 @@ msgstr "可选项" msgid "Tracked" msgstr "" -#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1670 -#: templates/js/translated/build.js:2549 +#: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 +#: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" @@ -926,7 +926,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2760 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 msgid "Build Order" msgstr "生产订单" @@ -951,13 +951,13 @@ msgstr "相关生产订单" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3842 part/templates/part/upload_bom.html:54 +#: part/models.py:3845 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2441 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2043 #: templates/js/translated/return_order.js:725 @@ -983,10 +983,10 @@ msgstr "此次生产匹配的订单" #: build/models.py:185 build/templates/build/build_base.html:98 #: build/templates/build/detail.html:29 company/models.py:924 #: order/models.py:1208 order/models.py:1324 order/models.py:1325 -#: part/models.py:392 part/models.py:2899 part/models.py:3013 -#: part/models.py:3153 part/models.py:3172 part/models.py:3191 -#: part/models.py:3212 part/models.py:3304 part/models.py:3589 -#: part/models.py:3712 part/models.py:3807 part/models.py:4121 +#: part/models.py:392 part/models.py:2902 part/models.py:3016 +#: part/models.py:3156 part/models.py:3175 part/models.py:3194 +#: part/models.py:3215 part/models.py:3307 part/models.py:3592 +#: part/models.py:3715 part/models.py:3810 part/models.py:4124 #: part/serializers.py:904 part/serializers.py:1307 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 @@ -1005,14 +1005,14 @@ msgstr "此次生产匹配的订单" #: templates/email/overdue_build_order.html:16 #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 -#: templates/js/translated/build.js:1289 templates/js/translated/build.js:1669 -#: templates/js/translated/build.js:2085 templates/js/translated/build.js:2261 +#: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 #: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 -#: templates/js/translated/part.js:1917 templates/js/translated/part.js:1989 -#: templates/js/translated/part.js:2292 templates/js/translated/pricing.js:369 +#: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 +#: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 #: templates/js/translated/purchase_order.js:1826 @@ -1024,9 +1024,9 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1913 -#: templates/js/translated/stock.js:2725 templates/js/translated/stock.js:2958 -#: templates/js/translated/stock.js:3095 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 +#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:3090 msgid "Part" msgstr "商品" @@ -1043,7 +1043,7 @@ msgid "SalesOrder to which this build is allocated" msgstr "此次生产匹配的销售订单" #: build/models.py:207 build/serializers.py:946 -#: templates/js/translated/build.js:1657 +#: templates/js/translated/build.js:1653 #: templates/js/translated/sales_order.js:1185 msgid "Source Location" msgstr "来源地点" @@ -1093,7 +1093,7 @@ msgstr "批量代码" msgid "Batch code for this build output" msgstr "此生产产出的批量代码" -#: build/models.py:257 order/models.py:248 part/models.py:1039 +#: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 #: templates/js/translated/return_order.js:339 #: templates/js/translated/sales_order.js:827 @@ -1109,7 +1109,7 @@ msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" #: build/models.py:265 order/models.py:422 order/models.py:1780 -#: templates/js/translated/build.js:2170 +#: templates/js/translated/build.js:2166 msgid "Completion Date" msgstr "完成日期:" @@ -1117,7 +1117,7 @@ msgstr "完成日期:" msgid "completed by" msgstr "完成人" -#: build/models.py:279 templates/js/translated/build.js:2130 +#: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" msgstr "发布者" @@ -1129,10 +1129,10 @@ msgstr "发布此生产订单的用户" #: build/templates/build/detail.html:122 order/models.py:262 #: order/templates/order/order_base.html:217 #: order/templates/order/return_order_base.html:189 -#: order/templates/order/sales_order_base.html:229 part/models.py:1043 +#: order/templates/order/sales_order_base.html:229 part/models.py:1046 #: part/templates/part/part_base.html:392 #: report/templates/report/inventree_build_order_base.html:158 -#: templates/js/translated/build.js:2142 +#: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 #: templates/js/translated/return_order.js:359 #: templates/js/translated/table_filters.js:467 @@ -1165,7 +1165,7 @@ msgstr "此构建订单的优先级" #: build/models.py:309 common/models.py:104 order/admin.py:17 #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 -#: templates/js/translated/build.js:2067 +#: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 #: templates/js/translated/return_order.js:318 #: templates/js/translated/sales_order.js:806 @@ -1227,7 +1227,7 @@ msgstr "生产备注" #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3026 part/models.py:3823 +#: part/forms.py:47 part/models.py:3029 part/models.py:3826 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1243,12 +1243,12 @@ msgstr "生产备注" #: templates/email/build_order_completed.html:18 #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 -#: templates/js/translated/build.js:722 templates/js/translated/build.js:1308 -#: templates/js/translated/build.js:1672 templates/js/translated/build.js:2283 +#: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 -#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3248 +#: templates/js/translated/part.js:1783 templates/js/translated/part.js:3242 #: templates/js/translated/pricing.js:381 #: templates/js/translated/pricing.js:474 #: templates/js/translated/pricing.js:522 @@ -1263,8 +1263,8 @@ msgstr "生产备注" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2889 -#: templates/js/translated/stock.js:2970 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 +#: templates/js/translated/stock.js:2965 msgid "Quantity" msgstr "数量" @@ -1306,7 +1306,7 @@ msgstr "在BOM中找不到选定的库存项" #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 -#: templates/js/translated/build.js:1671 +#: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 #: templates/js/translated/sales_order.js:1198 #: templates/js/translated/sales_order.js:1497 @@ -1314,7 +1314,7 @@ msgstr "在BOM中找不到选定的库存项" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2845 +#: templates/js/translated/stock.js:2840 msgid "Stock Item" msgstr "库存项" @@ -1335,7 +1335,7 @@ msgid "Destination stock item" msgstr "目标库存项" #: build/serializers.py:156 build/serializers.py:828 -#: templates/js/translated/build.js:1299 +#: templates/js/translated/build.js:1295 msgid "Build Output" msgstr "生产产出" @@ -1400,7 +1400,7 @@ msgstr "必须提供生产产出列表" #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2298 +#: templates/js/translated/build.js:2294 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 #: templates/js/translated/sales_order.js:1509 @@ -1408,8 +1408,8 @@ msgstr "必须提供生产产出列表" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2094 -#: templates/js/translated/stock.js:2739 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 +#: templates/js/translated/stock.js:2734 msgid "Location" msgstr "地点" @@ -1443,13 +1443,13 @@ msgstr "已完成生产产出的仓储地点" #: build/templates/build/detail.html:62 order/models.py:804 #: order/models.py:1763 order/serializers.py:530 stock/admin.py:106 #: stock/serializers.py:677 stock/templates/stock/item_base.html:423 -#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2114 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2069 templates/js/translated/stock.js:2863 -#: templates/js/translated/stock.js:2986 +#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 +#: templates/js/translated/stock.js:2981 msgid "Status" msgstr "状态" @@ -1641,7 +1641,7 @@ msgstr "商品名称" #: part/templates/part/part_base.html:43 #: stock/templates/stock/item_base.html:41 #: stock/templates/stock/location.html:54 -#: templates/js/translated/filters.js:336 +#: templates/js/translated/filters.js:335 msgid "Barcode actions" msgstr "" @@ -1746,7 +1746,7 @@ msgstr "库存尚未被完全分配到此构建订单" #: order/templates/order/return_order_base.html:165 #: order/templates/order/sales_order_base.html:193 #: report/templates/report/inventree_build_order_base.html:125 -#: templates/js/translated/build.js:2162 templates/js/translated/part.js:1801 +#: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 #: templates/js/translated/purchase_order.js:2125 #: templates/js/translated/return_order.js:347 @@ -1790,7 +1790,7 @@ msgstr "已完成输出" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2792 +#: templates/js/translated/stock.js:2787 msgid "Sales Order" msgstr "销售订单" @@ -1801,7 +1801,7 @@ msgid "Issued By" msgstr "发布者" #: build/templates/build/build_base.html:212 -#: build/templates/build/detail.html:94 templates/js/translated/build.js:2079 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" msgstr "优先级" @@ -1848,11 +1848,11 @@ msgstr "已分配的部件" #: build/templates/build/detail.html:80 stock/admin.py:105 #: stock/templates/stock/item_base.html:163 -#: templates/js/translated/build.js:1319 +#: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2083 -#: templates/js/translated/stock.js:2993 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 +#: templates/js/translated/stock.js:2988 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1862,7 +1862,7 @@ msgstr "批量" #: order/templates/order/order_base.html:173 #: order/templates/order/return_order_base.html:152 #: order/templates/order/sales_order_base.html:187 -#: templates/js/translated/build.js:2122 +#: templates/js/translated/build.js:2118 msgid "Created" msgstr "已创建" @@ -2325,7 +2325,7 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3594 +#: common/models.py:1162 part/admin.py:55 part/models.py:3597 #: report/models.py:166 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" @@ -2335,7 +2335,7 @@ msgstr "模板" msgid "Parts are templates by default" msgstr "" -#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:997 +#: common/models.py:1169 part/admin.py:51 part/admin.py:283 part/models.py:1000 #: templates/js/translated/bom.js:1618 #: templates/js/translated/table_filters.js:282 #: templates/js/translated/table_filters.js:656 @@ -2346,7 +2346,7 @@ msgstr "组装" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:1176 part/admin.py:52 part/models.py:1003 +#: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 msgid "Component" msgstr "组件" @@ -2355,7 +2355,7 @@ msgstr "组件" msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:1183 part/admin.py:53 part/models.py:1014 +#: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" msgstr "可购买" @@ -2363,7 +2363,7 @@ msgstr "可购买" msgid "Parts are purchaseable by default" msgstr "商品默认可购买" -#: common/models.py:1190 part/admin.py:54 part/models.py:1019 +#: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 msgid "Salable" msgstr "可销售" @@ -2372,7 +2372,7 @@ msgstr "可销售" msgid "Parts are salable by default" msgstr "商品默认可销售" -#: common/models.py:1197 part/admin.py:56 part/models.py:1009 +#: common/models.py:1197 part/admin.py:56 part/models.py:1012 #: templates/js/translated/table_filters.js:123 #: templates/js/translated/table_filters.js:199 #: templates/js/translated/table_filters.js:706 @@ -2383,7 +2383,7 @@ msgstr "可追踪" msgid "Parts are trackable by default" msgstr "商品默认可跟踪" -#: common/models.py:1204 part/admin.py:57 part/models.py:1029 +#: common/models.py:1204 part/admin.py:57 part/models.py:1032 #: part/templates/part/part_base.html:156 #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 @@ -3382,7 +3382,7 @@ msgstr "" msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1024 +#: common/models.py:2346 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3485,7 +3485,7 @@ msgstr "" msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:915 +#: common/models.py:2722 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3834,10 +3834,10 @@ msgid "Parameter value" msgstr "参数值" #: company/models.py:553 company/templates/company/supplier_part.html:169 -#: part/admin.py:40 part/models.py:988 part/models.py:3441 +#: part/admin.py:40 part/models.py:991 part/models.py:3444 #: part/templates/part/part_base.html:286 #: templates/js/translated/company.js:1456 templates/js/translated/part.js:1483 -#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2338 +#: templates/js/translated/part.js:1587 templates/js/translated/part.js:2335 msgid "Units" msgstr "单位" @@ -3903,7 +3903,7 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3845 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3912,11 +3912,11 @@ msgstr "供应商商品描述" msgid "Note" msgstr "备注" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "base cost" msgstr "" -#: company/models.py:749 part/models.py:1921 +#: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低收费(例如库存费)" @@ -3924,7 +3924,7 @@ msgstr "最低收费(例如库存费)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2317 +#: templates/js/translated/stock.js:2314 msgid "Packaging" msgstr "打包" @@ -3946,7 +3946,7 @@ msgstr "" msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:773 part/models.py:1923 +#: company/models.py:773 part/models.py:1926 msgid "multiple" msgstr "" @@ -3957,7 +3957,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2490 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 #: templates/js/translated/index.js:118 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -4048,7 +4048,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2827 +#: templates/js/translated/stock.js:2822 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "客户" @@ -4328,7 +4328,7 @@ msgstr "地址" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2173 +#: templates/js/translated/stock.js:2170 msgid "Supplier Part" msgstr "供应商商品" @@ -4422,7 +4422,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2645 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -4504,8 +4504,11 @@ msgstr "文件名样式" msgid "Pattern for generating label filenames" msgstr "" -#: label/models.py:250 -msgid "Query filters (comma-separated list of key=value pairs)," +#: label/models.py:250 label/models.py:291 label/models.py:319 +#: label/models.py:355 +#, fuzzy +#| msgid "Query filters (comma-separated list of key=value pairs)," +msgid "Query filters (comma-separated list of key=value pairs)" msgstr "查询筛选器 (逗号分隔的键值对列表)" #: label/models.py:251 label/models.py:292 label/models.py:320 @@ -4514,27 +4517,13 @@ msgstr "查询筛选器 (逗号分隔的键值对列表)" msgid "Filters" msgstr "筛选器" -#: label/models.py:291 -msgid "Query filters (comma-separated list of key=value pairs" -msgstr "查询筛选器 (逗号分隔的键值对列表" - -#: label/models.py:319 -msgid "Part query filters (comma-separated value of key=value pairs)" -msgstr "商品查询筛选器 (逗号分隔的键值对列表)" - -#: label/models.py:355 -#, fuzzy -#| msgid "Query filters (comma-separated list of key=value pairs)," -msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "查询筛选器 (逗号分隔的键值对列表)" - #: label/templates/label/part/part_label.html:31 #: label/templates/label/stockitem/qr.html:21 #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 #, fuzzy #| msgid "Part QR Code" -msgid "QC Code" +msgid "QR Code" msgstr "商品二维码" #: label/templates/label/part/part_label_code128.html:31 @@ -4566,7 +4555,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2153 templates/js/translated/stock.js:2775 +#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 msgid "Purchase Order" msgstr "" @@ -4575,7 +4564,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2809 +#: templates/js/translated/stock.js:2804 #, fuzzy #| msgid "Returned" msgid "Return Order" @@ -4800,7 +4789,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2204 +#: templates/js/translated/stock.js:2201 msgid "Purchase Price" msgstr "采购价格" @@ -5319,7 +5308,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:71 #: part/templates/part/import_wizard/match_references.html:49 #: templates/js/translated/bom.js:133 templates/js/translated/build.js:518 -#: templates/js/translated/build.js:1555 +#: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 #: templates/js/translated/return_order.js:506 @@ -5522,7 +5511,7 @@ msgid "Pending Shipments" msgstr "" #: order/templates/order/sales_order_detail.html:71 -#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:297 +#: templates/js/translated/bom.js:1256 templates/js/translated/filters.js:296 msgid "Actions" msgstr "" @@ -5552,12 +5541,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3716 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3720 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5566,19 +5555,19 @@ msgstr "" msgid "Part Description" msgstr "" -#: part/admin.py:36 part/models.py:890 part/templates/part/part_base.html:271 -#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2309 -#: templates/js/translated/stock.js:1952 +#: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 +#: templates/js/translated/stock.js:1949 msgid "IPN" msgstr "" -#: part/admin.py:37 part/models.py:897 part/templates/part/part_base.html:279 +#: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 #: report/models.py:179 templates/js/translated/part.js:1204 -#: templates/js/translated/part.js:2315 +#: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" -#: part/admin.py:38 part/admin.py:198 part/models.py:876 +#: part/admin.py:38 part/admin.py:198 part/models.py:879 #: part/templates/part/category.html:93 part/templates/part/part_base.html:300 msgid "Keywords" msgstr "关键词" @@ -5599,11 +5588,11 @@ msgstr "" msgid "Default Supplier ID" msgstr "" -#: part/admin.py:46 part/models.py:865 part/templates/part/part_base.html:179 +#: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" msgstr "" -#: part/admin.py:47 part/models.py:981 part/templates/part/part_base.html:205 +#: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" msgstr "最低库存" @@ -5614,8 +5603,8 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2541 -#: templates/js/translated/part.js:686 templates/js/translated/part.js:2122 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" msgstr "" @@ -5625,15 +5614,15 @@ msgid "Used In" msgstr "" #: part/admin.py:65 part/templates/part/part_base.html:243 stock/admin.py:124 -#: templates/js/translated/part.js:691 templates/js/translated/part.js:2126 +#: templates/js/translated/part.js:691 templates/js/translated/part.js:2122 msgid "Building" msgstr "" -#: part/admin.py:66 part/models.py:2964 templates/js/translated/part.js:942 +#: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" msgstr "" -#: part/admin.py:67 part/models.py:2970 templates/js/translated/part.js:952 +#: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" msgstr "" @@ -5656,7 +5645,7 @@ msgstr "类别路径" #: part/templates/part/category_sidebar.html:9 #: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 #: templates/InvenTree/settings/sidebar.html:45 -#: templates/js/translated/part.js:2739 templates/js/translated/search.js:130 +#: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" msgstr "商品" @@ -5673,7 +5662,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3724 +#: part/admin.py:274 part/models.py:3727 msgid "Part IPN" msgstr "" @@ -5715,7 +5704,7 @@ msgstr "" msgid "This option must be selected" msgstr "" -#: part/bom.py:175 part/models.py:128 part/models.py:924 +#: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" msgstr "默认仓储地点" @@ -5733,7 +5722,7 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3665 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -5748,7 +5737,7 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2651 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5778,314 +5767,314 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:476 +#: part/models.py:479 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:518 part/models.py:530 +#: part/models.py:521 part/models.py:533 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:602 +#: part/models.py:605 #, python-brace-format msgid "IPN must match regex pattern {pat}" msgstr "IPN 必须匹配正则表达式 {pat}" -#: part/models.py:673 +#: part/models.py:676 msgid "Stock item with this serial number already exists" msgstr "" -#: part/models.py:804 +#: part/models.py:807 msgid "Duplicate IPN not allowed in part settings" msgstr "在商品设置中不允许重复的IPN" -#: part/models.py:809 +#: part/models.py:812 msgid "Part with this Name, IPN and Revision already exists." msgstr "" -#: part/models.py:823 +#: part/models.py:826 msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:847 part/models.py:3721 +#: part/models.py:850 part/models.py:3724 msgid "Part name" msgstr "商品名称" -#: part/models.py:853 +#: part/models.py:856 msgid "Is Template" msgstr "" -#: part/models.py:854 +#: part/models.py:857 msgid "Is this part a template part?" msgstr "" -#: part/models.py:864 +#: part/models.py:867 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:871 +#: part/models.py:874 #, fuzzy #| msgid "Description (optional)" msgid "Part description (optional)" msgstr "描述 (可选)" -#: part/models.py:877 +#: part/models.py:880 msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:884 part/models.py:3232 part/models.py:3664 +#: part/models.py:887 part/models.py:3235 part/models.py:3667 #: part/serializers.py:320 part/serializers.py:910 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 -#: templates/js/translated/part.js:2345 +#: templates/js/translated/part.js:2342 msgid "Category" msgstr "类别" -#: part/models.py:885 +#: part/models.py:888 msgid "Part category" msgstr "商品类别" -#: part/models.py:891 +#: part/models.py:894 msgid "Internal Part Number" msgstr "内部商品编号" -#: part/models.py:896 +#: part/models.py:899 msgid "Part revision or version number" msgstr "商品版本号" -#: part/models.py:922 +#: part/models.py:925 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:967 part/templates/part/part_base.html:378 +#: part/models.py:970 part/templates/part/part_base.html:378 msgid "Default Supplier" msgstr "" -#: part/models.py:968 +#: part/models.py:971 msgid "Default supplier part" msgstr "默认供应商商品" -#: part/models.py:975 +#: part/models.py:978 msgid "Default Expiry" msgstr "" -#: part/models.py:976 +#: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:982 +#: part/models.py:985 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:989 +#: part/models.py:992 msgid "Units of measure for this part" msgstr "" -#: part/models.py:998 +#: part/models.py:1001 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:1004 +#: part/models.py:1007 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:1010 +#: part/models.py:1013 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:1015 +#: part/models.py:1018 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:1020 +#: part/models.py:1023 msgid "Can this part be sold to customers?" msgstr "此商品可以销售给客户吗?" -#: part/models.py:1025 +#: part/models.py:1028 msgid "Is this part active?" msgstr "" -#: part/models.py:1030 +#: part/models.py:1033 msgid "Is this a virtual part, such as a software product or license?" msgstr "这是一个虚拟商品,如软件产品或许可证吗?" -#: part/models.py:1032 +#: part/models.py:1035 msgid "BOM checksum" msgstr "" -#: part/models.py:1032 +#: part/models.py:1035 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:1035 +#: part/models.py:1038 msgid "BOM checked by" msgstr "" -#: part/models.py:1037 +#: part/models.py:1040 msgid "BOM checked date" msgstr "" -#: part/models.py:1041 +#: part/models.py:1044 msgid "Creation User" msgstr "新建用户" -#: part/models.py:1043 +#: part/models.py:1046 msgid "User responsible for this part" msgstr "" -#: part/models.py:1047 part/templates/part/part_base.html:341 +#: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 -#: templates/js/translated/part.js:2407 +#: templates/js/translated/part.js:2404 msgid "Last Stocktake" msgstr "" -#: part/models.py:1923 +#: part/models.py:1926 msgid "Sell multiple" msgstr "" -#: part/models.py:2887 +#: part/models.py:2890 msgid "Currency used to cache pricing calculations" msgstr "" -#: part/models.py:2904 +#: part/models.py:2907 msgid "Minimum BOM Cost" msgstr "" -#: part/models.py:2905 +#: part/models.py:2908 msgid "Minimum cost of component parts" msgstr "" -#: part/models.py:2910 +#: part/models.py:2913 msgid "Maximum BOM Cost" msgstr "" -#: part/models.py:2911 +#: part/models.py:2914 msgid "Maximum cost of component parts" msgstr "" -#: part/models.py:2916 +#: part/models.py:2919 msgid "Minimum Purchase Cost" msgstr "" -#: part/models.py:2917 +#: part/models.py:2920 msgid "Minimum historical purchase cost" msgstr "" -#: part/models.py:2922 +#: part/models.py:2925 msgid "Maximum Purchase Cost" msgstr "" -#: part/models.py:2923 +#: part/models.py:2926 msgid "Maximum historical purchase cost" msgstr "" -#: part/models.py:2928 +#: part/models.py:2931 msgid "Minimum Internal Price" msgstr "" -#: part/models.py:2929 +#: part/models.py:2932 msgid "Minimum cost based on internal price breaks" msgstr "" -#: part/models.py:2934 +#: part/models.py:2937 msgid "Maximum Internal Price" msgstr "" -#: part/models.py:2935 +#: part/models.py:2938 msgid "Maximum cost based on internal price breaks" msgstr "" -#: part/models.py:2940 +#: part/models.py:2943 msgid "Minimum Supplier Price" msgstr "" -#: part/models.py:2941 +#: part/models.py:2944 msgid "Minimum price of part from external suppliers" msgstr "" -#: part/models.py:2946 +#: part/models.py:2949 msgid "Maximum Supplier Price" msgstr "" -#: part/models.py:2947 +#: part/models.py:2950 msgid "Maximum price of part from external suppliers" msgstr "" -#: part/models.py:2952 +#: part/models.py:2955 msgid "Minimum Variant Cost" msgstr "" -#: part/models.py:2953 +#: part/models.py:2956 msgid "Calculated minimum cost of variant parts" msgstr "" -#: part/models.py:2958 +#: part/models.py:2961 msgid "Maximum Variant Cost" msgstr "" -#: part/models.py:2959 +#: part/models.py:2962 msgid "Calculated maximum cost of variant parts" msgstr "" -#: part/models.py:2965 +#: part/models.py:2968 msgid "Calculated overall minimum cost" msgstr "" -#: part/models.py:2971 +#: part/models.py:2974 msgid "Calculated overall maximum cost" msgstr "" -#: part/models.py:2976 +#: part/models.py:2979 msgid "Minimum Sale Price" msgstr "" -#: part/models.py:2977 +#: part/models.py:2980 msgid "Minimum sale price based on price breaks" msgstr "" -#: part/models.py:2982 +#: part/models.py:2985 msgid "Maximum Sale Price" msgstr "" -#: part/models.py:2983 +#: part/models.py:2986 msgid "Maximum sale price based on price breaks" msgstr "" -#: part/models.py:2988 +#: part/models.py:2991 msgid "Minimum Sale Cost" msgstr "" -#: part/models.py:2989 +#: part/models.py:2992 msgid "Minimum historical sale price" msgstr "" -#: part/models.py:2994 +#: part/models.py:2997 msgid "Maximum Sale Cost" msgstr "" -#: part/models.py:2995 +#: part/models.py:2998 msgid "Maximum historical sale price" msgstr "" -#: part/models.py:3014 +#: part/models.py:3017 msgid "Part for stocktake" msgstr "" -#: part/models.py:3019 +#: part/models.py:3022 msgid "Item Count" msgstr "" -#: part/models.py:3020 +#: part/models.py:3023 msgid "Number of individual stock entries at time of stocktake" msgstr "" -#: part/models.py:3027 +#: part/models.py:3030 msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3031 part/models.py:3114 +#: part/models.py:3034 part/models.py:3117 #: part/templates/part/part_scheduling.html:13 #: report/templates/report/inventree_test_report_base.html:106 #: templates/InvenTree/settings/plugin_settings.html:37 @@ -6093,328 +6082,328 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2689 +#: templates/js/translated/stock.js:2684 msgid "Date" msgstr "" -#: part/models.py:3032 +#: part/models.py:3035 msgid "Date stocktake was performed" msgstr "" -#: part/models.py:3040 +#: part/models.py:3043 msgid "Additional notes" msgstr "" -#: part/models.py:3048 +#: part/models.py:3051 msgid "User who performed this stocktake" msgstr "" -#: part/models.py:3053 +#: part/models.py:3056 msgid "Minimum Stock Cost" msgstr "" -#: part/models.py:3054 +#: part/models.py:3057 msgid "Estimated minimum cost of stock on hand" msgstr "" -#: part/models.py:3059 +#: part/models.py:3062 msgid "Maximum Stock Cost" msgstr "" -#: part/models.py:3060 +#: part/models.py:3063 msgid "Estimated maximum cost of stock on hand" msgstr "" -#: part/models.py:3121 templates/InvenTree/settings/settings_staff_js.html:349 +#: part/models.py:3124 templates/InvenTree/settings/settings_staff_js.html:349 msgid "Report" msgstr "" -#: part/models.py:3122 +#: part/models.py:3125 msgid "Stocktake report file (generated internally)" msgstr "" -#: part/models.py:3127 templates/InvenTree/settings/settings_staff_js.html:356 +#: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" msgstr "" -#: part/models.py:3128 +#: part/models.py:3131 msgid "Number of parts covered by stocktake" msgstr "" -#: part/models.py:3136 +#: part/models.py:3139 msgid "User who requested this stocktake report" msgstr "" -#: part/models.py:3272 +#: part/models.py:3275 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:3289 +#: part/models.py:3292 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:3309 templates/js/translated/part.js:2806 +#: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" msgstr "" -#: part/models.py:3310 +#: part/models.py:3313 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3315 +#: part/models.py:3318 msgid "Test Description" msgstr "" -#: part/models.py:3316 +#: part/models.py:3319 msgid "Enter description for this test" msgstr "" -#: part/models.py:3321 templates/js/translated/part.js:2815 +#: part/models.py:3324 templates/js/translated/part.js:2809 #: templates/js/translated/table_filters.js:429 msgid "Required" msgstr "" -#: part/models.py:3322 +#: part/models.py:3325 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3327 templates/js/translated/part.js:2823 +#: part/models.py:3330 templates/js/translated/part.js:2817 msgid "Requires Value" msgstr "" -#: part/models.py:3328 +#: part/models.py:3331 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:3333 templates/js/translated/part.js:2830 +#: part/models.py:3336 templates/js/translated/part.js:2824 msgid "Requires Attachment" msgstr "" -#: part/models.py:3334 +#: part/models.py:3337 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3380 +#: part/models.py:3383 msgid "Checkbox parameters cannot have units" msgstr "" -#: part/models.py:3385 +#: part/models.py:3388 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3403 +#: part/models.py:3406 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3419 +#: part/models.py:3422 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3435 +#: part/models.py:3438 msgid "Parameter Name" msgstr "" -#: part/models.py:3441 +#: part/models.py:3444 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3451 +#: part/models.py:3454 msgid "Parameter description" msgstr "" -#: part/models.py:3457 templates/js/translated/part.js:1599 +#: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" msgstr "" -#: part/models.py:3458 +#: part/models.py:3461 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3463 templates/js/translated/part.js:1608 +#: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" msgstr "" -#: part/models.py:3464 +#: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3545 +#: part/models.py:3548 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3589 +#: part/models.py:3592 msgid "Parent Part" msgstr "" -#: part/models.py:3594 part/models.py:3670 part/models.py:3671 +#: part/models.py:3597 part/models.py:3673 part/models.py:3674 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Data" msgstr "" -#: part/models.py:3599 +#: part/models.py:3602 msgid "Parameter Value" msgstr "" -#: part/models.py:3675 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3676 +#: part/models.py:3679 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3713 +#: part/models.py:3716 msgid "Part ID or part name" msgstr "" -#: part/models.py:3717 +#: part/models.py:3720 msgid "Unique part ID value" msgstr "" -#: part/models.py:3725 +#: part/models.py:3728 msgid "Part IPN value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3731 msgid "Level" msgstr "" -#: part/models.py:3729 +#: part/models.py:3732 msgid "BOM level" msgstr "" -#: part/models.py:3735 part/models.py:4113 +#: part/models.py:3738 part/models.py:4116 msgid "BOM Item" msgstr "BOM项" -#: part/models.py:3808 +#: part/models.py:3811 msgid "Select parent part" msgstr "" -#: part/models.py:3816 +#: part/models.py:3819 msgid "Sub part" msgstr "" -#: part/models.py:3817 +#: part/models.py:3820 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3823 +#: part/models.py:3826 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3828 +#: part/models.py:3831 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3834 +#: part/models.py:3837 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3838 part/templates/part/upload_bom.html:55 +#: part/models.py:3841 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3839 +#: part/models.py:3842 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3842 +#: part/models.py:3845 msgid "BOM item reference" msgstr "" -#: part/models.py:3845 +#: part/models.py:3848 msgid "BOM item notes" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "Checksum" msgstr "" -#: part/models.py:3849 +#: part/models.py:3852 msgid "BOM line checksum" msgstr "" -#: part/models.py:3854 templates/js/translated/table_filters.js:150 +#: part/models.py:3857 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3855 +#: part/models.py:3858 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:3860 part/templates/part/upload_bom.html:57 +#: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3861 +#: part/models.py:3864 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3866 part/templates/part/upload_bom.html:56 +#: part/models.py:3869 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3867 +#: part/models.py:3870 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3953 stock/models.py:577 +#: part/models.py:3956 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3962 part/models.py:3964 +#: part/models.py:3965 part/models.py:3967 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4080 +#: part/models.py:4083 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4101 +#: part/models.py:4104 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4114 +#: part/models.py:4117 msgid "Parent BOM item" msgstr "" -#: part/models.py:4122 +#: part/models.py:4125 msgid "Substitute part" msgstr "" -#: part/models.py:4137 +#: part/models.py:4140 msgid "Part 1" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Part 2" msgstr "" -#: part/models.py:4141 +#: part/models.py:4144 msgid "Select Related Part" msgstr "" -#: part/models.py:4159 +#: part/models.py:4162 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4163 +#: part/models.py:4166 msgid "Duplicate relationship already exists" msgstr "" @@ -6805,7 +6794,7 @@ msgid "Refresh scheduling data" msgstr "" #: part/templates/part/detail.html:45 part/templates/part/prices.html:15 -#: templates/js/translated/tables.js:560 +#: templates/js/translated/tables.js:552 msgid "Refresh" msgstr "" @@ -6816,7 +6805,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2109 users/models.py:39 +#: templates/js/translated/stock.js:2106 users/models.py:39 msgid "Stocktake" msgstr "" @@ -7003,7 +6992,7 @@ msgstr "清点商品库存" msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2264 +#: part/templates/part/part_base.html:93 templates/js/translated/part.js:2258 msgid "Part actions" msgstr "" @@ -7085,7 +7074,7 @@ msgid "Minimum stock level" msgstr "" #: part/templates/part/part_base.html:324 templates/js/translated/bom.js:1059 -#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2380 +#: templates/js/translated/part.js:1237 templates/js/translated/part.js:2377 #: templates/js/translated/pricing.js:391 #: templates/js/translated/pricing.js:1040 msgid "Price Range" @@ -7108,7 +7097,7 @@ msgstr "商品二维码" msgid "Link Barcode to Part" msgstr "" -#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2258 +#: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 #, fuzzy #| msgid "Edit part" msgid "part" @@ -7184,9 +7173,9 @@ msgstr "" #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/search.html:153 #: templates/InvenTree/settings/sidebar.html:49 -#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2119 -#: templates/js/translated/part.js:2360 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1986 templates/navbar.html:31 +#: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 +#: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 +#: templates/js/translated/stock.js:1983 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -7219,7 +7208,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2139 +#: templates/js/translated/stock.js:2136 msgid "Last Updated" msgstr "" @@ -7283,7 +7272,7 @@ msgid "Add Sell Price Break" msgstr "" #: part/templates/part/stock_count.html:7 templates/js/translated/part.js:681 -#: templates/js/translated/part.js:2114 templates/js/translated/part.js:2116 +#: templates/js/translated/part.js:2110 templates/js/translated/part.js:2112 msgid "No Stock" msgstr "" @@ -7498,17 +7487,17 @@ msgstr "" msgid "No author found" msgstr "" -#: plugin/registry.py:462 +#: plugin/registry.py:466 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:464 +#: plugin/registry.py:468 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:466 +#: plugin/registry.py:470 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7726,8 +7715,8 @@ msgstr "" #: report/templates/report/inventree_return_order_report_base.html:25 #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 -#: templates/js/translated/build.js:508 templates/js/translated/build.js:1306 -#: templates/js/translated/build.js:2281 +#: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 +#: templates/js/translated/build.js:2277 #: templates/js/translated/model_renderers.js:215 #: templates/js/translated/return_order.js:540 #: templates/js/translated/return_order.js:720 @@ -7781,7 +7770,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2976 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 msgid "Serial" msgstr "" @@ -7853,7 +7842,7 @@ msgstr "删除模板" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2123 +#: templates/js/translated/stock.js:2120 msgid "Expiry Date" msgstr "" @@ -7906,7 +7895,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2660 +#: stock/models.py:132 templates/js/translated/stock.js:2655 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8320,7 +8309,7 @@ msgstr "" msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3123 +#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 msgid "Install Stock Item" msgstr "" @@ -8342,7 +8331,7 @@ msgstr "" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 -#: templates/js/translated/filters.js:432 +#: templates/js/translated/filters.js:431 msgid "Printing actions" msgstr "" @@ -8416,7 +8405,7 @@ msgid "Delete stock item" msgstr "" #: stock/templates/stock/item_base.html:170 templates/InvenTree/search.html:139 -#: templates/js/translated/build.js:2046 templates/navbar.html:38 +#: templates/js/translated/build.js:2042 templates/navbar.html:38 msgid "Build" msgstr "生产" @@ -8484,7 +8473,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2306 +#: templates/js/translated/build.js:2302 msgid "No location set" msgstr "未设置仓储地点" @@ -8630,7 +8619,7 @@ msgid "New Location" msgstr "新建仓储地点" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2449 +#: templates/js/translated/stock.js:2446 #, fuzzy #| msgid "Stock Location" msgid "stock location" @@ -9190,7 +9179,7 @@ msgid "Home Page" msgstr "" #: templates/InvenTree/settings/sidebar.html:15 -#: templates/js/translated/tables.js:551 templates/navbar.html:107 +#: templates/js/translated/tables.js:543 templates/navbar.html:107 #: templates/search.html:8 templates/search_form.html:6 #: templates/search_form.html:7 msgid "Search" @@ -9767,7 +9756,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2485 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 msgid "Required Quantity" msgstr "" @@ -9781,7 +9770,7 @@ msgid "Click on the following link to view this part" msgstr "" #: templates/email/low_stock_notification.html:18 -#: templates/js/translated/part.js:3125 +#: templates/js/translated/part.js:3119 msgid "Minimum Quantity" msgstr "" @@ -10134,7 +10123,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2429 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 msgid "Variant stock allowed" msgstr "" @@ -10154,25 +10143,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 #: templates/js/translated/sales_order.js:1899 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2529 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2531 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2514 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 msgid "Consumable item" msgstr "" @@ -10204,7 +10193,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2414 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 msgid "Required Part" msgstr "" @@ -10397,7 +10386,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2270 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 #, fuzzy #| msgid "Allocated Parts" msgid "Allocated Quantity" @@ -10421,215 +10410,215 @@ msgstr "已完成输出" msgid "Delete outputs" msgstr "删除输出" -#: templates/js/translated/build.js:1100 +#: templates/js/translated/build.js:1096 #, fuzzy #| msgid "Build output" msgid "build output" msgstr "生产产出" -#: templates/js/translated/build.js:1101 +#: templates/js/translated/build.js:1097 #, fuzzy #| msgid "Build output" msgid "build outputs" msgstr "生产产出" -#: templates/js/translated/build.js:1105 +#: templates/js/translated/build.js:1101 #, fuzzy #| msgid "Build actions" msgid "Build output actions" msgstr "生产操作" -#: templates/js/translated/build.js:1274 +#: templates/js/translated/build.js:1270 msgid "No active build outputs found" msgstr "" -#: templates/js/translated/build.js:1329 +#: templates/js/translated/build.js:1325 #, fuzzy #| msgid "Allocated Parts" msgid "Allocated Lines" msgstr "已分配的部件" -#: templates/js/translated/build.js:1343 +#: templates/js/translated/build.js:1339 msgid "Required Tests" msgstr "" -#: templates/js/translated/build.js:1502 +#: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 #: templates/js/translated/sales_order.js:1171 msgid "Select Parts" msgstr "选择商品" -#: templates/js/translated/build.js:1503 +#: templates/js/translated/build.js:1499 #: templates/js/translated/sales_order.js:1172 msgid "You must select at least one part to allocate" msgstr "" -#: templates/js/translated/build.js:1566 +#: templates/js/translated/build.js:1562 #: templates/js/translated/sales_order.js:1121 msgid "Specify stock allocation quantity" msgstr "" -#: templates/js/translated/build.js:1643 +#: templates/js/translated/build.js:1639 msgid "All Parts Allocated" msgstr "" -#: templates/js/translated/build.js:1644 +#: templates/js/translated/build.js:1640 msgid "All selected parts have been fully allocated" msgstr "" -#: templates/js/translated/build.js:1658 +#: templates/js/translated/build.js:1654 #: templates/js/translated/sales_order.js:1186 msgid "Select source location (leave blank to take from all locations)" msgstr "" -#: templates/js/translated/build.js:1686 +#: templates/js/translated/build.js:1682 msgid "Allocate Stock Items to Build Order" msgstr "" -#: templates/js/translated/build.js:1697 +#: templates/js/translated/build.js:1693 #: templates/js/translated/sales_order.js:1283 msgid "No matching stock locations" msgstr "" -#: templates/js/translated/build.js:1770 +#: templates/js/translated/build.js:1766 #: templates/js/translated/sales_order.js:1360 msgid "No matching stock items" msgstr "" -#: templates/js/translated/build.js:1867 +#: templates/js/translated/build.js:1863 msgid "Automatic Stock Allocation" msgstr "" -#: templates/js/translated/build.js:1868 +#: templates/js/translated/build.js:1864 msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" msgstr "" -#: templates/js/translated/build.js:1870 +#: templates/js/translated/build.js:1866 msgid "If a location is specified, stock will only be allocated from that location" msgstr "" -#: templates/js/translated/build.js:1871 +#: templates/js/translated/build.js:1867 msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" msgstr "" -#: templates/js/translated/build.js:1872 +#: templates/js/translated/build.js:1868 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:1899 +#: templates/js/translated/build.js:1895 msgid "Allocate Stock Items" msgstr "" -#: templates/js/translated/build.js:2005 +#: templates/js/translated/build.js:2001 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2040 templates/js/translated/build.js:2408 -#: templates/js/translated/part.js:2284 templates/js/translated/part.js:2677 -#: templates/js/translated/stock.js:1899 templates/js/translated/stock.js:2589 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 +#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 msgid "Select" msgstr "" -#: templates/js/translated/build.js:2054 +#: templates/js/translated/build.js:2050 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:2100 +#: templates/js/translated/build.js:2096 msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2136 templates/js/translated/stock.js:2910 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 msgid "No user information" msgstr "没有用户信息" -#: templates/js/translated/build.js:2151 +#: templates/js/translated/build.js:2147 msgid "group" msgstr "" -#: templates/js/translated/build.js:2315 +#: templates/js/translated/build.js:2311 #: templates/js/translated/sales_order.js:1644 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2316 +#: templates/js/translated/build.js:2312 #: templates/js/translated/sales_order.js:1645 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2331 +#: templates/js/translated/build.js:2327 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2343 +#: templates/js/translated/build.js:2339 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2384 +#: templates/js/translated/build.js:2380 #, fuzzy #| msgid "Build actions" msgid "build line" msgstr "生产操作" -#: templates/js/translated/build.js:2385 +#: templates/js/translated/build.js:2381 #, fuzzy #| msgid "Build actions" msgid "build lines" msgstr "生产操作" -#: templates/js/translated/build.js:2403 +#: templates/js/translated/build.js:2399 #, fuzzy #| msgid "Subcategories" msgid "No build lines found" msgstr "子类别" -#: templates/js/translated/build.js:2433 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/build.js:2468 +#: templates/js/translated/build.js:2464 #, fuzzy #| msgid "Quantity" msgid "Unit Quantity" msgstr "数量" -#: templates/js/translated/build.js:2517 +#: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2519 +#: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2566 +#: templates/js/translated/build.js:2562 #, fuzzy #| msgid "Minimum Stock" msgid "Consumable Item" msgstr "最低库存" -#: templates/js/translated/build.js:2571 +#: templates/js/translated/build.js:2567 #, fuzzy #| msgid "Stock Item" msgid "Tracked item" msgstr "库存项" -#: templates/js/translated/build.js:2578 +#: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2583 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2583 #: templates/js/translated/sales_order.js:1999 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2591 +#: templates/js/translated/build.js:2587 #, fuzzy #| msgid "Confirm stock allocation" msgid "Remove stock allocation" @@ -10810,7 +10799,7 @@ msgid "Delete Parameters" msgstr "删除参数" #: templates/js/translated/company.js:1222 -#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2213 +#: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 msgid "Order parts" msgstr "订购商品" @@ -10912,49 +10901,49 @@ msgstr "" msgid "Delete price break" msgstr "" -#: templates/js/translated/filters.js:187 -#: templates/js/translated/filters.js:673 +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 msgid "true" msgstr "" -#: templates/js/translated/filters.js:191 -#: templates/js/translated/filters.js:674 +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 msgid "false" msgstr "" -#: templates/js/translated/filters.js:215 +#: templates/js/translated/filters.js:214 msgid "Select filter" msgstr "选择筛选项" -#: templates/js/translated/filters.js:438 +#: templates/js/translated/filters.js:437 msgid "Print Labels" msgstr "打印标签" -#: templates/js/translated/filters.js:442 +#: templates/js/translated/filters.js:441 #, fuzzy #| msgid "Print Order Reports" msgid "Print Reports" msgstr "打印订单报表" -#: templates/js/translated/filters.js:454 +#: templates/js/translated/filters.js:453 #, fuzzy #| msgid "Download Image" msgid "Download table data" msgstr "下载图片" -#: templates/js/translated/filters.js:461 +#: templates/js/translated/filters.js:460 msgid "Reload table data" msgstr "" -#: templates/js/translated/filters.js:470 +#: templates/js/translated/filters.js:469 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:478 +#: templates/js/translated/filters.js:477 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:583 +#: templates/js/translated/filters.js:582 msgid "Create filter" msgstr "" @@ -11464,121 +11453,121 @@ msgstr "" msgid "Receive line item" msgstr "" -#: templates/js/translated/part.js:1943 +#: templates/js/translated/part.js:1939 msgid "Delete part relationship" msgstr "" -#: templates/js/translated/part.js:1965 +#: templates/js/translated/part.js:1961 msgid "Delete Part Relationship" msgstr "" -#: templates/js/translated/part.js:2053 templates/js/translated/part.js:2442 +#: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:2174 +#: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" msgstr "" -#: templates/js/translated/part.js:2179 +#: templates/js/translated/part.js:2175 msgid "Set Part Category" msgstr "设置商品类别" -#: templates/js/translated/part.js:2204 +#: templates/js/translated/part.js:2200 msgid "Set category" msgstr "设置类别" -#: templates/js/translated/part.js:2259 +#: templates/js/translated/part.js:2253 #, fuzzy #| msgid "Parts" msgid "parts" msgstr "商品" -#: templates/js/translated/part.js:2352 +#: templates/js/translated/part.js:2349 msgid "No category" msgstr "没有分类" -#: templates/js/translated/part.js:2466 templates/js/translated/part.js:2596 -#: templates/js/translated/stock.js:2548 +#: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 +#: templates/js/translated/stock.js:2543 msgid "Display as list" msgstr "" -#: templates/js/translated/part.js:2482 +#: templates/js/translated/part.js:2479 msgid "Display as grid" msgstr "" -#: templates/js/translated/part.js:2580 +#: templates/js/translated/part.js:2577 #, fuzzy #| msgid "Subcategories" msgid "No subcategories found" msgstr "子类别" -#: templates/js/translated/part.js:2616 templates/js/translated/stock.js:2568 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 msgid "Display as tree" msgstr "" -#: templates/js/translated/part.js:2696 +#: templates/js/translated/part.js:2693 msgid "Load Subcategories" msgstr "" -#: templates/js/translated/part.js:2712 +#: templates/js/translated/part.js:2709 msgid "Subscribed category" msgstr "" -#: templates/js/translated/part.js:2792 +#: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2843 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2844 templates/js/translated/stock.js:1380 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 #: templates/js/translated/stock.js:1642 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:2848 +#: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:2864 +#: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" msgstr "" -#: templates/js/translated/part.js:2878 +#: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" msgstr "" -#: templates/js/translated/part.js:2957 templates/js/translated/part.js:2958 +#: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" msgstr "" -#: templates/js/translated/part.js:2960 +#: templates/js/translated/part.js:2954 msgid "Specified date is in the past" msgstr "" -#: templates/js/translated/part.js:2966 +#: templates/js/translated/part.js:2960 msgid "Speculative" msgstr "" -#: templates/js/translated/part.js:3016 +#: templates/js/translated/part.js:3010 msgid "No scheduling information available for this part" msgstr "" -#: templates/js/translated/part.js:3022 +#: templates/js/translated/part.js:3016 msgid "Error fetching scheduling information for this part" msgstr "" -#: templates/js/translated/part.js:3118 +#: templates/js/translated/part.js:3112 msgid "Scheduled Stock Quantities" msgstr "" -#: templates/js/translated/part.js:3134 +#: templates/js/translated/part.js:3128 msgid "Maximum Quantity" msgstr "" -#: templates/js/translated/part.js:3179 +#: templates/js/translated/part.js:3173 msgid "Minimum Stock Level" msgstr "" @@ -12419,7 +12408,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3151 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 msgid "Select Stock Items" msgstr "选择库存项" @@ -12513,202 +12502,202 @@ msgstr "仓储地点" msgid "Stock Actions" msgstr "仓储地点" -#: templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:1926 #, fuzzy #| msgid "Installed into assembly" msgid "Load installed items" msgstr "安装到组装中" -#: templates/js/translated/stock.js:2007 +#: templates/js/translated/stock.js:2004 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2009 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2012 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2018 +#: templates/js/translated/stock.js:2015 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2020 +#: templates/js/translated/stock.js:2017 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2019 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2025 +#: templates/js/translated/stock.js:2022 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2027 +#: templates/js/translated/stock.js:2024 #, fuzzy #| msgid "Accept as consumed by this build order" msgid "Stock item has been consumed by a build order" msgstr "接受此构建订单所消耗的内容" -#: templates/js/translated/stock.js:2031 +#: templates/js/translated/stock.js:2028 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2033 +#: templates/js/translated/stock.js:2030 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2038 +#: templates/js/translated/stock.js:2035 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2040 +#: templates/js/translated/stock.js:2037 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2042 +#: templates/js/translated/stock.js:2039 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2046 +#: templates/js/translated/stock.js:2043 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2188 +#: templates/js/translated/stock.js:2185 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2235 +#: templates/js/translated/stock.js:2232 #, fuzzy #| msgid "Stock Source" msgid "Stock Value" msgstr "库存来源" -#: templates/js/translated/stock.js:2358 +#: templates/js/translated/stock.js:2355 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2450 +#: templates/js/translated/stock.js:2447 #, fuzzy #| msgid "Stock Locations" msgid "stock locations" msgstr "仓储地点" -#: templates/js/translated/stock.js:2607 +#: templates/js/translated/stock.js:2602 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2714 +#: templates/js/translated/stock.js:2709 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2718 +#: templates/js/translated/stock.js:2713 #, fuzzy #| msgid "Change" msgid "No changes" msgstr "更改" -#: templates/js/translated/stock.js:2730 +#: templates/js/translated/stock.js:2725 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2752 +#: templates/js/translated/stock.js:2747 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2769 +#: templates/js/translated/stock.js:2764 #, fuzzy #| msgid "Sales Order Settings" msgid "Build order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2784 +#: templates/js/translated/stock.js:2779 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2801 +#: templates/js/translated/stock.js:2796 #, fuzzy #| msgid "Sales Order Settings" msgid "Sales Order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2818 +#: templates/js/translated/stock.js:2813 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2837 +#: templates/js/translated/stock.js:2832 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2855 +#: templates/js/translated/stock.js:2850 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2873 +#: templates/js/translated/stock.js:2868 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2881 +#: templates/js/translated/stock.js:2876 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2953 +#: templates/js/translated/stock.js:2948 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:3003 templates/js/translated/stock.js:3038 +#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3056 +#: templates/js/translated/stock.js:3051 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3072 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3073 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3080 +#: templates/js/translated/stock.js:3075 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3081 +#: templates/js/translated/stock.js:3076 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3082 +#: templates/js/translated/stock.js:3077 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3083 +#: templates/js/translated/stock.js:3078 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3096 +#: templates/js/translated/stock.js:3091 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3152 +#: templates/js/translated/stock.js:3147 #, fuzzy #| msgid "Select Stock Items" msgid "Select one or more stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3165 +#: templates/js/translated/stock.js:3160 #, fuzzy #| msgid "Select Stock Items" msgid "Selected stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3169 +#: templates/js/translated/stock.js:3164 #, fuzzy #| msgid "Stock Settings" msgid "Change Stock Status" @@ -13010,51 +12999,51 @@ msgstr "" msgid "Select File Format" msgstr "" -#: templates/js/translated/tables.js:537 +#: templates/js/translated/tables.js:529 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:540 +#: templates/js/translated/tables.js:532 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:545 +#: templates/js/translated/tables.js:537 msgid "Showing all rows" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "to" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "of" msgstr "" -#: templates/js/translated/tables.js:547 +#: templates/js/translated/tables.js:539 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:554 +#: templates/js/translated/tables.js:546 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:557 +#: templates/js/translated/tables.js:549 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:563 +#: templates/js/translated/tables.js:555 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:566 +#: templates/js/translated/tables.js:558 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:569 +#: templates/js/translated/tables.js:561 msgid "All" msgstr "" @@ -13305,6 +13294,15 @@ msgstr "编辑项目权限" msgid "Permission to delete items" msgstr "删除项目权限" +#~ msgid "Query filters (comma-separated list of key=value pairs)," +#~ msgstr "查询筛选器 (逗号分隔的键值对列表)" + +#~ msgid "Query filters (comma-separated list of key=value pairs" +#~ msgstr "查询筛选器 (逗号分隔的键值对列表" + +#~ msgid "Part query filters (comma-separated value of key=value pairs)" +#~ msgstr "商品查询筛选器 (逗号分隔的键值对列表)" + #~ msgid "Build to allocate parts" #~ msgstr "生产以分配部件" From 8b6abe1505e6e835dd5eb4fb85058e27d8d82de5 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 26 Jun 2023 12:14:44 +1000 Subject: [PATCH 053/103] Fix for stock status change (#5105) - Recent refactor introduced bug - Update stock.js --- InvenTree/templates/js/translated/stock.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index 1299ad81dd..09351e0bc1 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -3169,7 +3169,11 @@ function setStockStatus(items, options={}) { note: {}, }, processBeforeUpload: function(data) { - data.items = items; + let item_pk_values = []; + items.forEach(function(item) { + item_pk_values.push(item.pk); + }); + data.items = item_pk_values; return data; }, onSuccess: function() { From 940fa7436522ba08dff894b85eb6b98dd0d46e0b Mon Sep 17 00:00:00 2001 From: Lavissa Date: Mon, 26 Jun 2023 09:10:58 +0200 Subject: [PATCH 054/103] Update docker dev docs (#4743) * Change docker dev server install * Added --rm to docker compose run commands This deletes the one-time-use container after exiting * Added --dev to setup-test. This runs setup-dev as a part of setup-test. * Revisions * Updates * Add context * Update docs * Tyops :) * Remove reference to action that has not happened yet --- CONTRIBUTING.md | 4 +- docs/docs/start/docker_dev.md | 99 ++++++++++++++++++++++++++++++----- 2 files changed, 88 insertions(+), 15 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2f6f6599b7..79e4ba027d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,7 @@ pip install invoke && invoke setup-dev --tests ```bash git clone https://github.com/inventree/InvenTree.git && cd InvenTree docker compose run inventree-dev-server invoke install -docker compose run inventree-dev-server invoke setup-test +docker compose run inventree-dev-server invoke setup-test --dev docker compose up -d ``` @@ -33,7 +33,7 @@ Run the following command to set up all toolsets for development. invoke setup-dev ``` -*We recommend you run this command before starting to contribute. This will install and set up `pre-commit` to run some checks before each commit and help reduce the style errors.* +*We recommend you run this command before starting to contribute. This will install and set up `pre-commit` to run some checks before each commit and help reduce errors.* ## Branches and Versioning diff --git a/docs/docs/start/docker_dev.md b/docs/docs/start/docker_dev.md index e74d3561e4..ef2710788f 100644 --- a/docs/docs/start/docker_dev.md +++ b/docs/docs/start/docker_dev.md @@ -35,7 +35,7 @@ To get "up and running" with a development environment, complete with a set of [ ```bash git clone https://github.com/inventree/InvenTree.git && cd InvenTree docker compose run inventree-dev-server invoke install -docker compose run inventree-dev-server invoke setup-test +docker compose run inventree-dev-server invoke setup-test --dev docker compose up -d ``` @@ -83,30 +83,33 @@ This command also performs the following steps: !!! info "Grab a coffee" This initial build process may take a few minutes! -### Create Admin Account - -If you are creating the initial database, you need to create an admin (superuser) account for the database. Run the command below, and follow the prompts: - -``` -docker compose run inventree-dev-server invoke superuser -``` - ### Import Demo Data To fill the database with a demo dataset, run the following command: -``` -docker compose run inventree-dev-server invoke setup-test +```bash +docker compose run inventree-dev-server invoke setup-test --dev ``` ### Start Docker Containers -Now that the database has been created, migrations applied, and you have created an admin account, we are ready to launch the InvenTree containers: +Now that the database has been created, and migrations applied, we are ready to launch the InvenTree containers: -``` +```bash docker compose up -d ``` +### Create Admin Account + +If you are creating the initial database, you need to create an admin (superuser) account for the database. Run the command below, and follow the prompts: + +!!! info "Containers must be running" + For the `invoke superuser` command to execute properly, ensure you have run the `docker compose up -d` command. + +```bash +docker compose run inventree-dev-server invoke superuser +``` + This command launches the remaining containers: - `inventree-dev-server` - InvenTree web server @@ -115,6 +118,76 @@ This command launches the remaining containers: !!! success "Check Connection" Check that the server is running at [http://localhost:8000](http://localhost:8000). The server may take a few minutes to be ready. +## Running commands in the container + +Using `docker compose run [...]` commands creates a new container to run this specific command. +This will eventually clutter your docker with many dead containers that take up space on the system. + +You can access the running containers directly with the following: +```bash +docker exec -it inventree-dev-server /bin/bash +``` + +You then run the following to access the virtualenv: +```bash +source data/env/bin/activate +``` + +This sets up a bash terminal where you can run `invoke` commands directly. + +!!! warning "Tests" + Running `invoke test` in your currently active inventree-dev-server container may result in tests taking longer than usual. + +### Cleaning up old containers + +If you have Docker Desktop installed, you will be able to remove containers directly in the GUI. +Your active containers are grouped under "inventree" in Docker Desktop. +The main dev-server, dev-db, and dev-worker containers are all listed without the "inventree" prefix. +One time run containers, like those executed via `docker compose run [...]` are suffixed with `run-1a2b3c4d5e6f` where the hex string varies. + +To remove such containers, either click the garbage bin on the end of the line, or mark the containers, and click the delete button that shows up. +This is the recommended procedure for container cleanup. + +#### Advanced cleanup +!!! warning "Advanced users only" + This section requires good knowledge of Docker and how it operates. + Never perform these commands if you do not understand what they do + +If you're running a container with the general boilerplate commands used with invoke (invoke test, invoke update, etc) and no custom parameters or execution, you can add the `--rm` flag to `docker compose run`, and the container will delete itself when it goes down. +Do note that any data not stored in a volume, i.e. only in the container, will be lost when the container stops. + +To clean out old containers using the command line, follow this guide: + +Run the following command: +```bash +docker ps -a --filter status=exited +``` + +This gives you a list of all stopped containers. +Find the containers you wish to delete, copy the container IDs and add them to this command: + +```bash +docker rm [ID1] [ID2] [IDn] +``` +When executed, this removes all containers whose IDs were pasted. + +!!! warning "Execute at own risk" + The command below does not forgive errors. + Execute this only if you know what you're doing + +Running this command will remove **all** stopped one-time run InvenTree containers matching parameters: +```bash +docker container prune --filter label="com.docker.compose.oneoff=True" --filter label="com.docker.compose.service=inventree-dev-server" +``` + +The following output will appear: +``` +WARNING! This will remove all stopped containers. +Are you sure you want to continue? [y/N] y +Deleted Containers: +[IDs of any container that was deleted, one per line] +``` + ## Restarting Services Once initial setup is complete, stopping and restarting the services is much simpler: From 53e120cdb3e4d70ea8f3ae4d892bd06a6fd8b1c7 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 28 Jun 2023 15:22:08 +1000 Subject: [PATCH 055/103] Fix for index page badge (#5115) - If table was not paginated, totalRows did not exist - Handle this case by looking at length of actual data --- InvenTree/templates/js/translated/index.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/InvenTree/templates/js/translated/index.js b/InvenTree/templates/js/translated/index.js index 7b7a24d2a1..3fe010457c 100644 --- a/InvenTree/templates/js/translated/index.js +++ b/InvenTree/templates/js/translated/index.js @@ -66,6 +66,11 @@ function addHeaderAction(label, title, icon, options) { let count = options.totalRows; + if (count == undefined || count == null) { + let data = $(table_name).bootstrapTable('getData'); + count = data.length; + } + let badge = $(`#sidebar-badge-${label}`); badge.html(count); From a78b26f93af6285dde05c53cdd2b530f0a50633a Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 28 Jun 2023 15:22:23 +1000 Subject: [PATCH 056/103] Child items table (#5114) * Template cleanup - Remove "buttons" attribute (outdated) * Fix filters for "child stock items" table * Fix 'ancestor' stock filter --- InvenTree/build/templates/build/detail.html | 3 --- .../company/templates/company/detail.html | 3 --- .../templates/company/supplier_part.html | 1 - .../order/purchase_order_detail.html | 3 --- InvenTree/part/templates/part/detail.html | 3 --- InvenTree/stock/api.py | 26 +++++++++---------- InvenTree/stock/templates/stock/item.html | 8 +++--- InvenTree/stock/templates/stock/location.html | 3 --- InvenTree/templates/js/translated/stock.js | 26 +++++++++---------- 9 files changed, 29 insertions(+), 47 deletions(-) diff --git a/InvenTree/build/templates/build/detail.html b/InvenTree/build/templates/build/detail.html index 2da2410fc8..7e6efff2af 100644 --- a/InvenTree/build/templates/build/detail.html +++ b/InvenTree/build/templates/build/detail.html @@ -306,9 +306,6 @@ onPanelLoad('completed', function() { build: {{ build.id }}, is_building: false, }, - buttons: [ - '#stock-options', - ], }); }); diff --git a/InvenTree/company/templates/company/detail.html b/InvenTree/company/templates/company/detail.html index 6a653d2d0d..7d380d7c2f 100644 --- a/InvenTree/company/templates/company/detail.html +++ b/InvenTree/company/templates/company/detail.html @@ -319,9 +319,6 @@ supplier_part_detail: true, location_detail: true, }, - buttons: [ - '#stock-options', - ], filterKey: "companystock", }); }); diff --git a/InvenTree/company/templates/company/supplier_part.html b/InvenTree/company/templates/company/supplier_part.html index 9fc84ce123..5a37cbae43 100644 --- a/InvenTree/company/templates/company/supplier_part.html +++ b/InvenTree/company/templates/company/supplier_part.html @@ -322,7 +322,6 @@ loadStockTable($("#stock-table"), { location_detail: true, part_detail: false, }, - buttons: ['#stock-options'], }); $("#item-create").click(function() { diff --git a/InvenTree/order/templates/order/purchase_order_detail.html b/InvenTree/order/templates/order/purchase_order_detail.html index d7491f753e..85065ff46f 100644 --- a/InvenTree/order/templates/order/purchase_order_detail.html +++ b/InvenTree/order/templates/order/purchase_order_detail.html @@ -150,9 +150,6 @@ supplier_part_detail: true, location_detail: true, }, - buttons: [ - '#stock-options', - ], filterkey: "postock" }); diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index 8ecac03b6c..32bd4ac3a8 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -769,9 +769,6 @@ part_detail: true, supplier_part_detail: true, }, - buttons: [ - '#stock-options', - ], }); $('#item-create').click(function () { diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 3dd9480ac1..3011e2e9df 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -552,6 +552,19 @@ class StockFilter(rest_filters.FilterSet): else: return queryset.filter(purchase_price=None) + ancestor = rest_filters.ModelChoiceFilter( + label='Ancestor', + queryset=StockItem.objects.all(), + method='filter_ancestor' + ) + + def filter_ancestor(self, queryset, name, ancestor): + """Filter based on ancestor stock item""" + + return queryset.filter( + parent__in=ancestor.get_descendants(include_self=True) + ) + # Update date filters updated_before = rest_filters.DateFilter(label='Updated before', field_name='updated', lookup_expr='lte') updated_after = rest_filters.DateFilter(label='Updated after', field_name='updated', lookup_expr='gte') @@ -929,19 +942,6 @@ class StockList(APIDownloadMixin, ListCreateDestroyAPIView): except (ValueError, Part.DoesNotExist): raise ValidationError({"part": "Invalid Part ID specified"}) - # Does the client wish to filter by the 'ancestor'? - anc_id = params.get('ancestor', None) - - if anc_id: - try: - ancestor = StockItem.objects.get(pk=anc_id) - - # Only allow items which are descendants of the specified StockItem - queryset = queryset.filter(id__in=[item.pk for item in ancestor.children.all()]) - - except (ValueError, Part.DoesNotExist): - raise ValidationError({"ancestor": "Invalid ancestor ID specified"}) - # Does the client wish to filter by stock location? loc_id = params.get('location', None) diff --git a/InvenTree/stock/templates/stock/item.html b/InvenTree/stock/templates/stock/item.html index 81ec9ef059..a36dd54f91 100644 --- a/InvenTree/stock/templates/stock/item.html +++ b/InvenTree/stock/templates/stock/item.html @@ -65,6 +65,7 @@
    {% if item.child_count > 0 %} + {% include "filter_list.html" with id="stock-childs" %} {% include "stock_table.html" with prefix="childs-" %} {% else %}
    @@ -300,14 +301,11 @@ {% if item.child_count > 0 %} loadStockTable($("#childs-stock-table"), { params: { - location_detail: true, - part_detail: false, ancestor: {{ item.id }}, }, name: 'item-childs', - buttons: [ - '#stock-options', - ], + filterTarget: '#filter-list-stock-childs', + filterKey: 'stock', }); {% endif %} diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index 98a8283002..60dad09d64 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -403,9 +403,6 @@ onPanelLoad('stock', function() { loadStockTable($("#stock-table"), { - buttons: [ - '#stock-options', - ], params: { {% if location %} location: {{ location.pk }}, diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index 09351e0bc1..af07802601 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -1834,6 +1834,8 @@ function makeStockActions(table) { */ function loadStockTable(table, options) { + options.params = options.params || {}; + // List of user-params which override the default filters options.params['location_detail'] = true; options.params['part_detail'] = true; @@ -1841,8 +1843,6 @@ function loadStockTable(table, options) { // Determine if installed items are displayed in the table let show_installed_items = global_settings.STOCK_SHOW_INSTALLED_ITEMS; - var params = options.params || {}; - let filters = {}; if (!options.disableFilters) { @@ -1850,7 +1850,7 @@ function loadStockTable(table, options) { const filterTarget = options.filterTarget || '#filter-list-stock'; const filterKey = options.filterKey || options.name || 'stock'; - filters = loadTableFilters(filterKey, params); + filters = loadTableFilters(filterKey, options.params); setupFilterList(filterKey, table, filterTarget, { download: true, @@ -1886,7 +1886,7 @@ function loadStockTable(table, options) { }); } - filters = Object.assign(filters, params); + filters = Object.assign(filters, options.params); var col = null; @@ -1909,8 +1909,8 @@ function loadStockTable(table, options) { field: 'part', title: '{% trans "Part" %}', sortName: 'part__name', - visible: params['part_detail'], - switchable: params['part_detail'], + visible: options.params['part_detail'], + switchable: options.params['part_detail'], formatter: function(value, row) { let html = ''; @@ -1948,8 +1948,8 @@ function loadStockTable(table, options) { field: 'IPN', title: '{% trans "IPN" %}', sortName: 'part__IPN', - visible: params['part_detail'], - switchable: params['part_detail'], + visible: options.params['part_detail'], + switchable: options.params['part_detail'], formatter: function(value, row) { var ipn = row.part_detail.IPN; if (ipn) { @@ -1969,8 +1969,8 @@ function loadStockTable(table, options) { columns.push({ field: 'part_detail.description', title: '{% trans "Description" %}', - visible: params['part_detail'], - switchable: params['part_detail'], + visible: options.params['part_detail'], + switchable: options.params['part_detail'], formatter: function(value, row) { var description = row.part_detail.description; return withTitle(shortenString(description), description); @@ -2168,8 +2168,8 @@ function loadStockTable(table, options) { field: 'supplier_part', title: '{% trans "Supplier Part" %}', - visible: params['supplier_part_detail'] || false, - switchable: params['supplier_part_detail'] || false, + visible: options.params['supplier_part_detail'] || false, + switchable: options.params['supplier_part_detail'] || false, formatter: function(value, row) { if (!value) { return '-'; @@ -2358,7 +2358,7 @@ function loadStockTable(table, options) { queryParams: filters, sidePagination: 'server', name: 'stock', - original: params, + original: options.params, showColumns: true, showFooter: true, columns: columns, From 752fb97d2f0da8e565635ec4e04a9ecb77e264b0 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 28 Jun 2023 21:59:47 +1000 Subject: [PATCH 057/103] Transfer stock location (#5117) * Hide info messages if no data * pre-fill location when transferring stock * Change iteration variable * Measure twice, cut once * js improvements --- InvenTree/part/tasks.py | 6 ++++-- InvenTree/templates/js/translated/stock.js | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/tasks.py b/InvenTree/part/tasks.py index d04d1b7794..23781fd839 100644 --- a/InvenTree/part/tasks.py +++ b/InvenTree/part/tasks.py @@ -459,7 +459,8 @@ def rebuild_parameters(template_id): parameter.save() n += 1 - logger.info(f"Rebuilt {n} parameters for template '{template.name}'") + if n > 0: + logger.info(f"Rebuilt {n} parameters for template '{template.name}'") def rebuild_supplier_parts(part_id): @@ -486,4 +487,5 @@ def rebuild_supplier_parts(part_id): except ValidationError: pass - logger.info(f"Rebuilt {n} supplier parts for part '{prt.name}'") + if n > 0: + logger.info(f"Rebuilt {n} supplier parts for part '{prt.name}'") diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index af07802601..94d77e8719 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -1148,7 +1148,26 @@ function adjustStock(action, items, options={}) { var extraFields = {}; if (specifyLocation) { + + // If a common location is specified, use that as the default + let commonLocation = null; + + for (const item of items) { + + if (item.location == commonLocation) { + continue; + } + + if (commonLocation == null) { + commonLocation = item.location; + } else { + commonLocation = null; + break; + } + } + extraFields.location = { + value: commonLocation, filters: { structural: false, }, From c8642bedcd3e50ccc8b1bf1e6e4e47c72e835ad9 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 29 Jun 2023 22:38:37 +1000 Subject: [PATCH 058/103] remove old method (#5120) - not used --- InvenTree/report/models.py | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/InvenTree/report/models.py b/InvenTree/report/models.py index 5595a346d7..9674095b85 100644 --- a/InvenTree/report/models.py +++ b/InvenTree/report/models.py @@ -7,7 +7,6 @@ import sys from django.conf import settings from django.core.cache import cache -from django.core.exceptions import FieldError, ValidationError from django.core.validators import FileExtensionValidator from django.db import models from django.template import Context, Template @@ -304,19 +303,6 @@ class TestReport(ReportTemplateBase): help_text=_('Include test results for stock items installed inside assembled item') ) - def matches_stock_item(self, item): - """Test if this report template matches a given StockItem objects.""" - try: - filters = validateFilterString(self.filters) - items = stock.models.StockItem.objects.filter(**filters) - except (ValidationError, FieldError): - return False - - # Ensure the provided StockItem object matches the filters - items = items.filter(pk=item.pk) - - return items.exists() - def get_test_keys(self, stock_item): """Construct a flattened list of test 'keys' for this StockItem: From 7955d1f579d1195d1b3b27a2f6b92cc79a93a69a Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 30 Jun 2023 13:43:54 +1000 Subject: [PATCH 059/103] Get git log fix (#5113) * Simplify extraction of git repo - Replace Repo.discover() with Repo() - Ensure provided path is directory * Remove profiling code --- InvenTree/plugin/helpers.py | 30 ++++++++++++++++-------------- InvenTree/plugin/plugin.py | 1 + 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/InvenTree/plugin/helpers.py b/InvenTree/plugin/helpers.py index df00d1d37d..40b97aab9a 100644 --- a/InvenTree/plugin/helpers.py +++ b/InvenTree/plugin/helpers.py @@ -2,6 +2,7 @@ import inspect import logging +import os import pathlib import pkgutil import sysconfig @@ -116,25 +117,26 @@ def get_git_log(path): from InvenTree.ready import isInTestMode output = None - path = path.replace(str(settings.BASE_DIR.parent), '')[1:] + path = os.path.abspath(path) + + if os.path.exists(path) and os.path.isfile(path): + path = os.path.dirname(path) # only do this if we are not in test mode if not isInTestMode(): # pragma: no cover try: - walker = Repo.discover(path).get_walker(paths=[path.encode()], max_entries=1) - try: - commit = next(iter(walker)).commit - except StopIteration: - pass - else: - output = [ - commit.sha().hexdigest(), - commit.author.decode().split('<')[0][:-1], - commit.author.decode().split('<')[1][:-1], - datetime.datetime.fromtimestamp(commit.author_time, ).isoformat(), - commit.message.decode().split('\n')[0], - ] + repo = Repo(path) + head = repo.head() + commit = repo[head] + + output = [ + head.decode(), + commit.author.decode().split('<')[0][:-1], + commit.author.decode().split('<')[1][:-1], + datetime.datetime.fromtimestamp(commit.author_time, ).isoformat(), + commit.message.decode().split('\n')[0], + ] except NotGitRepository: pass diff --git a/InvenTree/plugin/plugin.py b/InvenTree/plugin/plugin.py index 4b2d2886cd..7288cee72c 100644 --- a/InvenTree/plugin/plugin.py +++ b/InvenTree/plugin/plugin.py @@ -348,6 +348,7 @@ class InvenTreePlugin(VersionMixin, MixinBase, MetaBase): # region package info def _get_package_commit(self): """Get last git commit for the plugin.""" + return get_git_log(str(self.file())) @classmethod From 1d18b487f35e814e0bdf11bc2240388feeb4fce8 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 30 Jun 2023 14:22:43 +1000 Subject: [PATCH 060/103] Update version.py (#5123) Bump version to 0.12.0 --- InvenTree/InvenTree/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 101f95e822..7609195b4b 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -18,7 +18,7 @@ from dulwich.repo import NotGitRepository, Repo from .api_version import INVENTREE_API_VERSION # InvenTree software version -INVENTREE_SW_VERSION = "0.12.0 dev" +INVENTREE_SW_VERSION = "0.12.0" # Discover git try: From a81ac8960357d75cbfa035fdbf40f66bee105c99 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 30 Jun 2023 14:50:56 +1000 Subject: [PATCH 061/103] Update version.py (#5124) Bump to 0.13.0 dev --- InvenTree/InvenTree/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 7609195b4b..fdb8e5b907 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -18,7 +18,7 @@ from dulwich.repo import NotGitRepository, Repo from .api_version import INVENTREE_API_VERSION # InvenTree software version -INVENTREE_SW_VERSION = "0.12.0" +INVENTREE_SW_VERSION = "0.13.0 dev" # Discover git try: From 2e7c86ff92b20c271943451ea249504d7628e36b Mon Sep 17 00:00:00 2001 From: Mark Oude Elberink Date: Mon, 3 Jul 2023 01:55:58 +0200 Subject: [PATCH 062/103] fix: add missing build model property (#5127) * fix: add missing virtual build property * chore: improve docstring --- InvenTree/build/models.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index b4ee51f80e..5ffc4f3a41 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -361,6 +361,11 @@ class Build(MPTTModel, InvenTree.models.InvenTreeBarcodeMixin, InvenTree.models. return self.build_lines.filter(bom_item__sub_part__trackable=False) + @property + def are_untracked_parts_allocated(self): + """Returns True if all untracked parts are allocated for this BuildOrder.""" + return self.is_fully_allocated(tracked=False) + def has_untracked_line_items(self): """Returns True if this BuildOrder has non trackable BomItems.""" return self.has_untracked_line_items.count() > 0 From 7e6409cd92ff3bba5913bd78b6d93c74d5a7e121 Mon Sep 17 00:00:00 2001 From: Alexandre NICOLAIE Date: Tue, 4 Jul 2023 02:57:02 +0200 Subject: [PATCH 063/103] Update config.md (#5141) * Change the description of `File Storage Locations` variables * Remove `INVENTREE_BACKUP_DIR` that is already explain on the backup documentation and bellow in this documentation --- docs/docs/start/config.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/docs/start/config.md b/docs/docs/start/config.md index 52b0fec408..140100de75 100644 --- a/docs/docs/start/config.md +++ b/docs/docs/start/config.md @@ -191,9 +191,8 @@ InvenTree requires some external directories for storing files: | Environment Variable | Configuration File | Description | Default | | --- | --- | --- | --- | -| INVENTREE_STATIC_ROOT | static_root | List of allowed hosts | *Not specified* | -| INVENTREE_MEDIA_ROOT | media_root | Allow all remote URLS for CORS checks | *Not specified* | -| INVENTREE_BACKUP_DIR | backup_dir | List of whitelisted CORS URLs | *Not specified* | +| INVENTREE_STATIC_ROOT | static_root | [Static files](./serving_files.md#static-files) directory | *Not specified* | +| INVENTREE_MEDIA_ROOT | media_root | [Media files](./serving_files.md#media-files) directory | *Not specified* | !!! tip "Serving Files" Read the [Serving Files](./serving_files.md) section for more information on hosting *static* and *media* files From 3ea5a360447fd2ed44ee744b3982f502d6581493 Mon Sep 17 00:00:00 2001 From: Ritchie Poh Date: Tue, 4 Jul 2023 09:39:49 +0800 Subject: [PATCH 064/103] Update config.md (#5144) Possible spelling error for INVENTREE_TIMEZONE env variable --- docs/docs/start/config.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/start/config.md b/docs/docs/start/config.md index 140100de75..9a25451c08 100644 --- a/docs/docs/start/config.md +++ b/docs/docs/start/config.md @@ -53,7 +53,7 @@ The following basic options are available: | --- | --- | --- | --- | | INVENTREE_DEBUG | debug | Enable [debug mode](./intro.md#debug-mode) | True | | INVENTREE_LOG_LEVEL | log_level | Set level of logging to terminal | WARNING | -| INVENTREE_TIMZONE | timezome | Server timezone | UTC | +| INVENTREE_TIMEZONE | timezone | Server timezone | UTC | | ADMIN_URL | admin_url | URL for accessing [admin interface](../settings/admin.md) | admin | | INVENTREE_LANGUAGE | language | Default language | en-us | | INVENTREE_BASE_URL | base_url | Server base URL | *Not specified* | From 5408ced564453ab749fdb43bcc9e11527c7cfa6a Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 13:22:59 +1000 Subject: [PATCH 065/103] New Crowdin updates (#5107) * 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 * 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 | 402 +++---- InvenTree/locale/da/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/de/LC_MESSAGES/django.po | 412 +++---- InvenTree/locale/el/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/en/LC_MESSAGES/django.po | 2 +- InvenTree/locale/es/LC_MESSAGES/django.po | 424 +++---- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 2 +- InvenTree/locale/fa/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/fi/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/fr/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/he/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/hu/LC_MESSAGES/django.po | 730 ++++++------ InvenTree/locale/id/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/it/LC_MESSAGES/django.po | 404 +++---- InvenTree/locale/ja/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/ko/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/nl/LC_MESSAGES/django.po | 526 ++++----- InvenTree/locale/no/LC_MESSAGES/django.po | 1008 ++++++++--------- InvenTree/locale/pl/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/pt/LC_MESSAGES/django.po | 422 +++---- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 2 +- InvenTree/locale/ru/LC_MESSAGES/django.po | 700 ++++++------ InvenTree/locale/sl/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/sv/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/th/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/tr/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/vi/LC_MESSAGES/django.po | 402 +++---- InvenTree/locale/zh/LC_MESSAGES/django.po | 402 +++---- .../locale/zh_Hans/LC_MESSAGES/django.po | 2 +- 29 files changed, 5734 insertions(+), 5734 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index 13c165b408..d7e629c537 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -68,7 +68,7 @@ msgstr "Zadejte datum" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Poznámky" @@ -288,7 +288,7 @@ msgstr "Komentář k souboru" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Uživatel" @@ -331,7 +331,7 @@ msgstr "Neplatný výběr" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Neplatný výběr" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Název" @@ -355,8 +355,8 @@ msgstr "Název" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Název" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Název" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Popis" @@ -389,7 +389,7 @@ msgid "parent" msgstr "nadřazený" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Cesta" @@ -751,7 +751,7 @@ msgstr "Rozdělit od nadřazené položky" msgid "Split child item" msgstr "Rozdělit podřazený předmět" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Sloučené položky zásob" @@ -771,7 +771,7 @@ msgstr "Výstup objednávky sestavení dokončen" msgid "Build order output rejected" msgstr "Výstup objednávky sestavení byl odmítnut" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Spotřebováno podle objednávky" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Vytvořit objednávku" @@ -982,7 +982,7 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Díl" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Příkaz k sestavení {build} byl dokončen" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Příkaz k sestavení byl dokončen" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Výstup sestavení neodpovídá příkazu sestavení" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Množství nemůže být větší než výstupní množství" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlavní díl je označen jako sledovatelný" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "Název parametru" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Hodnota" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "Smazat obrázek" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Zákazník" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 81c481f7ff..9f28fa436f 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -68,7 +68,7 @@ msgstr "Angiv dato" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Bemærkninger" @@ -288,7 +288,7 @@ msgstr "Fil kommentar" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Bruger" @@ -331,7 +331,7 @@ msgstr "Ugyldigt valg" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Ugyldigt valg" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Navn" @@ -355,8 +355,8 @@ msgstr "Navn" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Navn" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Navn" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Beskrivelse" @@ -389,7 +389,7 @@ msgid "parent" msgstr "overordnet" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Sti" @@ -751,7 +751,7 @@ msgstr "Opdel fra overordnet element" msgid "Split child item" msgstr "Opdel underordnet element" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Flettede lagervarer" @@ -771,7 +771,7 @@ msgstr "Byggeorder output fuldført" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Brugt efter byggeordre" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Produktionsordre" @@ -982,7 +982,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Del" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bygningsordre {build} er fuldført" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index ab25af17f4..994d25f0f2 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -68,7 +68,7 @@ msgstr "Datum eingeben" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notizen" @@ -288,7 +288,7 @@ msgstr "Datei-Kommentar" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Benutzer" @@ -331,7 +331,7 @@ msgstr "Ungültige Auswahl" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Ungültige Auswahl" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Name" @@ -355,8 +355,8 @@ msgstr "Name" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Name" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Name" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Beschreibung" @@ -389,7 +389,7 @@ msgid "parent" msgstr "Eltern" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Pfad" @@ -751,7 +751,7 @@ msgstr "Vom übergeordneten Element geteilt" msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Lagerartikel zusammengeführt" @@ -771,7 +771,7 @@ msgstr "Endprodukt fertiggestellt" msgid "Build order output rejected" msgstr "Endprodukt abgelehnt" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Durch Bauauftrag verbraucht" @@ -900,7 +900,7 @@ msgstr "Zugeordnet" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Bauauftrag" @@ -982,7 +982,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Teil" @@ -1150,43 +1150,43 @@ msgstr "Projektcode" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Bauauftrag {build} wurde fertiggestellt" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 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:1366 +#: build/models.py:1371 #, 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:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" @@ -1345,7 +1345,7 @@ msgstr "Seriennummern automatisch zuweisen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" @@ -1368,8 +1368,8 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Lagerort" @@ -1402,8 +1402,8 @@ msgstr "Lagerort für fertige Endprodukte" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Status" @@ -1738,7 +1738,7 @@ msgstr "Fertiggestellte Endprodukte" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Auftrag" @@ -1795,8 +1795,8 @@ msgstr "Zugewiesene Teile" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "Fertiggestellte Endprodukte" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Anhänge" @@ -1905,11 +1905,11 @@ msgstr "Anhänge" msgid "Build Notes" msgstr "Bauauftrags-Notizen" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "Zuordnung abgeschlossen" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Vorlage" @@ -2373,7 +2373,7 @@ msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" #: common/models.py:1253 msgid "Minimum Pricing Decimal Places" -msgstr "" +msgstr "Dezimalstellen für minimalen Preis" #: common/models.py:1254 msgid "Minimum number of decimal places to display when rendering pricing data" @@ -2381,7 +2381,7 @@ msgstr "" #: common/models.py:1264 msgid "Maximum Pricing Decimal Places" -msgstr "" +msgstr "Dezimalstellen für maximalen Preis" #: common/models.py:1265 msgid "Maximum number of decimal places to display when rendering pricing data" @@ -2745,7 +2745,7 @@ msgstr "Erlaubte Domains" #: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "" +msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" #: common/models.py:1605 msgid "Group on signup" @@ -2853,7 +2853,7 @@ msgstr "Kein Drucker (Exportieren als PDF)" #: common/models.py:1751 msgid "Hide inactive parts" -msgstr "" +msgstr "Inaktive Teile ausblenden" #: common/models.py:1752 msgid "Hide inactive parts in results displayed on the homepage" @@ -3559,7 +3559,7 @@ msgstr "" #: company/models.py:329 msgid "Select company" -msgstr "" +msgstr "Firma auswählen" #: company/models.py:332 msgid "Address title" @@ -3708,7 +3708,7 @@ msgstr "Parametername" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Wert" @@ -3805,7 +3805,7 @@ msgstr "Mindestpreis" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Verpackungen" @@ -3839,7 +3839,7 @@ msgstr "Mehrere bestellen" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "Bild löschen" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Kunde" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Zuliefererteil" @@ -4271,7 +4271,7 @@ msgstr "Zuliefererteil QR-Code" msgid "Link Barcode to Supplier Part" msgstr "Barcode mit Zuliefererteil verknüpfen" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Teilverfügbarkeit aktualisieren" @@ -4283,7 +4283,7 @@ msgstr "Teilverfügbarkeit aktualisieren" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Lagerartikel" @@ -4333,7 +4333,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Aktiviert" @@ -4357,7 +4357,7 @@ msgstr "Höhe [mm]" msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Dateinamen-Muster" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Filter" @@ -4412,7 +4412,7 @@ msgstr "Keine passende Bestellung gefunden" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Bestellung" @@ -4421,7 +4421,7 @@ msgstr "Bestellung" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "Empfangene Objekt-Anzahl" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Preis" @@ -5358,12 +5358,12 @@ msgstr "Beschreibung des Teils" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN (Interne Produktnummer)" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Version" @@ -5538,7 +5538,7 @@ msgstr "Teil-Kategorien" msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Datum" @@ -6592,7 +6592,7 @@ msgstr "Inventurinformationen hinzufügen" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "Inventur" @@ -6958,7 +6958,7 @@ msgstr "Varianten" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Bestand" @@ -6991,7 +6991,7 @@ msgstr "Preis aktualisieren" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -7370,91 +7370,91 @@ msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" msgid "Test report" msgstr "Testbericht" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "Bericht-Vorlage Datei" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "Bericht-Vorlage Beschreibung" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "Bericht Revisionsnummer (autom. erhöht)" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "Muster für die Erstellung von Berichtsdateinamen" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "Bericht-Vorlage ist ein" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "einfügen Installiert in Tests" -#: report/models.py:304 +#: report/models.py:303 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:364 msgid "Build Filters" msgstr "Bauauftrag Filter" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "Snippet" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "Ressource" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "Ressource-Beschreibung" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "Test" @@ -7549,7 +7549,7 @@ msgstr "Verbaute Objekte" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Seriennummer" @@ -7617,7 +7617,7 @@ msgstr "Löschen wenn leer" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -7625,23 +7625,23 @@ msgstr "Ablaufdatum" msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -7670,7 +7670,7 @@ msgstr "Besitzer auswählen" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden." -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Extern" @@ -8047,44 +8047,44 @@ msgstr "Informationen zur Bestand-Verfolgung" msgid "Child Stock Items" msgstr "Kind-Lagerartikel" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "Dieser Lagerartikel hat keine Kinder" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "Testdaten" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Test-Bericht" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "Testdaten löschen" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "Testdaten hinzufügen" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "Lagerartikel-Notizen" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "Installierte Lagerartikel" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "Lagerartikel installieren" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "Alle Testergebnisse für diesen Lagerartikel löschen" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "Bestands-Anpassungs Aktionen" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Bestand zählen" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "Bestand hinzufügen" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "Bestand entfernen" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "Bestand serialisieren" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Bestand verschieben" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "Kunden zuweisen" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "Keine Inventur ausgeführt" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "Neuer Lagerort" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "Keine Bauaufträge passen zur Anfrage" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "Auswählen" @@ -10222,7 +10222,7 @@ msgstr "Bauauftrag ist überfällig" msgid "Progress" msgstr "Fortschritt" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "Keine Benutzerinformation" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "Bestand bauen" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Bestand bestellen" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "Keine Kategorie" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "Listenansicht" @@ -11125,7 +11125,7 @@ msgstr "Rasteransicht" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "Baumansicht" @@ -11141,12 +11141,12 @@ msgstr "Abonnierte Kategorie" msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "Testergebnis löschen" @@ -11727,7 +11727,7 @@ msgstr "Bestands-Zuordnung löschen" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "an Kunde versand" @@ -11981,7 +11981,7 @@ msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "Lagerartikel auswählen" @@ -11989,264 +11989,264 @@ msgstr "Lagerartikel auswählen" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "Test bestanden" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "Testergebnis löschen" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "In Lagerartikel installiert" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "Bestand zusammenführen" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "Lagerartikel wird produziert" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "Lagerartikel wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "Lagerartikel wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "Serialisierter Lagerartikel wurde zugewiesen" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "Lagerartikel wurde vollständig zugewiesen" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "Lagerartikel wurde teilweise zugewiesen" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "Lagerartikel in anderem Element verbaut" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "Lagerartikel ist abgelaufen" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "Lagerartikel läuft demnächst ab" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "Lagerartikel abgewiesen" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "Lagerartikel verloren" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "Lagerartikel zerstört" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "Zuliefererteil nicht angegeben" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "Bestandswert" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "Keine zur Anfrage passenden Lagerartikel" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "Untergeordnete Lagerorte laden" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "Details" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "Artikelinformationen nicht verfügbar" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "Lagerartikel existiert nicht mehr" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "Lagerartikel entfernen" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "Zu deinstallierende Lagerartikel auswählen" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "Einen weiteren Lagerartikel in dieses Teil installiert" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "Dieser Lagerartikel ist aktuell vorhanden" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "Der Lagerbestand ist nicht bereits in einem anderen Bestand installiert" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "Teil zur Installation auswählen" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index af7e00c035..38a6a090db 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -68,7 +68,7 @@ msgstr "Εισάγετε ημερομηνία" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Σημειώσεις" @@ -288,7 +288,7 @@ msgstr "Σχόλιο αρχείου" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Χρήστης" @@ -331,7 +331,7 @@ msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Μη έγκυρη επιλογή" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Όνομα" @@ -355,8 +355,8 @@ msgstr "Όνομα" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Όνομα" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Όνομα" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Περιγραφή" @@ -389,7 +389,7 @@ msgid "parent" msgstr "γονέας" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Μονοπάτι" @@ -751,7 +751,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί msgid "Split child item" msgstr "Διαχωρίστηκε θυγατρικό στοιχείο" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Έγινε συγχώνευση αποθεμάτων" @@ -771,7 +771,7 @@ msgstr "Η έξοδος της σειράς κατασκευής ολοκληρ msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Κατανάλωση με εντολή κατασκευής" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Σειρά Κατασκευής" @@ -982,7 +982,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Εξάρτημα" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Η παραγγελία κατασκευής {build} έχει ολοκληρωθεί" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" @@ -1345,7 +1345,7 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 4386035e0c..e3e8edb438 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: 2023-06-24 04:38+0000\n" +"POT-Creation-Date: 2023-06-26 07:13+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index 906c507a39..f8c18f10ce 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:44\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -68,7 +68,7 @@ msgstr "Ingrese la fecha" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notas" @@ -123,7 +123,7 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado." #: InvenTree/forms.py:345 msgid "Registration is disabled." -msgstr "" +msgstr "Registro deshabilitado." #: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" @@ -288,7 +288,7 @@ msgstr "Comentario del archivo" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Usuario" @@ -331,7 +331,7 @@ msgstr "Selección no válida" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Selección no válida" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Nombre" @@ -355,8 +355,8 @@ msgstr "Nombre" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Nombre" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Nombre" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Descripción" @@ -389,7 +389,7 @@ msgid "parent" msgstr "padre" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Ruta" @@ -751,7 +751,7 @@ msgstr "Separar del artículo principal" msgid "Split child item" msgstr "Dividir artículo secundario" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Artículos de stock combinados" @@ -769,9 +769,9 @@ msgstr "Construir orden de salida completado" #: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "" +msgstr "Orden de ensamble rechazada" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Consumido por orden de construcción" @@ -900,7 +900,7 @@ msgstr "Asignadas" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Construir órden" @@ -982,7 +982,7 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Parte" @@ -1148,45 +1148,45 @@ msgstr "Código del proyecto" #: build/models.py:310 msgid "Project code for this build order" -msgstr "" +msgstr "Código de proyecto para esta orden de ensamble" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "El pedido {build} ha sido procesado" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" -msgstr "" +msgstr "Ensamblar equipo" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" -msgstr "" +msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" -msgstr "" +msgstr "El artículo de almacén selelccionado no coincide con la linea BOM" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Artículo de stock de destino" @@ -1345,7 +1345,7 @@ msgstr "Autoasignar Números de Serie" msgid "Automatically allocate required items with matching serial numbers" msgstr "Asignar automáticamente los artículos requeridos con números de serie coincidentes" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" @@ -1368,26 +1368,26 @@ msgstr "Debe proporcionarse una lista de salidas de construcción" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Ubicación" #: build/serializers.py:424 msgid "Stock location for scrapped outputs" -msgstr "" +msgstr "Ubicación de almacén para salidas descartadas" #: build/serializers.py:430 msgid "Discard Allocations" -msgstr "" +msgstr "Descartar asignaciones" #: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" #: build/serializers.py:436 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "Razón para descartar la salida de ensamble(s)" #: build/serializers.py:497 msgid "Location for completed build outputs" @@ -1402,8 +1402,8 @@ msgstr "Ubicación para las salidas de construcción completadas" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Estado" @@ -1485,7 +1485,7 @@ msgstr "El orden de construcción tiene salidas incompletas" #: build/serializers.py:722 msgid "Build Line" -msgstr "" +msgstr "Linea de ensamble" #: build/serializers.py:732 msgid "Build output" @@ -1738,7 +1738,7 @@ msgstr "Salidas completadas" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Orden de Venta" @@ -1795,8 +1795,8 @@ msgstr "Partes asignadas" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "Salidas de Trabajo Completadas" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Adjuntos" @@ -1905,11 +1905,11 @@ msgstr "Adjuntos" msgid "Build Notes" msgstr "Notas del Trabajo" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "Asignación completa" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Plantilla" @@ -3708,7 +3708,7 @@ msgstr "Nombre del parámetro" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Valor" @@ -3805,7 +3805,7 @@ msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Paquetes" @@ -3839,7 +3839,7 @@ msgstr "Pedido múltiple" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "Borrar imagen" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Cliente" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Parte del proveedor" @@ -4271,7 +4271,7 @@ msgstr "Código QR de parte del proveedor" msgid "Link Barcode to Supplier Part" msgstr "Enlazar código de barras a la parte del proveedor" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Actualizar disponibilidad de parte" @@ -4283,7 +4283,7 @@ msgstr "Actualizar disponibilidad de parte" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Elementos de stock" @@ -4333,7 +4333,7 @@ msgstr "Etiqueta" msgid "Label template file" msgstr "Archivo de plantilla de etiqueta" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Habilitado" @@ -4357,7 +4357,7 @@ msgstr "Altura [mm]" msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Patrón de Nombre de archivo" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Filtros" @@ -4412,7 +4412,7 @@ msgstr "No se encontró ninguna orden de compra coincidente" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Orden de compra" @@ -4421,7 +4421,7 @@ msgstr "Orden de compra" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Orden de devolución" @@ -4626,7 +4626,7 @@ msgstr "Número de artículos recibidos" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Precio de Compra" @@ -5358,12 +5358,12 @@ msgstr "Descripción de parte" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisión" @@ -5538,7 +5538,7 @@ msgstr "Categorías de parte" msgid "Default location for parts in this category" msgstr "Ubicación predeterminada para partes de esta categoría" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Fecha" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6958,7 +6958,7 @@ msgstr "Variantes" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Inventario" @@ -6991,7 +6991,7 @@ msgstr "Actualizar precio de partes" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "Última actualización" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "Informe de la prueba" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Nombre de la plantilla" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "Plantilla de informe" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "Descripción de la plantilla de informe" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "Número de revisión del informe (autoincremental)" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "Patrón para generar nombres de archivo" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "Plantilla de informe está habilitada" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Filtros de consulta de Stock (lista separada por comas de pares clave=valor)" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "Incluye Pruebas Instaladas" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "Incluye resultados de prueba para artículos de stock instalados dentro del artículo ensamblado" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "Crear filtros" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "Filtros de partes" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtros de búsqueda de partes (lista separada por comas de pares clave=valor" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "Filtros de búsqueda de orden de compra" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "Filtros de búsqueda de pedidos de ventas" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "Filtros de búsqueda de orden de devolución" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "Activo" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "Descripción del archivo de activos" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "Resultados de la Prueba" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "Prueba" @@ -7549,7 +7549,7 @@ msgstr "Elementos instalados" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Serial" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "Fecha de Expiración" @@ -7625,23 +7625,23 @@ msgstr "Fecha de Expiración" msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "Seleccionar Propietario" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Externo" @@ -8047,44 +8047,44 @@ msgstr "Información de Seguimiento de Stock" msgid "Child Stock Items" msgstr "Elementos de Stock Hijos" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "Este artículo de stock no tiene ningún artículo secundario" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "Datos de Prueba" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Informe de Prueba" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "Eliminar Datos de Prueba" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "Añadir Datos de Prueba" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "Notas del artículo de stock" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "Elementos de Stock instalados" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "Instalar artículo de stock" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "Añadir Resultado de Prueba" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "Acciones de ajuste de stock" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Contar stock" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "Añadir stock" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "Eliminar stock" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "Serializar stock" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Transferir stock" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "Asignar a cliente" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "Ningún inventario realizado" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "Nueva Ubicación" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "ubicación de almacén" @@ -10210,7 +10210,7 @@ msgstr "No hay trabajos que coincidan con la consulta" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "Seleccionar" @@ -10222,7 +10222,7 @@ msgstr "Orden de trabajo atrasada" msgid "Progress" msgstr "Progreso" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "No hay información de usuario" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "Stock de Trabajo" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Pedido de stock" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "Sin categoría" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "Mostrar como lista" @@ -11125,7 +11125,7 @@ msgstr "Mostrar como cuadrícula" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "Mostrar como árbol" @@ -11141,12 +11141,12 @@ msgstr "Categoría suscrita" msgid "No test templates matching query" msgstr "No hay plantillas de prueba que coincidan con la consulta" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "Editar resultado de prueba" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "Eliminar resultado de prueba" @@ -11727,7 +11727,7 @@ msgstr "Eliminar Adjudicación de Stock" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Enviado al cliente" @@ -11981,7 +11981,7 @@ msgstr "La cantidad no se puede ajustar para el stock serializado" msgid "Specify stock quantity" msgstr "Especificar cantidad de stock" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "Seleccionar artículos de stock" @@ -11989,264 +11989,264 @@ msgstr "Seleccionar artículos de stock" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "Confirmar ajuste de stock" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "PASA" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "FALLO" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "SIN RESULTADO" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "Pruebas pasadas" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "Añadir resultado de prueba" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "No se encontraron resultados de prueba" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "Fecha de Prueba" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "Editar Resultados de Prueba" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "Borrar Resultado de Prueba" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "En producción" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "Instalado en el artículo de stock" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "Asignado a la Orden de Venta" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "Ninguna ubicación de stock establecida" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "Fusionar stock" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "Eliminar existencias" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "El artículo de stock está en producción" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "Artículo de stock asignado al pedido de venta" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "Artículo de stock asignado al cliente" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "Se ha asignado un artículo de stock serializado" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "Artículo de stock ha sido completamente asignado" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "Artículo de stock ha sido asignado parcialmente" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "Artículo de stock ha sido instalado en otro artículo" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "Artículo de stock ha caducado" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "El artículo de stock caducará pronto" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "Artículo de stock ha sido rechazado" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "Artículo de stock perdido" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "Artículo de stock destruido" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Agotado" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "Parte del proveedor no especificada" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "No hay artículos de stock que coincidan con la consulta" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "Cargar sublocalidades" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "Detalles" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "Sin cambios" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "Información de la parte no disponible" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "Ubicación ya no existe" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "La orden de compra ya no existe" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "El pedido de venta ya no existe" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "El pedido de devolución ya no existe" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "El cliente ya no existe" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "Artículo de stock ya no existe" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "Añadido" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "Eliminado" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "Ningún artículo instalado" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "Desinstalar artículo de stock" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Los artículos de stock sólo pueden ser instalados si cumplen con los siguientes criterios" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "Seleccionar parte para instalar" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index 4386035e0c..e3e8edb438 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: 2023-06-24 04:38+0000\n" +"POT-Creation-Date: 2023-06-26 07:13+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 7479b75485..47c0f02bc0 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -68,7 +68,7 @@ msgstr "تاریخ را وارد کنید" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "یادداشت" @@ -288,7 +288,7 @@ msgstr "" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "" @@ -331,7 +331,7 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "" @@ -355,8 +355,8 @@ msgstr "" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -751,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "" @@ -771,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "" @@ -982,7 +982,7 @@ msgstr "" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index c0dc6119dd..17c45dfc1a 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:44\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -68,7 +68,7 @@ msgstr "Anna päivämäärä" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Merkinnät" @@ -288,7 +288,7 @@ msgstr "Tiedoston kommentti" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Käyttäjä" @@ -331,7 +331,7 @@ msgstr "Virheellinen valinta" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Virheellinen valinta" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Nimi" @@ -355,8 +355,8 @@ msgstr "Nimi" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Nimi" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Nimi" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Kuvaus" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Polku" @@ -751,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "" @@ -771,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "" @@ -982,7 +982,7 @@ msgstr "" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Osa" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Määrä" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Sijainti" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Tila" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Liitteet" @@ -1905,11 +1905,11 @@ msgstr "Liitteet" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Arvo" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Asiakas" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Käytössä" @@ -4357,7 +4357,7 @@ msgstr "Korkeus [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Suodattimet" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Päivämäärä" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Sarjanumero" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "Uusi sijainti" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "Valitse" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "Edistyminen" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "Tosi" msgid "False" msgstr "Epätosi" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 0b400503b3..9ecda5ef60 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -68,7 +68,7 @@ msgstr "Entrer la date" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notes" @@ -288,7 +288,7 @@ msgstr "Commentaire du fichier" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Utilisateur" @@ -331,7 +331,7 @@ msgstr "Choix invalide" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Choix invalide" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Nom" @@ -355,8 +355,8 @@ msgstr "Nom" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Nom" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Nom" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Description" @@ -389,7 +389,7 @@ msgid "parent" msgstr "parent" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Chemin d'accès" @@ -751,7 +751,7 @@ msgstr "Séparer de l'élément parent" msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Articles de stock fusionnés" @@ -771,7 +771,7 @@ msgstr "Sortie de l'ordre de construction terminée" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Consommé par ordre de construction" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Ordre de Fabrication" @@ -982,7 +982,7 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Pièce" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "La commande de construction {build} a été effectuée" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Quantité" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 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:1366 +#: build/models.py:1371 #, 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:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Stock de destination de l'article" @@ -1345,7 +1345,7 @@ msgstr "Allouer automatiquement les numéros de série" 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:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1368,8 +1368,8 @@ msgstr "Une liste d'ordre de production doit être fourni" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Emplacement" @@ -1402,8 +1402,8 @@ msgstr "Emplacement des ordres de production achevés" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "État" @@ -1738,7 +1738,7 @@ msgstr "Sorties de Construction terminées" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Commandes" @@ -1795,8 +1795,8 @@ msgstr "Pièces allouées" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "Sorties de Construction terminées" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Pieces jointes" @@ -1905,11 +1905,11 @@ msgstr "Pieces jointes" msgid "Build Notes" msgstr "Notes de construction" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "Allocation terminée" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ 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:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Modèle" @@ -3708,7 +3708,7 @@ msgstr "Nom du paramètre" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Valeur" @@ -3805,7 +3805,7 @@ msgstr "Frais minimums (par exemple frais de stock)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Conditionnement" @@ -3839,7 +3839,7 @@ msgstr "Commande multiple" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "Supprimer image" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Client" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Pièce fournisseur" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "Lier le code-barres à la pièce du fournisseur" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Mettre à jour la disponibilité des pièces" @@ -4283,7 +4283,7 @@ msgstr "Mettre à jour la disponibilité des pièces" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Éléments en stock" @@ -4333,7 +4333,7 @@ msgstr "Étiquette" msgid "Label template file" msgstr "Fichier de modèle d'étiquette" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Activé" @@ -4357,7 +4357,7 @@ msgstr "Hauteur [mm]" msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Filtres" @@ -4412,7 +4412,7 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Commande d’achat" @@ -4421,7 +4421,7 @@ msgstr "Commande d’achat" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "Nombre d'éléments reçus" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Prix d'achat" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Révision" @@ -5538,7 +5538,7 @@ msgstr "Catégories de composants" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Date" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "Prise d'inventaire" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Stock" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "Filtres de composants" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "Extrait " -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "Elément" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Numéro de série" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "Sélectionner un propriétaire" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "Pas d'informations sur l'utilisateur" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Commander des stocks" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "Aucune catégorie" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "Afficher sous forme de liste" @@ -11125,7 +11125,7 @@ msgstr "Afficher sous forme de grille" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "Afficher sous forme d'arborescence" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "Modifier le résultat du test" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "Supprimer le résultat du test" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Livré au client" @@ -11981,7 +11981,7 @@ msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé" msgid "Specify stock quantity" msgstr "Spécifiez la quantité du stock" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "RÉUSSI" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "ÉCHEC" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "AUCUN RÉSULTAT" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "Ajouter un résultat de test" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "Aucun résultat de test trouvé" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "Date du test" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "En production" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "Article en stock installé dans un autre article en stock" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "Assigné à une commande de vente" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "Aucun emplacement de stock défini" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "Fusionner le stock" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "L'article de stock est en production" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "L'article en stock a été assigné à une commande de vente" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "L'article en stock a été assigné à un client" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "L'article de stock sérialisé a été alloué" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "L'article de stock a été complètement alloué" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "L'article de stock a été partiellement alloué" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "L'article en stock a été installé dans un autre article" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "L'article en stock a expiré" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "L'article en stock va bientôt expirer" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "L'article de stock a été rejeté" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "L'article de stock est perdu" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "L'article de stock est détruit" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Epuisé" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "Pièce de fournisseur non précisée" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "Aucun article de stock ne correspond à la requête" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "Détails" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "L'emplacement n'existe plus" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "La commande d'achat n'existe plus" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "Le client n'existe plus" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "L'article de stock n'existe plus" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "Ajouté" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "Supprimé" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 09a26591b2..91effb2003 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -68,7 +68,7 @@ msgstr "הזן תאריך סיום" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "" @@ -288,7 +288,7 @@ msgstr "הערת קובץ" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "משתמש" @@ -331,7 +331,7 @@ msgstr "בחירה שגויה" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "בחירה שגויה" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "שם" @@ -355,8 +355,8 @@ msgstr "שם" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "שם" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "שם" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "תיאור" @@ -389,7 +389,7 @@ msgid "parent" msgstr "מקור" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -751,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "" @@ -771,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "" @@ -982,7 +982,7 @@ msgstr "" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "רכיב" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "כמות" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 6b8b37c904..9a94a3dc21 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -68,7 +68,7 @@ msgstr "Dátum megadása" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Megjegyzések" @@ -123,7 +123,7 @@ msgstr "A megadott email domain nincs jóváhagyva." #: InvenTree/forms.py:345 msgid "Registration is disabled." -msgstr "" +msgstr "Regisztráció le van tiltva." #: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" @@ -288,7 +288,7 @@ msgstr "Leírás, bővebb infó" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Felhasználó" @@ -331,7 +331,7 @@ msgstr "Érvénytelen választás" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Érvénytelen választás" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Név" @@ -355,8 +355,8 @@ msgstr "Név" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Név" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Név" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Leírás" @@ -389,7 +389,7 @@ msgid "parent" msgstr "szülő" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Elérési út" @@ -537,7 +537,7 @@ msgstr "Fárszi/Perzsa" #: InvenTree/settings.py:749 msgid "Finnish" -msgstr "" +msgstr "Finn" #: InvenTree/settings.py:750 msgid "French" @@ -751,7 +751,7 @@ msgstr "Szülő tételből szétválasztva" msgid "Split child item" msgstr "Szétválasztott gyermek tétel" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Összevont készlet tétel" @@ -769,9 +769,9 @@ msgstr "Gyártási utasítás kimenete kész" #: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "Gyártási utasítás kimenete visszautasítva" +msgstr "Gyártási utasítás kimenete elutasítva" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Gyártásra felhasználva" @@ -821,7 +821,7 @@ msgstr "Elutasított" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "Érvénytelen fizikai mértékegysgé" +msgstr "Érvénytelen fizikai mértékegység" #: InvenTree/validators.py:40 msgid "Not a valid currency code" @@ -900,7 +900,7 @@ msgstr "Lefoglalva" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Gyártási utasítás" @@ -982,7 +982,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Alkatrész" @@ -1083,7 +1083,7 @@ msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít ma #: build/models.py:265 order/models.py:422 order/models.py:1780 #: templates/js/translated/build.js:2166 msgid "Completion Date" -msgstr "Elkészítés dátuma" +msgstr "Befejezés dátuma" #: build/models.py:271 msgid "completed by" @@ -1148,45 +1148,45 @@ msgstr "Projektszám" #: build/models.py:310 msgid "Project code for this build order" -msgstr "" +msgstr "Projekt kód a gyártáshoz" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "A {build} gyártási utasítás elkészült" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:759 +#: build/models.py:764 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:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" -msgstr "A mennyiség nem lehet mint a gyártási mennyiség" +msgstr "A mennyiség nem lehet több mint a gyártási mennyiség" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" -msgstr "" +msgstr "Gyártás objektum" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" -msgstr "" +msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1357 +#: build/models.py:1362 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:1366 +#: build/models.py:1371 #, 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:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1388 +#: build/models.py:1393 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:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" -msgstr "" +msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Cél készlet tétel" @@ -1345,7 +1345,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése" 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:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1368,14 +1368,14 @@ msgstr "A gyártási kimenetek listáját meg kell adni" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Hely" #: build/serializers.py:424 msgid "Stock location for scrapped outputs" -msgstr "Selejtezett termékek lokációja" +msgstr "Selejtezet gyártási kimenetek helye" #: build/serializers.py:430 msgid "Discard Allocations" @@ -1383,11 +1383,11 @@ msgstr "Foglalások törlése" #: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Selejtezett kimenetek foglalásainak felszabadítása" #: build/serializers.py:436 msgid "Reason for scrapping build output(s)" -msgstr "Selejtezés oka(i)" +msgstr "Selejtezés oka" #: build/serializers.py:497 msgid "Location for completed build outputs" @@ -1402,8 +1402,8 @@ msgstr "A kész gyártási kimenetek helye" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Állapot" @@ -1486,7 +1486,7 @@ msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" #: build/serializers.py:722 msgid "Build Line" -msgstr "" +msgstr "Gyártás sor" #: build/serializers.py:732 msgid "Build output" @@ -1498,7 +1498,7 @@ msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" #: build/serializers.py:776 msgid "Build Line Item" -msgstr "" +msgstr "Gyártás sor tétel" #: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" @@ -1580,7 +1580,7 @@ msgstr "A {bo} gyártás most már késésben van" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Alkatrész bélyegkép" #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 @@ -1739,7 +1739,7 @@ msgstr "Befejezett kimenetek" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1796,8 +1796,8 @@ msgstr "Lefoglalt alkatrészek" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1835,11 +1835,11 @@ msgstr "Készlet foglalása gyártáshoz" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "Készlet felszabadítása" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "Készlet felszabadítása" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" @@ -1880,7 +1880,7 @@ msgstr "Új gyártási kimenet" #: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "Elhasznált készlet" +msgstr "Felhasznált készlet" #: build/templates/build/detail.html:244 msgid "Completed Build Outputs" @@ -1897,7 +1897,7 @@ msgstr "Befejezett gyártási kimenetek" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Mellékletek" @@ -1906,13 +1906,13 @@ msgstr "Mellékletek" msgid "Build Notes" msgstr "Gyártási megjegyzések" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "Lefoglalás kész" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" -msgstr "" +msgstr "Minden sor rendben lefoglalva" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" @@ -2256,7 +2256,7 @@ 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:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Sablon" @@ -2598,11 +2598,11 @@ msgstr "Hely alapértelmezett ikon (üres ha nincs)" #: common/models.py:1471 msgid "Show Installed Stock Items" -msgstr "" +msgstr "Beépített készlet megjelenítése" #: common/models.py:1472 msgid "Display installed stock items in stock tables" -msgstr "" +msgstr "Beépített készlet tételek megjelenítése a készlet táblákban" #: common/models.py:1478 msgid "Build Order Reference Pattern" @@ -2746,7 +2746,7 @@ msgstr "Engedélyezett domainek" #: common/models.py:1599 msgid "Restrict signup to certain domains (comma-separated, starting with @)" -msgstr "Bejelentkezés korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)" +msgstr "Feliratkozás korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)" #: common/models.py:1605 msgid "Group on signup" @@ -2990,11 +2990,11 @@ msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon" #: common/models.py:1870 msgid "Show pending SO shipments" -msgstr "" +msgstr "Függő vevői szállítmányok megjelenítése" #: common/models.py:1871 msgid "Show pending SO shipments on the homepage" -msgstr "" +msgstr "Folyamatban lévő vevői szállítmányok megjelenítése a főoldalon" #: common/models.py:1877 msgid "Show News" @@ -3238,27 +3238,27 @@ msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" #: common/models.py:2098 msgid "Default part label template" -msgstr "" +msgstr "Alapértelmezett alkatrész címke sablon" #: common/models.py:2099 msgid "The part label template to be automatically selected" -msgstr "" +msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" #: common/models.py:2107 msgid "Default stock item template" -msgstr "" +msgstr "Alapértelmezett készlet címke sablon" #: common/models.py:2108 msgid "The stock item label template to be automatically selected" -msgstr "" +msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" #: common/models.py:2116 msgid "Default stock location label template" -msgstr "" +msgstr "Alapértelmezett készlethely címke sablon" #: common/models.py:2117 msgid "The stock location label template to be automatically selected" -msgstr "" +msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" #: common/models.py:2163 msgid "Price break quantity" @@ -3556,94 +3556,94 @@ msgstr "Cég" #: company/models.py:324 msgid "Company already has a primary address" -msgstr "" +msgstr "A cégnek már van elsődleges címe" #: company/models.py:329 msgid "Select company" -msgstr "" +msgstr "Cég kiválasztása" #: company/models.py:332 msgid "Address title" -msgstr "" +msgstr "Cím megnevezése" #: company/models.py:333 msgid "Title describing the address entry" -msgstr "" +msgstr "Címhez tartozó leírás, megnevezés" #: company/models.py:337 msgid "Primary address" -msgstr "" +msgstr "Elsődleges cím" #: company/models.py:338 msgid "Set as primary address" -msgstr "" +msgstr "Beállítás elsődleges címként" #: company/models.py:341 templates/js/translated/company.js:941 #: templates/js/translated/company.js:1002 msgid "Line 1" -msgstr "" +msgstr "1. sor" #: company/models.py:342 msgid "Address line 1" -msgstr "" +msgstr "Cím első sora" #: company/models.py:346 templates/js/translated/company.js:942 #: templates/js/translated/company.js:1008 msgid "Line 2" -msgstr "" +msgstr "2. sor" #: company/models.py:347 msgid "Address line 2" -msgstr "" +msgstr "Cím második sora" #: company/models.py:351 company/models.py:352 #: templates/js/translated/company.js:1014 msgid "Postal code" -msgstr "" +msgstr "Irányítószám" #: company/models.py:356 msgid "City/Region" -msgstr "" +msgstr "Város/Régió" #: company/models.py:357 msgid "Postal code city/region" -msgstr "" +msgstr "Irányítószám város/régió" #: company/models.py:361 msgid "State/Province" -msgstr "" +msgstr "Állam/Megye" #: company/models.py:362 msgid "State or province" -msgstr "" +msgstr "Állam vagy megye" #: company/models.py:366 templates/js/translated/company.js:1032 msgid "Country" -msgstr "" +msgstr "Ország" #: company/models.py:367 msgid "Address country" -msgstr "" +msgstr "Cím országa" #: company/models.py:371 msgid "Courier shipping notes" -msgstr "" +msgstr "Megjegyzés a futárnak" #: company/models.py:372 msgid "Notes for shipping courier" -msgstr "" +msgstr "Futárnak szóló megjegyzések" #: company/models.py:376 msgid "Internal shipping notes" -msgstr "" +msgstr "Belső szállítási megjegyzések" #: company/models.py:377 msgid "Shipping notes for internal use" -msgstr "" +msgstr "Szállítási megjegyzések belső használatra" #: company/models.py:382 msgid "Link to address information (external)" -msgstr "" +msgstr "Link a címinformációkhoz (külső)" #: company/models.py:427 company/models.py:702 stock/models.py:675 #: stock/serializers.py:204 stock/templates/stock/item_base.html:143 @@ -3709,7 +3709,7 @@ msgstr "Paraméter neve" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Érték" @@ -3731,11 +3731,11 @@ msgstr "Paraméter mértékegység" #: company/models.py:647 msgid "Pack units must be compatible with the base part units" -msgstr "" +msgstr "A csomagolási egységnek kompatibilisnek kell lennie az alkatrész mértékegységgel" #: company/models.py:653 msgid "Pack units must be greater than zero" -msgstr "" +msgstr "Csomagolási mennyiségnek nullánál többnek kell lennie" #: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" @@ -3806,7 +3806,7 @@ msgstr "Minimális díj (pl. tárolási díj)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Csomagolás" @@ -3826,7 +3826,7 @@ msgstr "Csomagolási mennyiség" #: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "" +msgstr "Egy csomagban kiszállítható mennyiség, hagyd üresen az egyedi tételeknél." #: company/models.py:773 part/models.py:1926 msgid "multiple" @@ -3840,7 +3840,7 @@ msgstr "Többszörös rendelés" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3928,7 +3928,7 @@ msgstr "Kép törlése" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Vevő" @@ -4094,12 +4094,12 @@ msgstr "Névjegy hozzáadása" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "" +msgstr "Cég címei" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "" +msgstr "Cím hozzáadása" #: company/templates/company/index.html:8 msgid "Supplier List" @@ -4183,14 +4183,14 @@ msgstr "Névjegyek" #: company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "" +msgstr "Címek" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Beszállítói alkatrész" @@ -4272,7 +4272,7 @@ msgstr "Beszállítói alkatrész QR kód" msgid "Link Barcode to Supplier Part" msgstr "Vonalkód hozzárendelése a beszállítói alkatrészhez" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Alkatrész elérhetőség frissítése" @@ -4284,7 +4284,7 @@ msgstr "Alkatrész elérhetőség frissítése" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Készlet tételek" @@ -4334,7 +4334,7 @@ msgstr "Címke" msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Engedélyezve" @@ -4358,7 +4358,7 @@ msgstr "Magasság [mm]" msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Fájlnév minta" @@ -4369,11 +4369,11 @@ msgstr "Minta a címke fájlnevek előállításához" #: label/models.py:250 label/models.py:291 label/models.py:319 #: label/models.py:355 msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" +msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Szűrők" @@ -4382,7 +4382,7 @@ msgstr "Szűrők" #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "" +msgstr "QR kód" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 @@ -4413,7 +4413,7 @@ msgstr "Nincs egyező beszerzési rendelés" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Beszerzési rendelés" @@ -4422,7 +4422,7 @@ msgstr "Beszerzési rendelés" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Visszavételi utasítás" @@ -4436,11 +4436,11 @@ msgstr "A rendelés teljes ára" #: order/models.py:79 order/serializers.py:50 msgid "Order Currency" -msgstr "Megrendelés pénzneme" +msgstr "Rendelés pénzneme" #: order/models.py:81 order/serializers.py:51 msgid "Currency for this order (leave blank to use company default)" -msgstr "Megrendeléshez használt pénznem (hagyd üresen a cég alapértelmezett pénznemének használatához)" +msgstr "Megrendeléshez használt pénznem (hagyd üresen a cégnél alapértelmezetthez)" #: order/models.py:210 msgid "Contact does not match selected company" @@ -4476,7 +4476,7 @@ msgstr "Kapcsolattartó ehhez a rendeléshez" #: order/models.py:280 msgid "Company address for this order" -msgstr "" +msgstr "Cég címei ehhez a rendeléshez" #: order/models.py:373 order/models.py:779 msgid "Order reference" @@ -4579,7 +4579,7 @@ msgstr "Cél dátuma ennek a sortételnek (hagyd üresen a rendelés céldátum #: order/models.py:1131 msgid "Line item description (optional)" -msgstr "" +msgstr "Sortétel leírása (opcionális)" #: order/models.py:1136 msgid "Context" @@ -4627,7 +4627,7 @@ msgstr "Érkezett tételek száma" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Beszerzési ár" @@ -4666,11 +4666,11 @@ msgstr "Szállítás dátuma" #: order/models.py:1427 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" -msgstr "Szállítás dátuma" +msgstr "Szállítási dátum" #: order/models.py:1428 msgid "Date of delivery of shipment" -msgstr "" +msgstr "Kézbesítés dátuma" #: order/models.py:1435 msgid "Checked By" @@ -5015,7 +5015,7 @@ msgstr "Rendelés befejezése" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "" +msgstr "Beszállítói alkatrész bélyegkép" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 @@ -5228,7 +5228,7 @@ msgstr "Rendelés megjegyzések" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "" +msgstr "Vevő logó bélyegkép" #: order/templates/order/return_order_base.html:61 msgid "Print return order report" @@ -5359,12 +5359,12 @@ msgstr "Alkatrész leírása" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Változat" @@ -5539,7 +5539,7 @@ msgstr "Alkatrész kategóriák" msgid "Default location for parts in this category" msgstr "Ebben a kategóriában lévő alkatrészek helye alapban" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5882,7 +5882,7 @@ msgstr "Teljes készlet a leltárkor" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Dátum" @@ -5985,15 +5985,15 @@ msgstr "Szükséges-e hogy ennek a tesztnek az eredményéhez kötelezően fájl #: part/models.py:3383 msgid "Checkbox parameters cannot have units" -msgstr "" +msgstr "Jelölőnégyzet paraméternek nem lehet mértékegysége" #: part/models.py:3388 msgid "Checkbox parameters cannot have choices" -msgstr "" +msgstr "Jelölőnégyzet paraméternek nem lehetnek választási lehetőségei" #: part/models.py:3406 msgid "Choices must be unique" -msgstr "" +msgstr "A lehetőségek egyediek kell legyenek" #: part/models.py:3422 msgid "Parameter template name must be unique" @@ -6014,23 +6014,23 @@ msgstr "Paraméter leírása" #: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" -msgstr "" +msgstr "Jelölőnégyzet" #: part/models.py:3461 msgid "Is this parameter a checkbox?" -msgstr "" +msgstr "Ez a paraméter egy jelölőnégyzet?" #: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" -msgstr "" +msgstr "Lehetőségek" #: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" -msgstr "" +msgstr "Választható lehetőségek (vesszővel elválasztva)" #: part/models.py:3548 msgid "Invalid choice for parameter value" -msgstr "" +msgstr "Hibás választás a paraméterre" #: part/models.py:3592 msgid "Parent Part" @@ -6207,11 +6207,11 @@ msgstr "Beszerzési pénzneme ennek a készlet tételnek" #: part/serializers.py:313 msgid "No parts selected" -msgstr "" +msgstr "Nincs kiválasztva alkatrész" #: part/serializers.py:321 msgid "Select category" -msgstr "" +msgstr "Válassz kategóriát" #: part/serializers.py:352 msgid "Original Part" @@ -6593,7 +6593,7 @@ msgstr "Leltár információ hozzáadása" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "Leltár" @@ -6959,7 +6959,7 @@ msgstr "Változatok" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Készlet" @@ -6992,7 +6992,7 @@ msgstr "Árazás frissítése" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "Utoljára módosítva" @@ -7195,7 +7195,7 @@ msgstr "InvenTree értesítések" #: plugin/builtin/integration/core_notifications.py:35 msgid "Integrated outgoing notification methods" -msgstr "" +msgstr "Integrált kimenő értesítési módszerek" #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 @@ -7352,11 +7352,11 @@ msgstr "Vagy csomag nevet vagy URL-t meg kell adni" #: plugin/serializers.py:193 msgid "Activate Plugin" -msgstr "" +msgstr "Plugin aktiválása" #: plugin/serializers.py:194 msgid "Activate this plugin" -msgstr "" +msgstr "Plugin bekapcsolása" #: report/api.py:171 msgid "No valid objects provided to template" @@ -7371,91 +7371,91 @@ msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el" msgid "Test report" msgstr "Teszt riport" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "Riport sablon fájl" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "Riport sablon leírása" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "Riport verziószáma (automatikusan nő)" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "Minta a riport fájlnevek előállításához" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "Riport sablon engedélyezve" -#: report/models.py:295 +#: report/models.py:294 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:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "Beépített tesztekkel együtt" -#: report/models.py:304 +#: report/models.py:303 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:364 msgid "Build Filters" msgstr "Gyártás szűrők" -#: report/models.py:379 +#: report/models.py:365 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:420 +#: report/models.py:406 msgid "Part Filters" msgstr "Alkatrész szűrők" -#: report/models.py:421 +#: report/models.py:407 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:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "Megrendelés lekérdezés szűrők" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "Vevő rendelés lekérdezés szűrők" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "Visszavételi utasítás lekérdezés szűrők" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "Részlet" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "Eszköz" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "Asset fájl leírása" @@ -7518,7 +7518,7 @@ msgid "Test Results" msgstr "Teszt eredmények" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "Teszt" @@ -7550,7 +7550,7 @@ msgstr "Beépített tételek" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Sorozatszám" @@ -7618,7 +7618,7 @@ msgstr "Törlés ha kimerül" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "Lejárati dátum" @@ -7626,23 +7626,23 @@ msgstr "Lejárati dátum" msgid "External Location" msgstr "Külső hely" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" -msgstr "" +msgstr "A beszállítói alkatrészhez van megadva csomagolási mennyiség, de a use_pack_size flag nincs beállítva" -#: stock/api.py:679 +#: stock/api.py:692 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" @@ -7671,7 +7671,7 @@ msgstr "Tulajdonos kiválasztása" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre." -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Külső" @@ -7763,11 +7763,11 @@ msgstr "Gyártás ehhez a készlet tételhez" #: stock/models.py:761 stock/templates/stock/item_base.html:364 msgid "Consumed By" -msgstr "Elhasználva ebbe" +msgstr "Felhasználva ebben" #: stock/models.py:763 msgid "Build order which consumed this stock item" -msgstr "" +msgstr "Felhasználva ebben a gyártásban" #: stock/models.py:774 msgid "Source Purchase Order" @@ -7908,11 +7908,11 @@ msgstr "Szériaszám túl nagy" #: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" -msgstr "" +msgstr "Csomagolási mennyiség használata: a megadott mennyiség ennyi csomag" #: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" -msgstr "" +msgstr "Készlet tétel beszerzési ára, per darab vagy csomag" #: stock/serializers.py:373 msgid "Enter number of stock items to serialize" @@ -7974,11 +7974,11 @@ msgstr "Cél hely a visszatérő tételeknek" #: stock/serializers.py:663 msgid "Select stock items to change status" -msgstr "" +msgstr "Válaszd ki a státuszváltásra szánt készlet tételeket" #: stock/serializers.py:670 msgid "No stock items selected" -msgstr "" +msgstr "Nincs készlet tétel kiválasztva" #: stock/serializers.py:904 msgid "Part must be salable" @@ -8048,44 +8048,44 @@ msgstr "Készlettörténeti információk" msgid "Child Stock Items" msgstr "Al-készlet tételek" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "Ez a készlet tétel nem tartalmaz egy altételt sem" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "Teszt adatok" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Teszt riport" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "Teszt adatok törlése" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "Teszt adatok hozzáadása" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "Készlet tétel megjegyzések" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "Beépített készlet tételek" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "Készlet tétel beépítése" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "Készlet tétel összes teszt eredményének törlése" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "Teszt eredmény hozzáadása" @@ -8108,17 +8108,17 @@ msgid "Stock adjustment actions" msgstr "Készlet módosítási műveletek" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Leltározás" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "Készlet növelése" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "Készlet csökkentése" @@ -8127,12 +8127,12 @@ msgid "Serialize stock" msgstr "Sorozatszámok előállítása" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Készlet áthelyezése" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "Vevőhöz rendelése" @@ -8276,7 +8276,7 @@ msgid "No stocktake performed" msgstr "Még nem volt leltározva" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "készlet tétel" @@ -8383,7 +8383,7 @@ msgid "New Location" msgstr "Új hely" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "készlet hely" @@ -9149,7 +9149,7 @@ msgstr "Néhány nyelv nem teljes" #: templates/InvenTree/settings/user_display.html:97 msgid "Show only sufficient" -msgstr "" +msgstr "Csak a szükséges megjelenítése" #: templates/InvenTree/settings/user_display.html:99 msgid "and hidden." @@ -9181,7 +9181,7 @@ msgstr "Keresési beállítások" #: templates/InvenTree/settings/user_sso.html:9 msgid "Single Sign On Accounts" -msgstr "" +msgstr "SSO fiókok" #: templates/InvenTree/settings/user_sso.html:16 msgid "You can sign in to your account using any of the following third party accounts:" @@ -9197,7 +9197,7 @@ msgstr "SSO fiók Hozzáadása" #: templates/InvenTree/settings/user_sso.html:67 msgid "Single Sign On is not enabled for this server" -msgstr "" +msgstr "SSO nincs engedélyezve ezen a szerveren" #: templates/about.html:9 msgid "InvenTree Version" @@ -9217,7 +9217,7 @@ msgstr "Frissítés elérhető" #: templates/about.html:43 msgid "Commit Branch" -msgstr "" +msgstr "Commit branch" #: templates/about.html:49 msgid "InvenTree Documentation" @@ -9586,11 +9586,11 @@ msgstr "Mellékletek törlése" #: templates/js/translated/attachment.js:205 msgid "Delete attachments" -msgstr "" +msgstr "Mellékletek törlése" #: templates/js/translated/attachment.js:253 msgid "Attachment actions" -msgstr "" +msgstr "Mellékletek műveletei" #: templates/js/translated/attachment.js:275 msgid "No attachments found" @@ -9845,7 +9845,7 @@ msgstr "Töröljük a kiválasztott alkatrészjegyzék tételeket?" #: templates/js/translated/bom.js:826 msgid "Delete items" -msgstr "" +msgstr "Tételek törlése" #: templates/js/translated/bom.js:924 msgid "Load BOM for subassembly" @@ -10009,7 +10009,7 @@ msgstr "Készlet tételek foglalása ehhez a gyártási kimenethez" #: templates/js/translated/build.js:424 msgid "Deallocate stock from build output" -msgstr "" +msgstr "Készlet felszabadítása a gyártási kimenetből" #: templates/js/translated/build.js:433 msgid "Complete build output" @@ -10025,11 +10025,11 @@ msgstr "Gyártási kimenet törlése" #: templates/js/translated/build.js:468 msgid "Are you sure you wish to deallocate the selected stock items from this build?" -msgstr "" +msgstr "Biztosan szeretnéd a már lefoglalt készlet tételeket felszabadítani ebből a gyártási utasításból?" #: templates/js/translated/build.js:486 msgid "Deallocate Stock Items" -msgstr "" +msgstr "Készlet tételek felszabadítása" #: templates/js/translated/build.js:572 templates/js/translated/build.js:696 #: templates/js/translated/build.js:818 @@ -10043,7 +10043,7 @@ msgstr "Legalább egy gyártási kimenetet ki kell választani" #: templates/js/translated/build.js:587 msgid "Selected build outputs will be marked as complete" -msgstr "" +msgstr "A kiválasztott gyártási kimenetek késznek lesznek jelölve" #: templates/js/translated/build.js:591 templates/js/translated/build.js:721 #: templates/js/translated/build.js:841 @@ -10056,19 +10056,19 @@ msgstr "Gyártási kimenetek befejezése" #: templates/js/translated/build.js:712 msgid "Selected build outputs will be marked as scrapped" -msgstr "" +msgstr "A kiválasztott gyártási kimenetek selejtnek lesznek jelölve" #: templates/js/translated/build.js:714 msgid "Scrapped output are marked as rejected" -msgstr "" +msgstr "Selejtezett kimenetek elutasítottnak jelölve" #: templates/js/translated/build.js:715 msgid "Allocated stock items will no longer be available" -msgstr "" +msgstr "A lefoglalt készlet már nem lesz elérhető" #: templates/js/translated/build.js:716 msgid "The completion status of the build order will not be adjusted" -msgstr "" +msgstr "A befejezési státusza a gyártásnak nem fog változni" #: templates/js/translated/build.js:743 msgid "Scrap Build Outputs" @@ -10076,15 +10076,15 @@ msgstr "Gyártási kimenetek selejtezése" #: templates/js/translated/build.js:833 msgid "Selected build outputs will be deleted" -msgstr "" +msgstr "A kiválasztott gyártási kimenetek törölve lesznek" #: templates/js/translated/build.js:835 msgid "Build output data will be permanently deleted" -msgstr "" +msgstr "A gyártási kimenet adatai véglegesen törölve lesznek" #: templates/js/translated/build.js:836 msgid "Allocated stock items will be returned to stock" -msgstr "" +msgstr "A lefoglalt készlet tételek újra készletre kerülnek" #: templates/js/translated/build.js:854 msgid "Delete Build Outputs" @@ -10096,7 +10096,7 @@ msgstr "Nincs gyártási utasításhoz történő foglalás" #: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 msgid "Allocated Quantity" -msgstr "" +msgstr "Lefoglalt mennyiség" #: templates/js/translated/build.js:984 msgid "Location not specified" @@ -10108,7 +10108,7 @@ msgstr "Befejezett kimenetek" #: templates/js/translated/build.js:1024 msgid "Scrap outputs" -msgstr "Gyártási kimenetek selejtezése" +msgstr "Kimenetek selejtezése" #: templates/js/translated/build.js:1042 msgid "Delete outputs" @@ -10124,7 +10124,7 @@ msgstr "gyártás kimenetek" #: templates/js/translated/build.js:1101 msgid "Build output actions" -msgstr "" +msgstr "Gyártási kimenet műveletei" #: templates/js/translated/build.js:1270 msgid "No active build outputs found" @@ -10132,11 +10132,11 @@ msgstr "Nem található aktív gyártási kimenet" #: templates/js/translated/build.js:1325 msgid "Allocated Lines" -msgstr "" +msgstr "Lefoglalt sorok" #: templates/js/translated/build.js:1339 msgid "Required Tests" -msgstr "" +msgstr "Szükséges tesztek" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 @@ -10211,7 +10211,7 @@ msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "Kiválaszt" @@ -10223,7 +10223,7 @@ msgstr "Gyártás késésben van" msgid "Progress" msgstr "Haladás" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "Nincs felhasználói információ" @@ -10251,15 +10251,15 @@ msgstr "Foglalás törlése" #: templates/js/translated/build.js:2380 msgid "build line" -msgstr "" +msgstr "gyártás sor" #: templates/js/translated/build.js:2381 msgid "build lines" -msgstr "" +msgstr "gyártás sorok" #: templates/js/translated/build.js:2399 msgid "No build lines found" -msgstr "" +msgstr "Nincsenek gyártási sorok" #: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 @@ -10268,7 +10268,7 @@ msgstr "Követésre kötelezett alkatrész" #: templates/js/translated/build.js:2464 msgid "Unit Quantity" -msgstr "" +msgstr "Mennyiségi egység" #: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 @@ -10282,18 +10282,18 @@ msgstr "Van elegendő" #: templates/js/translated/build.js:2562 msgid "Consumable Item" -msgstr "" +msgstr "Fogyóeszköz tétel" #: templates/js/translated/build.js:2567 msgid "Tracked item" -msgstr "" +msgstr "Követett tétel" #: templates/js/translated/build.js:2574 #: templates/js/translated/sales_order.js:2005 msgid "Build stock" msgstr "Gyártási készlet" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Készlet rendelés" @@ -10304,7 +10304,7 @@ msgstr "Lefoglalt készlet" #: templates/js/translated/build.js:2587 msgid "Remove stock allocation" -msgstr "" +msgstr "Készlet foglalások törlése" #: templates/js/translated/company.js:97 msgid "Add Manufacturer" @@ -10393,44 +10393,44 @@ msgstr "Névjegy törlése" #: templates/js/translated/company.js:886 msgid "Create New Address" -msgstr "" +msgstr "Új cím létrehozása" #: templates/js/translated/company.js:901 #: templates/js/translated/company.js:1066 msgid "Edit Address" -msgstr "" +msgstr "Cím szerkesztése" #: templates/js/translated/company.js:936 msgid "All selected addresses will be deleted" -msgstr "" +msgstr "Az összes kijelölt cím törlésre kerül" #: templates/js/translated/company.js:950 msgid "Delete Addresses" -msgstr "" +msgstr "Címek törlése" #: templates/js/translated/company.js:977 msgid "No addresses found" -msgstr "" +msgstr "Nincsenek címek" #: templates/js/translated/company.js:1020 msgid "Postal city" -msgstr "" +msgstr "Város" #: templates/js/translated/company.js:1026 msgid "State/province" -msgstr "" +msgstr "Állam/Megye" #: templates/js/translated/company.js:1038 msgid "Courier notes" -msgstr "" +msgstr "Futár megjegyzések" #: templates/js/translated/company.js:1044 msgid "Internal notes" -msgstr "" +msgstr "Belső megjegyzések" #: templates/js/translated/company.js:1070 msgid "Delete Address" -msgstr "" +msgstr "Cím törlése" #: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" @@ -10459,7 +10459,7 @@ msgstr "Gyártói alkatrészek törlése" #: templates/js/translated/company.js:1271 msgid "Manufacturer part actions" -msgstr "" +msgstr "Gyártói alkatrész műveletek" #: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" @@ -10507,7 +10507,7 @@ msgstr "Nincs beszállítói alkatrész" #: templates/js/translated/company.js:1695 msgid "Base Units" -msgstr "" +msgstr "Egység" #: templates/js/translated/company.js:1725 msgid "Availability" @@ -10663,19 +10663,19 @@ msgstr "NEM" #: templates/js/translated/helpers.js:93 msgid "True" -msgstr "" +msgstr "Igaz" #: templates/js/translated/helpers.js:94 msgid "False" -msgstr "" +msgstr "Hamis" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" -msgstr "" +msgstr "Nem szükséges alkatrész a gyártáshoz" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" -msgstr "" +msgstr "Lefoglalt készlet" #: templates/js/translated/label.js:58 msgid "Select Printer" @@ -11114,7 +11114,7 @@ msgid "No category" msgstr "Nincs kategória" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "Megjelenítés listaként" @@ -11126,7 +11126,7 @@ msgstr "Megjelenítés rácsnézetként" msgid "No subcategories found" msgstr "Nem találhatóak alkategóriák" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "Megjelenítés fában" @@ -11142,12 +11142,12 @@ msgstr "Értesítésre beállított kategória" msgid "No test templates matching query" msgstr "Nincs a lekérdezéssel egyező teszt sablon" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "Teszt eredmény törlése" @@ -11197,19 +11197,19 @@ msgstr "Minimális készlet" #: templates/js/translated/plugin.js:45 msgid "No plugins found" -msgstr "" +msgstr "Nem találhatók pluginok" #: templates/js/translated/plugin.js:54 msgid "This plugin is active" -msgstr "" +msgstr "Ez a plugin aktív" #: templates/js/translated/plugin.js:56 msgid "This plugin is not active" -msgstr "" +msgstr "Ez a plugin nem aktív" #: templates/js/translated/plugin.js:62 msgid "Plugin Description" -msgstr "" +msgstr "Plugin leírása" #: templates/js/translated/plugin.js:81 msgid "Sample" @@ -11217,11 +11217,11 @@ msgstr "Minta" #: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:183 msgid "Disable Plugin" -msgstr "" +msgstr "Plugin kikapcsolása" #: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:183 msgid "Enable Plugin" -msgstr "" +msgstr "Plugin bekapcsolása" #: templates/js/translated/plugin.js:158 msgid "The Plugin was installed" @@ -11229,23 +11229,23 @@ msgstr "A plugin telepítve lett" #: templates/js/translated/plugin.js:174 msgid "Are you sure you want to enable this plugin?" -msgstr "" +msgstr "Biztosan bekapcsolod ezt a plugint?" #: templates/js/translated/plugin.js:178 msgid "Are you sure you want to disable this plugin?" -msgstr "" +msgstr "Biztosan kikapcsolod ezt a plugint?" #: templates/js/translated/plugin.js:186 msgid "Enable" -msgstr "" +msgstr "Bekapcsolás" #: templates/js/translated/plugin.js:186 msgid "Disable" -msgstr "" +msgstr "Kikapcsolás" #: templates/js/translated/plugin.js:200 msgid "Plugin updated" -msgstr "" +msgstr "Plugin frissítve" #: templates/js/translated/pricing.js:159 msgid "Error fetching currency data" @@ -11728,7 +11728,7 @@ msgstr "Készlet foglalások törlése" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" @@ -11844,7 +11844,7 @@ msgstr "Ezt az alkatrészt nem lehet sorozatszámozni" #: templates/js/translated/stock.js:319 msgid "Add given quantity as packs instead of individual items" -msgstr "" +msgstr "Mennyiség hozzáadása csomagolási egységenként egyedi tételek helyett" #: templates/js/translated/stock.js:328 msgid "Enter initial quantity for this stock item" @@ -11982,274 +11982,274 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosíthat msgid "Specify stock quantity" msgstr "Készlet mennyiség megadása" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "Készlet tételek kiválasztása" #: templates/js/translated/stock.js:1140 msgid "Select at least one available stock item" -msgstr "" +msgstr "Válassz legalább egy rendelkezésre álló készlet tételt" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "Készlet módosítás jóváhagyása" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "SIKER" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "SIKERTELEN" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "NINCS EREDMÉNY" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "Teszt sikeres" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "Teszt eredmény hozzáadása" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "Nincs teszt eredmény" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "Teszt dátuma" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "Teszt eredmény szerkesztése" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "Teszt eredmény törlése" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "Gyártásban" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "Beépítve készlet tételbe" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "Vevő rendeléshez hozzárendelve" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "Nincs hely megadva" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" -msgstr "" +msgstr "Készlet állapot módosítása" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "Készlet összevonása" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "Készlet törlése" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "készlet tételek" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" -msgstr "" +msgstr "Beolvasás helyre" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" -msgstr "" +msgstr "Készlet műveletek" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" -msgstr "" +msgstr "Beépített tételek betöltése" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "Készlet tétel gyártás alatt" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "Készlet tétel teljes egészében lefoglalva" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "Készlet tétel részben lefoglalva" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "Készlet tétel beépítve egy másikba" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" -msgstr "" +msgstr "Készlet tétel fel lett használva egy gyártásban" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "Készlet tétel lejárt" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "Készlet tétel hamarosan lejár" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "Készlet tétel elutasítva" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "Készlet tétel elveszett" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "Készlet tétel megsemmisült" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Kimerült" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "Beszállítói alkatrész nincs megadva" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "Készletérték" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "Nincs a lekérdezésnek megfelelő készlet tétel" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "készlethelyek" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "Alhelyek betöltése" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "Részletek" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" -msgstr "Nem változott" +msgstr "Nincs változás" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "Alkatrész információ nem áll rendelkezésre" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "A hely már nem létezik" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "A gyártási utasítás már nem létezik" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "Beszerzési megrendelés már nem létezik" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "Vevői megrendelés már nem létezik" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "Visszavételi utasítás már nem létezik" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "Vevő már nem létezik" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "A készlet tétel már nem létezik" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "Hozzáadva" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "Eltávolítva" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "Nincsenek beépített tételek" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "Készlet tétel kiszedése" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "Válaszd ki a kiszedni való készlet tételt" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "Másik tétel beépítése ebbe a készlet tételbe" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "A készlet tétel jelenleg elérhető készleten" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "A készlet tétel még nem épült be egy másik tételbe" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "Válaszd ki a beépítendő alkatrészt" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" -msgstr "" +msgstr "Válassz ki egy vagy több készlet tételt" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" -msgstr "" +msgstr "Kiválasztott készlet tételek" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" -msgstr "" +msgstr "Készlet állapot módosítása" #: templates/js/translated/table_filters.js:50 msgid "Has project code" @@ -12483,11 +12483,11 @@ msgstr "Elérhető" #: templates/js/translated/table_filters.js:668 #: templates/js/translated/table_filters.js:764 msgid "Has Units" -msgstr "" +msgstr "Van mértékegysége" #: templates/js/translated/table_filters.js:669 msgid "Part has defined units" -msgstr "" +msgstr "Az alkatrésznek van megadva mértékegysége" #: templates/js/translated/table_filters.js:673 msgid "Has IPN" @@ -12511,7 +12511,7 @@ msgstr "Volt leltár" #: templates/js/translated/table_filters.js:760 msgid "Has Choices" -msgstr "" +msgstr "Vannak lehetőségei" #: templates/js/translated/tables.js:92 msgid "Display calendar view" @@ -12687,11 +12687,11 @@ msgstr "Tovább" #: templates/socialaccount/login.html:29 msgid "Invalid SSO Provider" -msgstr "" +msgstr "Érvénytelen SSO szolgáltató" #: templates/socialaccount/login.html:31 msgid "The selected SSO provider is invalid, or has not been correctly configured" -msgstr "" +msgstr "A kiválasztott SSO kiszolgáló érvénytelen, vagy nincs megfelelően konfigurálva" #: templates/socialaccount/signup.html:10 #, python-format @@ -12701,11 +12701,11 @@ msgstr "A %(provider_name)s felhasználói fiókodat fogod használni a %(site_n #: templates/socialaccount/snippets/provider_list.html:26 msgid "Provider has not been configured" -msgstr "" +msgstr "A kiszolgáló nincs konfigurálva" #: templates/socialaccount/snippets/provider_list.html:35 msgid "No SSO providers have been configured" -msgstr "" +msgstr "Nincs SSO kiszolgáló konfigurálva" #: templates/stats.html:13 msgid "Instance Name" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index d299626178..005eb9c51f 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -68,7 +68,7 @@ msgstr "Masukkan tanggal" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Catatan" @@ -288,7 +288,7 @@ msgstr "Komentar file" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Pengguna" @@ -331,7 +331,7 @@ msgstr "Pilihan tidak valid" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Pilihan tidak valid" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Nama" @@ -355,8 +355,8 @@ msgstr "Nama" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Nama" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Nama" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Keterangan" @@ -389,7 +389,7 @@ msgid "parent" msgstr "induk" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Direktori" @@ -751,7 +751,7 @@ msgstr "Dipisah dari item induk" msgid "Split child item" msgstr "Pisah item dari barang induk" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Stok item digabungkan" @@ -771,7 +771,7 @@ msgstr "Order output produksi selesai" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Terpakai oleh order produksi" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Order Produksi" @@ -982,7 +982,7 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Bagian" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Tujuan stok item" @@ -1345,7 +1345,7 @@ msgstr "Alokasikan nomor seri secara otomatis" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" @@ -1368,8 +1368,8 @@ msgstr "Daftar hasil pesanan harus disediakan" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Lokasi" @@ -1402,8 +1402,8 @@ msgstr "Lokasi hasil pesanan yang selesai" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Status" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 133e95c168..62d5969418 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -68,7 +68,7 @@ msgstr "Inserisci la data" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Note" @@ -288,7 +288,7 @@ msgstr "Commento del file" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Utente" @@ -331,7 +331,7 @@ msgstr "Scelta non valida" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Scelta non valida" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Nome" @@ -355,8 +355,8 @@ msgstr "Nome" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Nome" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Nome" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Descrizione" @@ -389,7 +389,7 @@ msgid "parent" msgstr "genitore" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Percorso" @@ -751,7 +751,7 @@ msgstr "Diviso dall'elemento genitore" msgid "Split child item" msgstr "Dividi elemento figlio" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Elemento stock raggruppato" @@ -771,7 +771,7 @@ msgstr "Build order output completato" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Impegnato dall'ordine di costruzione" @@ -900,7 +900,7 @@ msgstr "Allocato" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Ordine di Produzione" @@ -982,7 +982,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Articolo" @@ -1150,43 +1150,43 @@ msgstr "Codice del progetto" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "L'ordine di produzione {build} è stato completato" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Quantità" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "L'elemento di compilazione deve specificare un output poiché la parte principale è contrassegnata come rintracciabile" -#: build/models.py:1366 +#: build/models.py:1371 #, 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:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Installa in" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" @@ -1345,7 +1345,7 @@ msgstr "Numeri di Serie Assegnazione automatica" msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" @@ -1368,8 +1368,8 @@ msgstr "Deve essere fornito un elenco dei risultati di produzione" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Posizione" @@ -1402,8 +1402,8 @@ msgstr "Posizione per gli output di build completati" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Stato" @@ -1738,7 +1738,7 @@ msgstr "Outputs Completati" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1795,8 +1795,8 @@ msgstr "Articoli Assegnati" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "Produzioni Completate" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Allegati" @@ -1905,11 +1905,11 @@ msgstr "Allegati" msgid "Build Notes" msgstr "Genera Note" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "Assegnazione Completa" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Modello" @@ -2853,7 +2853,7 @@ msgstr "Nessuna stampante (Esporta in PDF)" #: common/models.py:1751 msgid "Hide inactive parts" -msgstr "" +msgstr "Nascondi Articoli Inattivi" #: common/models.py:1752 msgid "Hide inactive parts in results displayed on the homepage" @@ -3708,7 +3708,7 @@ msgstr "Nome parametro" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Valore" @@ -3805,7 +3805,7 @@ msgstr "Onere minimo (ad esempio tassa di stoccaggio)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Confezionamento" @@ -3839,7 +3839,7 @@ msgstr "Ordine multiplo" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "Elimina immagine" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Cliente" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Articolo Fornitore" @@ -4271,7 +4271,7 @@ msgstr "Codice Articolo Fornitore QR" msgid "Link Barcode to Supplier Part" msgstr "Collega Codice a Barre con l'Articolo Fornitore" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Aggiorna Disponibilità Articolo" @@ -4283,7 +4283,7 @@ msgstr "Aggiorna Disponibilità Articolo" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Articoli in magazzino" @@ -4333,7 +4333,7 @@ msgstr "Etichetta" msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Abilitato" @@ -4357,7 +4357,7 @@ msgstr "Altezza [mm]" msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Formato del nome file" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Filtri" @@ -4412,7 +4412,7 @@ msgstr "Nessun ordine di acquisto corrispondente trovato" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Ordine D'Acquisto" @@ -4421,7 +4421,7 @@ msgstr "Ordine D'Acquisto" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Restituisci ordine" @@ -4626,7 +4626,7 @@ msgstr "Numero di elementi ricevuti" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Prezzo di Acquisto" @@ -5358,12 +5358,12 @@ msgstr "Descrizione Articolo" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN - Numero di riferimento interno" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisione" @@ -5538,7 +5538,7 @@ msgstr "Categorie Articolo" msgid "Default location for parts in this category" msgstr "Posizione predefinita per gli articoli di questa categoria" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Data" @@ -6592,7 +6592,7 @@ msgstr "Aggiungi informazioni inventario" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "Inventario" @@ -6958,7 +6958,7 @@ msgstr "Varianti" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Magazzino" @@ -6991,7 +6991,7 @@ msgstr "Aggiorna prezzo articolo" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "Ultimo aggiornamento" @@ -7370,91 +7370,91 @@ msgstr "Il file del modello '{template}' è mancante o non esiste" msgid "Test report" msgstr "Report test" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Nome modello" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "File modello di report" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "Descrizione del modello report" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "Numero di revisione del rapporto (auto-incrementi)" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "Sequenza per generare i nomi dei file report" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "Modello report abilitato" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Filtri di ricerca elementi di stock (elenco separato da virgole key=coppia di valori)" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "Includi Test Installati" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "Includi i risultati dei test per gli elementi stock installati all'interno dell'elemento assemblato" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "Filtri di produzione" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca produzione (elenco separato da virgole key=coppia di valori" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "Filtri Articolo" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca articolo (elenco separato da virgole key=coppia di valori" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "Ordine di Acquisto filtra la ricerca" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "Ordine di Vendita filtra la ricerca" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "Snippet" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "Risorsa" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "File risorsa descrizione" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "Risultati Test" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "Test" @@ -7549,7 +7549,7 @@ msgstr "Elementi installati" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Seriale" @@ -7617,7 +7617,7 @@ msgstr "Elimina al esaurimento" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "Data di Scadenza" @@ -7625,23 +7625,23 @@ msgstr "Data di Scadenza" msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile" @@ -7670,7 +7670,7 @@ msgstr "Seleziona Owner" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie." -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Esterno" @@ -8047,44 +8047,44 @@ msgstr "Informazioni di Tracciamento Magazzino" msgid "Child Stock Items" msgstr "Elementi Secondari Magazzino" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "Questo elemento di magazzino non ha nessun elemento secondario" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "Dati di Test" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "Rapporto del Test" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "Elimina Dati di Test" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "Aggiungi Dati Di Test" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "Note Elemento di magazzino" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "Elementi di magazzino installati" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "Installa Elemento Magazzino" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "Elimina tutti i risultati del test per questo elemento di magazzino" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "Aggiungi Risultato Test" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "Azioni adeguamento giacenza" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Conta giacenza" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "Aggiungi giacenza" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "Rimuovi giacenza" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "Serializza magazzino" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Trasferisci giacenza" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "Assegna al cliente" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "Nessun inventario eseguito" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "Nuova Posizione" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "Nessuna produzione corrispondente alla ricerca" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "Seleziona" @@ -10222,7 +10222,7 @@ msgstr "L'ordine di produzione è in ritardo" msgid "Progress" msgstr "Avanzamento" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "Nessuna informazione utente" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "Produci scorta" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Ordina scorta" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "Nessuna categoria" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "Visualizza come elenco" @@ -11125,7 +11125,7 @@ msgstr "Visualizza come griglia" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "Visualizza come struttura ad albero" @@ -11141,12 +11141,12 @@ msgstr "Categoria sottoscritta" msgid "No test templates matching query" msgstr "Nessun modello di test corrispondente" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "Modificare il risultato del test" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "Cancellare il risultato del test" @@ -11727,7 +11727,7 @@ msgstr "Elimina posizione giacenza" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Spedito al cliente" @@ -11981,7 +11981,7 @@ msgstr "La quantità non può essere regolata per le scorte serializzate" msgid "Specify stock quantity" msgstr "Specificare la quantità di magazzino" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "Seleziona Elementi Magazzino" @@ -11989,264 +11989,264 @@ msgstr "Seleziona Elementi Magazzino" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "Confermare l'adeguamento delle scorte" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "OK" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "FALLITO" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "NESSUN RISULTATO" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "Test OK" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "Aggiungi risultato test" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "Nessun risultato di prova trovato" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "Data del test" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "Modifica del risultato del test" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "Cancellare il risultato del test" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "In produzione" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "Installato nell'elemento stock" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "Assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "Nessuna giacenza impostata" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "Unisce la giacenza" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "Elimina Stock" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "L'articolo di magazzino è in produzione" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "Articolo di magazzino assegnato all'ordine di vendita" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "Articolo stock assegnato al cliente" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "L'articolo di magazzino serializzato è stato assegnato" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "La voce di magazzino è stata completamente assegnata" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "La voce di magazzino è stata parzialmente allocata" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "L'elemento stock è stato installato in un altro articolo" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "L'articolo stock è scaduto" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "Articolo in giacenza prossimo alla scadenza" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "L'articolo stock è stato rifiutato" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "L'articolo di magazzino è andato perso" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "Articolo di magazzino distrutto" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "Esaurito" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "Fornitore dell'articolo non specificato" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "Valore Scorte" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "Nessun articolo in magazzino corrispondente alla richiesta" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "Caricare sublocazioni" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "Dettagli" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "Informazioni sull'articolo non disponibili" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "La posizione non esiste più" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "L'ordine di acquisto non esiste più" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "L'ordine di vendita non esiste più" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "L'ordine di ritorno non esiste più" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "Il cliente non esiste più" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "L'articolo in magazzino non esiste più" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "Aggiunto" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "Rimosso" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "Nessun elemento installato" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "Disinstallare l'articolo di magazzino" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "Selezionare l'articolo di magazzino da disinstallare" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "Installare un altro articolo di magazzino in questo articolo" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "Gli articoli in magazzino possono essere installati solo se soddisfano i seguenti criteri" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "L'articolo di magazzino si collega a un'articolo che è la distinta base di questo articolo di magazzino" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "L'articolo in stock è attualmente disponibile in magazzino" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "L'articolo di magazzino non è già installato in un altro articolo" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "L'articolo di magazzino è tracciato da un codice di lotto o da un numero di serie" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "Selezionare la parte da installare" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 73298d2f42..fdfdd2953e 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -68,7 +68,7 @@ msgstr "日付を入力する" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "メモ" @@ -288,7 +288,7 @@ msgstr "ファイルコメント" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "ユーザー" @@ -331,7 +331,7 @@ msgstr "無効な選択です" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "無効な選択です" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "お名前" @@ -355,8 +355,8 @@ msgstr "お名前" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "お名前" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "お名前" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "説明" @@ -389,7 +389,7 @@ msgid "parent" msgstr "親" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -751,7 +751,7 @@ msgstr "親アイテムから分割する" msgid "Split child item" msgstr "子項目を分割" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "商品在庫をマージしました" @@ -771,7 +771,7 @@ msgstr "組立注文の出力が完了しました" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "" @@ -982,7 +982,7 @@ msgstr "" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "パーツ" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "数量" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "ステータス" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "テンプレート" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "購入金額" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "在庫" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index fe349aac99..df921eae1b 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -68,7 +68,7 @@ msgstr "날짜 입력" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "메모" @@ -288,7 +288,7 @@ msgstr "" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "사용자" @@ -331,7 +331,7 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "이름" @@ -355,8 +355,8 @@ msgstr "이름" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "이름" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "이름" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "설명" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -751,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "" @@ -771,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "" @@ -982,7 +982,7 @@ msgstr "" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "수량" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "위치" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "상태" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "고객" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "높이 [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "선택" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index f205a8589c..6dad813957 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -27,19 +27,19 @@ msgstr "Gebruiker heeft geen rechten om dit model te bekijken" #: InvenTree/conversion.py:73 msgid "No value provided" -msgstr "" +msgstr "Geen waarde opgegeven" #: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" -msgstr "" +msgstr "Opgegeven waarde is geen geldig nummer" #: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" -msgstr "" +msgstr "De opgegeven waarde heeft een ongeldige eenheid" #: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" -msgstr "" +msgstr "De opgegeven waarde kon niet geconverteerd worden naar de opgegeven eenheid" #: InvenTree/exceptions.py:90 msgid "Error details can be found in the admin panel" @@ -68,7 +68,7 @@ msgstr "Voer datum in" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Opmerkingen" @@ -123,7 +123,7 @@ msgstr "Het ingevoerde e-maildomein is niet goedgekeurd." #: InvenTree/forms.py:345 msgid "Registration is disabled." -msgstr "" +msgstr "Registratie is uitgeschakeld." #: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" @@ -199,15 +199,15 @@ msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" #: InvenTree/models.py:82 msgid "Metadata must be a python dict object" -msgstr "" +msgstr "Metadata moeten een python dict object zijn" #: InvenTree/models.py:86 msgid "Plugin Metadata" -msgstr "" +msgstr "Plugin Metadata" #: InvenTree/models.py:87 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "JSON metadata veld, voor gebruik door externe plugins" #: InvenTree/models.py:320 msgid "Improperly formatted pattern" @@ -288,7 +288,7 @@ msgstr "Bestand opmerking" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Gebruiker" @@ -331,7 +331,7 @@ msgstr "Ongeldige keuze" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Ongeldige keuze" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Naam" @@ -355,8 +355,8 @@ msgstr "Naam" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Naam" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Naam" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Omschrijving" @@ -389,13 +389,13 @@ msgid "parent" msgstr "bovenliggende" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Pad" #: InvenTree/models.py:767 msgid "Markdown notes (optional)" -msgstr "" +msgstr "Markdown notitie (optioneel)" #: InvenTree/models.py:794 msgid "Barcode Data" @@ -725,7 +725,7 @@ msgstr "Locatie veranderd" #: InvenTree/status_codes.py:106 msgid "Stock updated" -msgstr "" +msgstr "Voorraad bijgewerkt" #: InvenTree/status_codes.py:109 msgid "Installed into assembly" @@ -751,7 +751,7 @@ msgstr "Splits van bovenliggend item" msgid "Split child item" msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Samengevoegde voorraadartikelen" @@ -769,9 +769,9 @@ msgstr "Product voltooid" #: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "" +msgstr "Build order uitvoer afgewezen" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Verbruikt door productieorder" @@ -821,7 +821,7 @@ msgstr "Afwijzen" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "" +msgstr "Ongeldige fysieke eenheid" #: InvenTree/validators.py:40 msgid "Not a valid currency code" @@ -872,7 +872,7 @@ msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" -msgstr "" +msgstr "Verbruiksartikelen" #: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 @@ -881,12 +881,12 @@ msgstr "" #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 msgid "Optional" -msgstr "" +msgstr "Optioneel" #: build/api.py:288 templates/js/translated/table_filters.js:360 #: templates/js/translated/table_filters.js:514 msgid "Tracked" -msgstr "" +msgstr "Gevolgd" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 #: templates/js/translated/build.js:2545 @@ -900,7 +900,7 @@ msgstr "Toegewezen" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Productieorder" @@ -941,7 +941,7 @@ msgstr "Referentie" #: build/models.py:171 msgid "Brief description of the build (optional)" -msgstr "" +msgstr "Korte beschrijving van de build (optioneel)" #: build/models.py:179 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:87 @@ -982,7 +982,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Onderdeel" @@ -1144,49 +1144,49 @@ msgstr "Prioriteit van deze bouwopdracht" #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "" +msgstr "Project Code" #: build/models.py:310 msgid "Project code for this build order" -msgstr "" +msgstr "Project code voor deze build order" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Productieorder {build} is voltooid" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 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:1366 +#: build/models.py:1371 #, 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:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" @@ -1345,7 +1345,7 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" @@ -1368,8 +1368,8 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Locatie" @@ -1402,8 +1402,8 @@ msgstr "Locatie van voltooide productieuitvoeren" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Status" @@ -1433,7 +1433,7 @@ msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" #: build/serializers.py:614 msgid "Not permitted" -msgstr "" +msgstr "Niet toegestaan" #: build/serializers.py:615 msgid "Accept as consumed by this build order" @@ -1579,7 +1579,7 @@ msgstr "Productieorder {bo} is nu achterstallig" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Miniatuurweergave van onderdeel" #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 @@ -1738,7 +1738,7 @@ msgstr "Voltooide Uitvoeren" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Verkooporder" @@ -1795,8 +1795,8 @@ msgstr "Toegewezen Onderdelen" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1879,7 +1879,7 @@ msgstr "Nieuwe Productieuitvoer" #: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "" +msgstr "Verbruikte voorraad" #: build/templates/build/detail.html:244 msgid "Completed Build Outputs" @@ -1896,7 +1896,7 @@ msgstr "Voltooide Productieuitvoeren" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Bijlagen" @@ -1905,11 +1905,11 @@ msgstr "Bijlagen" msgid "Build Notes" msgstr "Productie notities" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "Toewijzing Voltooid" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2009,12 +2009,12 @@ msgstr "Geen groep" #: common/models.py:869 msgid "An empty domain is not allowed." -msgstr "" +msgstr "Een leeg domein is niet toegestaan." #: common/models.py:871 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "" +msgstr "Ongeldige domeinnaam: {domain}" #: common/models.py:928 msgid "Restart required" @@ -2098,7 +2098,7 @@ msgstr "" #: common/models.py:1004 msgid "Require confirm" -msgstr "" +msgstr "Bevestiging vereist" #: common/models.py:1005 msgid "Require explicit user confirmation for certain action." @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Sjabloon" @@ -2433,7 +2433,7 @@ msgstr "" #: common/models.py:1315 msgid "Only use active variant parts for calculating variant pricing" -msgstr "" +msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" #: common/models.py:1321 msgid "Pricing Rebuild Interval" @@ -2853,19 +2853,19 @@ msgstr "" #: common/models.py:1751 msgid "Hide inactive parts" -msgstr "" +msgstr "Inactieve Onderdelen Verbergen" #: common/models.py:1752 msgid "Hide inactive parts in results displayed on the homepage" -msgstr "" +msgstr "Verberg inactieve delen bij items op de homepage" #: common/models.py:1758 msgid "Show subscribed parts" -msgstr "" +msgstr "Toon geabonneerde onderdelen" #: common/models.py:1759 msgid "Show subscribed parts on the homepage" -msgstr "" +msgstr "Toon geabonneerde onderdelen op de homepage" #: common/models.py:1765 msgid "Show subscribed categories" @@ -3033,23 +3033,23 @@ msgstr "Zoek Onderdelen" #: common/models.py:1906 msgid "Display parts in search preview window" -msgstr "" +msgstr "Onderdelen weergeven in zoekscherm" #: common/models.py:1912 msgid "Search Supplier Parts" -msgstr "" +msgstr "Zoek leveranciersonderdelen" #: common/models.py:1913 msgid "Display supplier parts in search preview window" -msgstr "" +msgstr "Leveranciersonderdelen weergeven in zoekscherm" #: common/models.py:1919 msgid "Search Manufacturer Parts" -msgstr "" +msgstr "Fabrikant onderdelen zoeken" #: common/models.py:1920 msgid "Display manufacturer parts in search preview window" -msgstr "" +msgstr "Fabrikant onderdelen weergeven in zoekscherm" #: common/models.py:1926 msgid "Hide Inactive Parts" @@ -3057,7 +3057,7 @@ msgstr "Inactieve Onderdelen Verbergen" #: common/models.py:1927 msgid "Excluded inactive parts from search preview window" -msgstr "" +msgstr "Inactieve verkooporders weglaten in het zoekvenster" #: common/models.py:1933 msgid "Search Categories" @@ -3213,7 +3213,7 @@ msgstr "" #: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "" +msgstr "Onderdeel planning" #: common/models.py:2075 msgid "Display part scheduling information" @@ -3221,7 +3221,7 @@ msgstr "" #: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" -msgstr "" +msgstr "Voorraadcontrole onderdeel" #: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" @@ -3454,7 +3454,7 @@ msgstr "" #: common/views.py:481 msgid "Parts imported" -msgstr "" +msgstr "Geïmporteerde onderdelen" #: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3708,7 +3708,7 @@ msgstr "Parameternaam" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Waarde" @@ -3805,7 +3805,7 @@ msgstr "Minimale kosten (bijv. voorraadkosten)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "Order meerdere" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3901,7 +3901,7 @@ msgstr "Bedrijf verwijderen" #: report/templates/report/inventree_test_report_base.html:84 #: report/templates/report/inventree_test_report_base.html:163 msgid "Part image" -msgstr "" +msgstr "Afbeelding onderdeel" #: company/templates/company/company_base.html:56 #: part/templates/part/part_thumb.html:12 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Klant" @@ -3977,7 +3977,7 @@ msgstr "Afbeelding Downloaden" #: company/templates/company/manufacturer_part_sidebar.html:7 #: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 msgid "Supplier Parts" -msgstr "" +msgstr "Leveranciersonderdeel" #: company/templates/company/detail.html:19 msgid "Create new supplier part" @@ -3987,7 +3987,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:123 #: part/templates/part/detail.html:356 msgid "New Supplier Part" -msgstr "" +msgstr "Nieuw leveranciers onderdeel" #: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 #: templates/js/translated/search.js:151 @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Leveranciersonderdeel" @@ -4214,13 +4214,13 @@ msgstr "" #: company/templates/company/supplier_part.html:65 #: templates/js/translated/company.js:293 msgid "Edit Supplier Part" -msgstr "" +msgstr "Bewerk Leveranciers onderdeel" #: company/templates/company/supplier_part.html:69 #: company/templates/company/supplier_part.html:70 #: templates/js/translated/company.js:268 msgid "Duplicate Supplier Part" -msgstr "" +msgstr "Dupliceer Leveranciers onderdeel" #: company/templates/company/supplier_part.html:74 msgid "Delete Supplier Part" @@ -4228,7 +4228,7 @@ msgstr "" #: company/templates/company/supplier_part.html:75 msgid "Delete Supplier Part" -msgstr "" +msgstr "Verwijder leveranciers onderdeel" #: company/templates/company/supplier_part.html:134 msgid "No supplier information available" @@ -4265,15 +4265,15 @@ msgstr "" #: company/templates/company/supplier_part.html:277 msgid "Supplier Part QR Code" -msgstr "" +msgstr "QR-code voor leveranciers onderdelen" #: company/templates/company/supplier_part.html:288 msgid "Link Barcode to Supplier Part" -msgstr "" +msgstr "Koppel barcode aan leveranciers onderdeel" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" -msgstr "" +msgstr "Beschikbaarheid van onderdeel bijwerken" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Voorraadartikelen" @@ -4333,7 +4333,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label template bestand" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Ingeschakeld" @@ -4357,7 +4357,7 @@ msgstr "Hoogte [mm]" msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Filters" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Inkooporder" @@ -4421,7 +4421,7 @@ msgstr "Inkooporder" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "Aantal ontvangen artikelen" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Inkoopprijs" @@ -5345,25 +5345,25 @@ msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" #: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" -msgstr "" +msgstr "Onderdeel-id" #: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" -msgstr "" +msgstr "Onderdeel naam" #: part/admin.py:35 part/tasks.py:290 msgid "Part Description" -msgstr "" +msgstr "Onderdeel omschrijving" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5449,7 +5449,7 @@ msgstr "" #: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" -msgstr "" +msgstr "Onderdelen" #: part/admin.py:265 msgid "BOM Level" @@ -5526,19 +5526,19 @@ msgstr "" #: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" -msgstr "" +msgstr "Onderdeel Categorie" #: part/models.py:77 part/templates/part/category.html:135 #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" -msgstr "" +msgstr "Onderdeel Categorieën" #: part/models.py:129 msgid "Default location for parts in this category" msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5546,7 +5546,7 @@ msgstr "" #: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" +msgstr "Onderdelen mogen niet rechtstreeks aan een structurele categorie worden toegewezen, maar kunnen worden toegewezen aan subcategorieën." #: part/models.py:140 msgid "Default keywords" @@ -5600,7 +5600,7 @@ msgstr "" #: part/models.py:850 part/models.py:3724 msgid "Part name" -msgstr "" +msgstr "Onderdeel naam" #: part/models.py:856 msgid "Is Template" @@ -5633,11 +5633,11 @@ msgstr "" #: part/models.py:888 msgid "Part category" -msgstr "" +msgstr "Onderdeel Categorie" #: part/models.py:894 msgid "Internal Part Number" -msgstr "" +msgstr "Intern Onderdeelnummer" #: part/models.py:899 msgid "Part revision or version number" @@ -5653,7 +5653,7 @@ msgstr "" #: part/models.py:971 msgid "Default supplier part" -msgstr "" +msgstr "Standaardleverancier" #: part/models.py:978 msgid "Default Expiry" @@ -5669,7 +5669,7 @@ msgstr "" #: part/models.py:992 msgid "Units of measure for this part" -msgstr "" +msgstr "Eenheden voor dit onderdeel" #: part/models.py:1001 msgid "Can this part be built from other parts?" @@ -5859,7 +5859,7 @@ msgstr "" #: part/models.py:3017 msgid "Part for stocktake" -msgstr "" +msgstr "Onderdeel voor voorraadcontrole" #: part/models.py:3022 msgid "Item Count" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Datum" @@ -5923,7 +5923,7 @@ msgstr "" #: part/models.py:3130 templates/InvenTree/settings/settings_staff_js.html:356 msgid "Part Count" -msgstr "" +msgstr "Aantal onderdelen" #: part/models.py:3131 msgid "Number of parts covered by stocktake" @@ -6206,7 +6206,7 @@ msgstr "" #: part/serializers.py:313 msgid "No parts selected" -msgstr "" +msgstr "Geen onderdelen geselecteerd" #: part/serializers.py:321 msgid "Select category" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Voorraad" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "Filters inkooporder" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "Verkooporder zoekopdracht filters" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Voorraad tellen" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Voorraad overzetten" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "Nieuwe Locatie" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "Productieorder is achterstallig" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "Productie voorraad" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Voorraad order" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "Verwijder Voorraadtoewijzing" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Verzonden aan klant" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "Toegewezen aan Verkooporder" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "Geen voorraadlocatie ingesteld" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "Voorraadartikel toegewezen aan verkooporder" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "Inkooporder bestaat niet meer" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index eb06cfb4c9..b35c88f152 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-25 07:46\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -68,7 +68,7 @@ msgstr "Oppgi dato" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notater" @@ -288,7 +288,7 @@ msgstr "Kommentar til fil" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Bruker" @@ -331,7 +331,7 @@ msgstr "Ugyldig valg" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Ugyldig valg" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Navn" @@ -355,8 +355,8 @@ msgstr "Navn" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Navn" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Navn" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Beskrivelse" @@ -389,7 +389,7 @@ msgid "parent" msgstr "overkategori" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Sti" @@ -751,7 +751,7 @@ msgstr "Skill ut fra overordnet artikkel" msgid "Split child item" msgstr "Skill ut fra underartikkel" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Sammenslåtte lagervarer" @@ -769,9 +769,9 @@ msgstr "Build ordreutg fullført" #: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "" +msgstr "Bygge ordreutgang avvist" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Antatt som byggeordre" @@ -893,14 +893,14 @@ msgstr "Spores" #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" -msgstr "" +msgstr "Tildelt" #: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Build ordre" @@ -982,7 +982,7 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Del" @@ -1150,43 +1150,43 @@ msgstr "Prosjektkode" msgid "Project code for this build order" msgstr "Prosjektkode for denne produksjonsordren" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggeordre {build} er fullført" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Byggeordre er fullført" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Ingen prosjekt utgang" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Prosjekt utdata er allerede utfylt" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" -msgstr "" +msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" -msgstr "" +msgstr "Bygg objekt" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Antall" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" -msgstr "" +msgstr "Påkrved kvantitet for ordre" -#: build/models.py:1357 +#: build/models.py:1362 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:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Lagervare for montering" @@ -1345,7 +1345,7 @@ msgstr "Automatisk tildeling av serienummer" msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" @@ -1368,26 +1368,26 @@ msgstr "En liste over produksjonsartikler må oppgis" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Plassering" #: build/serializers.py:424 msgid "Stock location for scrapped outputs" -msgstr "" +msgstr "Lagreplassering for skrotet utganger" #: build/serializers.py:430 msgid "Discard Allocations" -msgstr "" +msgstr "Forkast tildelinger" #: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Forkast lagerallokering for skrotet utganger" #: build/serializers.py:436 msgid "Reason for scrapping build output(s)" -msgstr "" +msgstr "Grunnen til utrangering av bygg utgang(er)" #: build/serializers.py:497 msgid "Location for completed build outputs" @@ -1402,8 +1402,8 @@ msgstr "Plassering for ferdige produksjonsartikler" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Status" @@ -1485,7 +1485,7 @@ msgstr "Produksjonsordren har uferdige artikler" #: build/serializers.py:722 msgid "Build Line" -msgstr "" +msgstr "Bygg linje" #: build/serializers.py:732 msgid "Build output" @@ -1497,7 +1497,7 @@ msgstr "Produksjonsartikkel må peke til samme produksjon" #: build/serializers.py:776 msgid "Build Line Item" -msgstr "" +msgstr "Bygg linjeelement" #: build/serializers.py:790 msgid "bom_item.part must point to the same part as the build order" @@ -1738,7 +1738,7 @@ msgstr "Fullførte byggeresultater" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Salgsordre" @@ -1795,8 +1795,8 @@ msgstr "Tildelte deler" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1834,11 +1834,11 @@ msgstr "Tildel Lagerbeholdning til Produksjon" #: build/templates/build/detail.html:181 msgid "Deallocate stock" -msgstr "" +msgstr "Fjern lager allokering" #: build/templates/build/detail.html:182 msgid "Deallocate Stock" -msgstr "" +msgstr "Fjern lager allokering" #: build/templates/build/detail.html:184 msgid "Automatically allocate stock to build" @@ -1879,7 +1879,7 @@ msgstr "Ny Produksjonsartikkel" #: build/templates/build/detail.html:232 build/templates/build/sidebar.html:15 msgid "Consumed Stock" -msgstr "" +msgstr "Forbrukt lager" #: build/templates/build/detail.html:244 msgid "Completed Build Outputs" @@ -1896,7 +1896,7 @@ msgstr "Fullførte byggeresultater" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Vedlegg" @@ -1905,13 +1905,13 @@ msgstr "Vedlegg" msgid "Build Notes" msgstr "Bygg notater" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "Tildeling fullført" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" -msgstr "" +msgstr "Alle linjer er fullt tildelt" #: build/templates/build/index.html:18 part/templates/part/detail.html:319 msgid "New Build Order" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Mal" @@ -2597,11 +2597,11 @@ msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" #: common/models.py:1471 msgid "Show Installed Stock Items" -msgstr "" +msgstr "Vis installerte lagervarer" #: common/models.py:1472 msgid "Display installed stock items in stock tables" -msgstr "" +msgstr "Vis installerte lagervarer i lagertabeller" #: common/models.py:1478 msgid "Build Order Reference Pattern" @@ -3237,27 +3237,27 @@ msgstr "Maksimal lengdegrense for strenger vist i tabeller" #: common/models.py:2098 msgid "Default part label template" -msgstr "" +msgstr "Standard del etikett mal" #: common/models.py:2099 msgid "The part label template to be automatically selected" -msgstr "" +msgstr "Del etikett malen skal velges automatsik" #: common/models.py:2107 msgid "Default stock item template" -msgstr "" +msgstr "Standard lagervarer mal" #: common/models.py:2108 msgid "The stock item label template to be automatically selected" -msgstr "" +msgstr "Lagervarer etikett mal skal valges automatisk" #: common/models.py:2116 msgid "Default stock location label template" -msgstr "" +msgstr "Standard lagervarer lokasjon etikett mal" #: common/models.py:2117 msgid "The stock location label template to be automatically selected" -msgstr "" +msgstr "Lagervarer lokasjon etikett malen skal valges automatisk" #: common/models.py:2163 msgid "Price break quantity" @@ -3555,11 +3555,11 @@ msgstr "Firma" #: company/models.py:324 msgid "Company already has a primary address" -msgstr "" +msgstr "Bedriften har allerede en primæradresse" #: company/models.py:329 msgid "Select company" -msgstr "" +msgstr "Vegl bedrift" #: company/models.py:332 msgid "Address title" @@ -3708,7 +3708,7 @@ msgstr "Parameternavn" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Verdi" @@ -3730,11 +3730,11 @@ msgstr "Parameterenheter" #: company/models.py:647 msgid "Pack units must be compatible with the base part units" -msgstr "" +msgstr "Pakkeenhetene må være komptible med basisdelenhetene" #: company/models.py:653 msgid "Pack units must be greater than zero" -msgstr "" +msgstr "Mengden må være større enn null" #: company/models.py:669 msgid "Linked manufacturer part must reference the same base part" @@ -3805,7 +3805,7 @@ msgstr "Minimum betaling (f.eks. lageravgift på lager)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Emballasje" @@ -3825,7 +3825,7 @@ msgstr "Pakkeantall" #: company/models.py:756 msgid "Total quantity supplied in a single pack. Leave empty for single items." -msgstr "" +msgstr "Totall antall pakket i en enkelt pakke. La stå tomt for enkeltgjenstander." #: company/models.py:773 part/models.py:1926 msgid "multiple" @@ -3839,7 +3839,7 @@ msgstr "Bestill flere" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "Slett bilde" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Kunde" @@ -4093,7 +4093,7 @@ msgstr "Legg til Kontakt" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "" +msgstr "Bedriftens adresse" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 @@ -4189,7 +4189,7 @@ msgstr "Adresser" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Leverandørdel" @@ -4271,7 +4271,7 @@ msgstr "Leverandørdel-QR-kode" msgid "Link Barcode to Supplier Part" msgstr "Koble strekkode til Leverandørdel" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Oppdater Delens Tilgjengelighet" @@ -4283,7 +4283,7 @@ msgstr "Oppdater Delens Tilgjengelighet" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Lagervarer" @@ -4333,7 +4333,7 @@ msgstr "Etikett" msgid "Label template file" msgstr "Etikett-malfil" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Aktivert" @@ -4357,7 +4357,7 @@ msgstr "Høyde [mm]" msgid "Label height, specified in mm" msgstr "Etiketthøyde, spesifisert i mm" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Filnavnmønster" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "Søkefiltre (kommaseparert liste over nøkkel=verdi-par)" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Filtre" @@ -4412,7 +4412,7 @@ msgstr "Ingen samsvarende innkjøpsordre funnet" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Innkjøpsordre" @@ -4421,7 +4421,7 @@ msgstr "Innkjøpsordre" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Returordre" @@ -4475,7 +4475,7 @@ msgstr "Kontaktpunkt for denne ordren" #: order/models.py:280 msgid "Company address for this order" -msgstr "" +msgstr "Bedriftsadresse for denne ordren" #: order/models.py:373 order/models.py:779 msgid "Order reference" @@ -4578,7 +4578,7 @@ msgstr "Måldato for denne linjen (la stå tomt for å bruke måldatoen fra ordr #: order/models.py:1131 msgid "Line item description (optional)" -msgstr "" +msgstr "Linjeelementbeskrivelse (valgfritt)" #: order/models.py:1136 msgid "Context" @@ -4626,7 +4626,7 @@ msgstr "Antall enheter mottatt" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Innkjøpspris" @@ -4669,7 +4669,7 @@ msgstr "Leveringsdato" #: order/models.py:1428 msgid "Date of delivery of shipment" -msgstr "" +msgstr "Dato for levering av forsendelse" #: order/models.py:1435 msgid "Checked By" @@ -5014,7 +5014,7 @@ msgstr "Fullfør ordre" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "" +msgstr "Miniatyrbilde for leverandør" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 @@ -5358,12 +5358,12 @@ msgstr "Delbeskrivelse" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisjon" @@ -5383,11 +5383,11 @@ msgstr "Kategorinavn" #: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" -msgstr "" +msgstr "Standard posisjons-ID" #: part/admin.py:45 msgid "Default Supplier ID" -msgstr "" +msgstr "Standard leverandør ID" #: part/admin.py:46 part/models.py:868 part/templates/part/part_base.html:179 msgid "Variant Of" @@ -5395,7 +5395,7 @@ msgstr "Variant av" #: part/admin.py:47 part/models.py:984 part/templates/part/part_base.html:205 msgid "Minimum Stock" -msgstr "" +msgstr "Minimum lagervare" #: part/admin.py:61 part/templates/part/part_base.html:199 #: templates/js/translated/company.js:1720 @@ -5421,11 +5421,11 @@ msgstr "Produseres" #: part/admin.py:66 part/models.py:2967 templates/js/translated/part.js:942 msgid "Minimum Cost" -msgstr "" +msgstr "Minimum kostnad" #: part/admin.py:67 part/models.py:2973 templates/js/translated/part.js:952 msgid "Maximum Cost" -msgstr "" +msgstr "Maksimum kostnad" #: part/admin.py:195 part/admin.py:270 stock/admin.py:42 stock/admin.py:116 msgid "Parent ID" @@ -5461,11 +5461,11 @@ msgstr "BOM artikkel-ID" #: part/admin.py:271 msgid "Parent IPN" -msgstr "" +msgstr "Overodnet IPN" #: part/admin.py:274 part/models.py:3727 msgid "Part IPN" -msgstr "" +msgstr "Del IPN" #: part/admin.py:280 templates/js/translated/pricing.js:358 #: templates/js/translated/pricing.js:1010 @@ -5487,11 +5487,11 @@ msgstr "Utgående salgsordre" #: part/api.py:539 msgid "Stock produced by Build Order" -msgstr "" +msgstr "Lagervarer produsert av bygg order" #: part/api.py:625 msgid "Stock required for Build Order" -msgstr "" +msgstr "Lagervarer som kreves for Bygg Order" #: part/api.py:773 msgid "Valid" @@ -5508,7 +5508,7 @@ msgstr "Dette alternativet må være valgt" #: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 msgid "Default Location" -msgstr "" +msgstr "Standard plassering" #: part/bom.py:176 templates/email/low_stock_notification.html:16 msgid "Total Stock" @@ -5521,7 +5521,7 @@ msgstr "Tilgjengelig lagerbeholdning" #: part/forms.py:48 msgid "Input quantity for price calculation" -msgstr "" +msgstr "Sett inn antall for prisberegning" #: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 @@ -5536,9 +5536,9 @@ msgstr "Delkategorier" #: part/models.py:129 msgid "Default location for parts in this category" -msgstr "" +msgstr "Standardplassering for deler i denne kategorien" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5550,7 +5550,7 @@ msgstr "Deler kan ikke tilordnes direkte til en strukturell kategori, men kan ti #: part/models.py:140 msgid "Default keywords" -msgstr "" +msgstr "Standard nøkkelord" #: part/models.py:140 msgid "Default keywords for parts in this category" @@ -5881,7 +5881,7 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Dato" @@ -5984,15 +5984,15 @@ msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?" #: part/models.py:3383 msgid "Checkbox parameters cannot have units" -msgstr "" +msgstr "Avmerkingsboks parameter kan ikke ha enheter" #: part/models.py:3388 msgid "Checkbox parameters cannot have choices" -msgstr "" +msgstr "Avmerkingsboks parameter kan ikke har valg" #: part/models.py:3406 msgid "Choices must be unique" -msgstr "" +msgstr "Valg må være unikt" #: part/models.py:3422 msgid "Parameter template name must be unique" @@ -6004,7 +6004,7 @@ msgstr "Parameternavn" #: part/models.py:3444 msgid "Physical units for this parameter" -msgstr "" +msgstr "Fysisk enheter for denne parameteren" #: part/models.py:3454 msgid "Parameter description" @@ -6013,23 +6013,23 @@ msgstr "Parameterbeskrivelse" #: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" -msgstr "" +msgstr "Avmerkingsboks" #: part/models.py:3461 msgid "Is this parameter a checkbox?" -msgstr "" +msgstr "Er dette parameteret en avmerkingsboks?" #: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" -msgstr "" +msgstr "Valg" #: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" -msgstr "" +msgstr "Gyldige valg for denne parameteren (kommaseparert)" #: part/models.py:3548 msgid "Invalid choice for parameter value" -msgstr "" +msgstr "Ugyldig valg for parameterverdi" #: part/models.py:3592 msgid "Parent Part" @@ -6411,11 +6411,11 @@ msgstr "Ingen del-kolonne angitt" #: part/serializers.py:1449 msgid "Multiple matching parts found" -msgstr "" +msgstr "Flere matchende deler funnet" #: part/serializers.py:1452 msgid "No matching part found" -msgstr "" +msgstr "Ingen matchende delere funnet" #: part/serializers.py:1455 msgid "Part is not designated as a component" @@ -6592,7 +6592,7 @@ msgstr "Legg til lagertellingsinformasjon" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "Lagertelling" @@ -6721,15 +6721,15 @@ msgstr "Krav for import av deler" #: part/templates/part/import_wizard/part_upload.html:33 msgid "The part import file must contain the required named columns as provided in the " -msgstr "" +msgstr "Delens importfil må inneholde de nødvendige navngitte kolonnene som i " #: part/templates/part/import_wizard/part_upload.html:33 msgid "Part Import Template" -msgstr "" +msgstr "Importmal for del" #: part/templates/part/import_wizard/part_upload.html:89 msgid "Download Part Import Template" -msgstr "" +msgstr "Last ned importmal for del" #: part/templates/part/import_wizard/part_upload.html:92 #: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 @@ -6745,7 +6745,7 @@ msgstr "Velg filformat" #: part/templates/part/part_app_base.html:12 msgid "Part List" -msgstr "" +msgstr "Deleliste" #: part/templates/part/part_base.html:27 part/templates/part/part_base.html:31 msgid "You are subscribed to notifications for this part" @@ -6801,27 +6801,27 @@ msgstr "Delen er en maldel (varianter kan lages fra denne delen)" #: part/templates/part/part_base.html:125 msgid "Part can be assembled from other parts" -msgstr "" +msgstr "Delen kan sammenstilles fra andre deler" #: part/templates/part/part_base.html:129 msgid "Part can be used in assemblies" -msgstr "" +msgstr "Delen kan brukes i sammenstillinger" #: part/templates/part/part_base.html:133 msgid "Part stock is tracked by serial number" -msgstr "" +msgstr "Delelager spores via serienummer" #: part/templates/part/part_base.html:137 msgid "Part can be purchased from external suppliers" -msgstr "" +msgstr "Delen kan kjøpes fra eksterne leverandører" #: part/templates/part/part_base.html:141 msgid "Part can be sold to customers" -msgstr "" +msgstr "Delen kan selges til kunder" #: part/templates/part/part_base.html:147 msgid "Part is not active" -msgstr "" +msgstr "Delen er ikke aktiv" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:1318 @@ -6829,16 +6829,16 @@ msgstr "" #: templates/js/translated/model_renderers.js:287 #: templates/js/translated/part.js:791 templates/js/translated/part.js:1191 msgid "Inactive" -msgstr "" +msgstr "Inaktiv" #: part/templates/part/part_base.html:155 msgid "Part is virtual (not a physical part)" -msgstr "" +msgstr "Delen er virtuall (ikke en fysisk del)" #: part/templates/part/part_base.html:165 #: part/templates/part/part_base.html:684 msgid "Show Part Details" -msgstr "" +msgstr "Vis detaljer for del" #: part/templates/part/part_base.html:220 #: stock/templates/stock/item_base.html:384 @@ -6884,7 +6884,7 @@ msgstr "Koble strekkode til Del" #: part/templates/part/part_base.html:474 templates/js/translated/part.js:2252 msgid "part" -msgstr "" +msgstr "del" #: part/templates/part/part_base.html:514 msgid "Calculate" @@ -6958,7 +6958,7 @@ msgstr "Varianter" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Lagerbeholdning" @@ -6991,7 +6991,7 @@ msgstr "Oppdater delprising" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "Sist oppdatert" @@ -7102,45 +7102,45 @@ msgstr "Hver del må allerede finnes i databasen" #: part/templates/part/variant_part.html:9 msgid "Create new part variant" -msgstr "" +msgstr "Opprett ny variant av del" #: part/templates/part/variant_part.html:10 msgid "Create a new variant part from this template" -msgstr "" +msgstr "Opprett en ny variant del fra denne malen" #: part/templatetags/inventree_extras.py:189 msgid "Unknown database" -msgstr "" +msgstr "Ukjent database" #: part/templatetags/inventree_extras.py:241 #, python-brace-format msgid "{title} v{version}" -msgstr "" +msgstr "{title} v{version}" #: part/views.py:110 msgid "Match References" -msgstr "" +msgstr "Match referanser" #: part/views.py:238 #, python-brace-format msgid "Can't import part {name} because there is no category assigned" -msgstr "" +msgstr "Kan ikke importere del {name} fordi det ikke er oppgitt noen kategori" #: part/views.py:379 msgid "Select Part Image" -msgstr "" +msgstr "Vel bilde for del" #: part/views.py:405 msgid "Updated part image" -msgstr "" +msgstr "Oppdatert bilde for del" #: part/views.py:408 msgid "Part image not found" -msgstr "" +msgstr "Bilde for del ikke funnet" #: part/views.py:503 msgid "Part Pricing" -msgstr "" +msgstr "Del Prisering" #: plugin/base/action/api.py:27 msgid "No action specified" @@ -7152,7 +7152,7 @@ msgstr "Ingen samsvarende handling funnet" #: plugin/base/barcodes/api.py:54 plugin/base/barcodes/api.py:110 msgid "Missing barcode data" -msgstr "" +msgstr "Mangler strekkodedata" #: plugin/base/barcodes/api.py:80 msgid "No match found for barcode data" @@ -7165,50 +7165,50 @@ msgstr "Treff funnet for strekkodedata" #: plugin/base/barcodes/api.py:120 #: templates/js/translated/purchase_order.js:1387 msgid "Barcode matches existing item" -msgstr "" +msgstr "Strekkode samsvarer med ekisterende element" #: plugin/base/barcodes/api.py:217 msgid "No match found for provided value" -msgstr "" +msgstr "Ingen samsvar funnet for angitt verdi" #: plugin/base/label/label.py:60 msgid "Label printing failed" -msgstr "" +msgstr "Utskrift av etikett mislyktes" #: plugin/builtin/barcodes/inventree_barcode.py:25 msgid "InvenTree Barcodes" -msgstr "" +msgstr "InvenTree-strekkoder" #: plugin/builtin/barcodes/inventree_barcode.py:26 msgid "Provides native support for barcodes" -msgstr "" +msgstr "Gir innebygd støtte for strekkoder" #: plugin/builtin/barcodes/inventree_barcode.py:28 #: plugin/builtin/integration/core_notifications.py:34 msgid "InvenTree contributors" -msgstr "" +msgstr "InvenTree-bidragsytere" #: plugin/builtin/integration/core_notifications.py:33 msgid "InvenTree Notifications" -msgstr "" +msgstr "InvenTree-varsler" #: plugin/builtin/integration/core_notifications.py:35 msgid "Integrated outgoing notification methods" -msgstr "" +msgstr "Integrerte utgående varslingsmetoder" #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 msgid "Enable email notifications" -msgstr "" +msgstr "Aktiver epostvarsler" #: plugin/builtin/integration/core_notifications.py:41 #: plugin/builtin/integration/core_notifications.py:82 msgid "Allow sending of emails for event notifications" -msgstr "" +msgstr "Tillat sending av e-post for hendelsesvarsler" #: plugin/builtin/integration/core_notifications.py:46 msgid "Enable slack notifications" -msgstr "" +msgstr "Aktiver Slack-varsler" #: plugin/builtin/integration/core_notifications.py:47 msgid "Allow sending of slack channel messages for event notifications" @@ -7228,15 +7228,15 @@ msgstr "Åpne lenke" #: plugin/models.py:28 msgid "Plugin Configuration" -msgstr "" +msgstr "Plugin konfigurasjon" #: plugin/models.py:29 msgid "Plugin Configurations" -msgstr "" +msgstr "Plugin konfigurasjoner" #: plugin/models.py:34 msgid "Key" -msgstr "" +msgstr "Nøkkel" #: plugin/models.py:35 msgid "Key of plugin" @@ -7370,91 +7370,91 @@ msgstr "Malfil '{template}' mangler eller eksisterer ikke" msgid "Test report" msgstr "Testrapport" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Malnavn" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "Rapportmalfil" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "Beskrivelse av rapportmal" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "Rapportrevisjonsnummer (øker automatisk)" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "Mønster for å generere rapportfilnavn" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "Rapportmal er aktiver" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagervare-søkefilter (kommaseparert liste over nøkkel=verdi-par)" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "Inkluder installerte tester" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "Inkluder testresultater for lagervarer installert i sammenstilt artikkel" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "Produksjonsfiltre" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Produksjons-søkefilter (kommaseparert liste over nøkkel=verdi-par" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "Delfiltre" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Del-søkefilter (kommaseparert liste over nøkkel=verdi-par" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "Innkjøpsordre-søkefilter" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "Salgsordre-søkefilter" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "Returordre-søkefilter" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "Snutt" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "Rapportsnuttfil" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "Filbeskrivelse for snutt" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "Ressurs" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "Rapportressursfil" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "Ressursfilbeskrivelse" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "Testresultater" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "Test" @@ -7549,7 +7549,7 @@ msgstr "Installerte artikler" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Serienummer" @@ -7617,7 +7617,7 @@ msgstr "Slett når oppbrukt" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "Utløpsdato" @@ -7625,23 +7625,23 @@ msgstr "Utløpsdato" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "Leverandørdelen har en pakkestørrelse definert, men flagget \"use_pack_size\" er ikke satt" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7726,11 +7726,11 @@ msgstr "" #: stock/models.py:685 msgid "Select a matching supplier part for this stock item" -msgstr "" +msgstr "Velg en tilsvarende leverandørdel for denne lagervaren" #: stock/models.py:695 msgid "Where is this stock item located?" -msgstr "" +msgstr "Hvor er denne lagervaren plassert?" #: stock/models.py:702 msgid "Packaging this stock item is stored in" @@ -7738,11 +7738,11 @@ msgstr "" #: stock/models.py:711 msgid "Is this item installed in another item?" -msgstr "" +msgstr "Er denne artikkelen montert i en annen artikkel?" #: stock/models.py:727 msgid "Serial number for this item" -msgstr "" +msgstr "Serienummer for denne artikkelen" #: stock/models.py:741 msgid "Batch code for this stock item" @@ -7762,7 +7762,7 @@ msgstr "Produksjon for denne lagervaren" #: stock/models.py:761 stock/templates/stock/item_base.html:364 msgid "Consumed By" -msgstr "" +msgstr "Brukt av" #: stock/models.py:763 msgid "Build order which consumed this stock item" @@ -7911,7 +7911,7 @@ msgstr "" #: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" -msgstr "" +msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" #: stock/serializers.py:373 msgid "Enter number of stock items to serialize" @@ -7973,7 +7973,7 @@ msgstr "Lagerplassering for returnert artikkel" #: stock/serializers.py:663 msgid "Select stock items to change status" -msgstr "" +msgstr "Velg lagervarer for å endre status" #: stock/serializers.py:670 msgid "No stock items selected" @@ -7997,7 +7997,7 @@ msgstr "Kunde å tilordne lagervarer" #: stock/serializers.py:949 msgid "Selected company is not a customer" -msgstr "" +msgstr "Valgt firma er ikke en kunde" #: stock/serializers.py:957 msgid "Stock assignment notes" @@ -8005,7 +8005,7 @@ msgstr "" #: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" -msgstr "" +msgstr "En liste av lagervarer må oppgis" #: stock/serializers.py:1056 msgid "Stock merging notes" @@ -8029,11 +8029,11 @@ msgstr "" #: stock/serializers.py:1078 msgid "At least two stock items must be provided" -msgstr "" +msgstr "Minst to lagervarer må oppgis" #: stock/serializers.py:1160 msgid "StockItem primary key value" -msgstr "" +msgstr "Lagervare primærnøkkel verdi" #: stock/serializers.py:1188 msgid "Stock transaction notes" @@ -8047,46 +8047,46 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "" +msgstr "Testdata" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" -msgstr "" +msgstr "Testrapport" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" -msgstr "" +msgstr "Slett testdata" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" -msgstr "" +msgstr "Legg till Testdata" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" -msgstr "" +msgstr "Slett alle testresultater for denne lagervaren" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" -msgstr "" +msgstr "Legg til testresultat" #: stock/templates/stock/item_base.html:34 msgid "Locate stock item" @@ -8100,24 +8100,24 @@ msgstr "" #: stock/templates/stock/location.html:69 #: templates/js/translated/filters.js:431 msgid "Printing actions" -msgstr "" +msgstr "Utskriftshandlinger" #: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" -msgstr "" +msgstr "Lagerjusteringshandlinger" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8157,11 +8157,11 @@ msgstr "" #: stock/templates/stock/item_base.html:116 msgid "Convert to variant" -msgstr "" +msgstr "Konvertert til variant" #: stock/templates/stock/item_base.html:119 msgid "Duplicate stock item" -msgstr "" +msgstr "Duplisert lagervare" #: stock/templates/stock/item_base.html:121 msgid "Edit stock item" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "Ingen lagertelling utført" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "Ny plassering" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -8466,19 +8466,19 @@ msgstr "" #: templates/InvenTree/index.html:7 msgid "Index" -msgstr "" +msgstr "Indeks" #: templates/InvenTree/index.html:39 msgid "Subscribed Parts" -msgstr "" +msgstr "Abonnerte deler" #: templates/InvenTree/index.html:52 msgid "Subscribed Categories" -msgstr "" +msgstr "Abonnerte kategorier" #: templates/InvenTree/index.html:62 msgid "Latest Parts" -msgstr "" +msgstr "Siste deler" #: templates/InvenTree/index.html:77 msgid "BOM Waiting Validation" @@ -8486,7 +8486,7 @@ msgstr "BOM venter godkjenning" #: templates/InvenTree/index.html:106 msgid "Recently Updated" -msgstr "" +msgstr "Nylig oppdatert" #: templates/InvenTree/index.html:133 msgid "Depleted Stock" @@ -8498,7 +8498,7 @@ msgstr "" #: templates/InvenTree/index.html:155 msgid "Expired Stock" -msgstr "" +msgstr "Utløpt lagerbeholdning" #: templates/InvenTree/index.html:171 msgid "Stale Stock" @@ -8510,133 +8510,133 @@ msgstr "" #: templates/InvenTree/index.html:209 msgid "Overdue Build Orders" -msgstr "" +msgstr "Forfalte Produksjonsordre" #: templates/InvenTree/index.html:229 msgid "Outstanding Purchase Orders" -msgstr "" +msgstr "Utestående innkjøpsordre" #: templates/InvenTree/index.html:240 msgid "Overdue Purchase Orders" -msgstr "" +msgstr "Forfalte innkjøpsordre" #: templates/InvenTree/index.html:261 msgid "Outstanding Sales Orders" -msgstr "" +msgstr "Utestående salgsordre" #: templates/InvenTree/index.html:272 msgid "Overdue Sales Orders" -msgstr "" +msgstr "Forfalte salgsordre" #: templates/InvenTree/index.html:298 msgid "InvenTree News" -msgstr "" +msgstr "InvenTree-nyheter" #: templates/InvenTree/index.html:300 msgid "Current News" -msgstr "" +msgstr "Aktuelle nyheter" #: templates/InvenTree/notifications/history.html:9 msgid "Notification History" -msgstr "" +msgstr "Varsellogg" #: templates/InvenTree/notifications/history.html:13 #: templates/InvenTree/notifications/history.html:14 #: templates/InvenTree/notifications/notifications.html:75 msgid "Delete Notifications" -msgstr "" +msgstr "Slett varlser" #: templates/InvenTree/notifications/inbox.html:9 msgid "Pending Notifications" -msgstr "" +msgstr "Ventende varsler" #: templates/InvenTree/notifications/inbox.html:13 #: templates/InvenTree/notifications/inbox.html:14 msgid "Mark all as read" -msgstr "" +msgstr "Merk alle som lest" #: templates/InvenTree/notifications/notifications.html:10 #: templates/InvenTree/notifications/sidebar.html:5 #: templates/InvenTree/settings/sidebar.html:17 #: templates/InvenTree/settings/sidebar.html:35 templates/notifications.html:5 msgid "Notifications" -msgstr "" +msgstr "Varlser" #: templates/InvenTree/notifications/notifications.html:38 msgid "No unread notifications found" -msgstr "" +msgstr "Ingen uleste varsler funnet" #: templates/InvenTree/notifications/notifications.html:58 msgid "No notification history found" -msgstr "" +msgstr "Ingen varsellogg funnet" #: templates/InvenTree/notifications/notifications.html:65 msgid "Delete all read notifications" -msgstr "" +msgstr "Slett alle leste varsler" #: templates/InvenTree/notifications/notifications.html:89 #: templates/js/translated/notification.js:84 msgid "Delete Notification" -msgstr "" +msgstr "Slett varsel" #: templates/InvenTree/notifications/sidebar.html:8 msgid "Inbox" -msgstr "" +msgstr "Innboks" #: templates/InvenTree/notifications/sidebar.html:10 msgid "History" -msgstr "" +msgstr "Logg" #: templates/InvenTree/search.html:8 msgid "Search Results" -msgstr "" +msgstr "Søkeresultater" #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" -msgstr "" +msgstr "Strekkodeinnstillinger" #: templates/InvenTree/settings/build.html:8 msgid "Build Order Settings" -msgstr "" +msgstr "Innstillinger for produksjonsordre" #: templates/InvenTree/settings/category.html:7 msgid "Category Settings" -msgstr "" +msgstr "Kategoriinnstillinger" #: templates/InvenTree/settings/global.html:8 msgid "Server Settings" -msgstr "" +msgstr "Serverinnstillinger" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "" +msgstr "Etikettinnstillinger" #: templates/InvenTree/settings/login.html:8 msgid "Login Settings" -msgstr "" +msgstr "Innstillinger for innlogging" #: templates/InvenTree/settings/login.html:15 msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" -msgstr "" +msgstr "Utgående e-post har ikke blitt kanskje. Noen innloggings- og registreringsfunksjoner fungerer kanskje ikke korrekt!" #: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" -msgstr "" +msgstr "Registrering" #: templates/InvenTree/settings/login.html:34 msgid "Single Sign On" -msgstr "" +msgstr "Single Sign On" #: templates/InvenTree/settings/mixins/settings.html:5 #: templates/InvenTree/settings/settings.html:12 templates/navbar.html:144 msgid "Settings" -msgstr "" +msgstr "Innstillinger" #: templates/InvenTree/settings/mixins/urls.html:5 msgid "URLs" -msgstr "" +msgstr "URLer" #: templates/InvenTree/settings/mixins/urls.html:8 #, python-format @@ -8834,45 +8834,45 @@ msgstr "Innstillinger for Returordre" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "" +msgstr "Ingen verdi satt" #: templates/InvenTree/settings/setting.html:44 msgid "Edit setting" -msgstr "" +msgstr "Rediger innstilling" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" -msgstr "" +msgstr "Rediger utvidelsesinnstillinger" #: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" -msgstr "" +msgstr "Rediger varslingsinnstilling" #: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" -msgstr "" +msgstr "Rediger global innstilling" #: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" -msgstr "" +msgstr "Rediger brukerinnstilling" #: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" -msgstr "" +msgstr "Vurder" #: templates/InvenTree/settings/settings_staff_js.html:64 msgid "No project codes found" -msgstr "" +msgstr "Ingen prosjektkoder funnet" #: templates/InvenTree/settings/settings_staff_js.html:80 #: templates/InvenTree/settings/settings_staff_js.html:94 msgid "Edit Project Code" -msgstr "" +msgstr "Rediger prosjektkode" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/InvenTree/settings/settings_staff_js.html:107 msgid "Delete Project Code" -msgstr "" +msgstr "Slett prosjektkode" #: templates/InvenTree/settings/settings_staff_js.html:189 msgid "No category parameter templates found" @@ -9266,12 +9266,12 @@ msgstr "" #: templates/account/email_confirm.html:6 #: templates/account/email_confirm.html:9 msgid "Confirm Email Address" -msgstr "" +msgstr "Bekreft e-postadresse" #: templates/account/email_confirm.html:15 #, python-format msgid "Please confirm that %(email)s is an email address for user %(user_display)s." -msgstr "" +msgstr "Vennligst bekreft at %(email)s er ne e-postadresse for bruker %(user_display)s." #: templates/account/email_confirm.html:21 templates/js/translated/forms.js:726 msgid "Confirm" @@ -9280,174 +9280,174 @@ msgstr "Bekreft" #: templates/account/email_confirm.html:29 #, python-format msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." -msgstr "" +msgstr "Denne e-postbekreftelseslenken er utgått eller ugyldig. Vennligst send en ny bekreftelsesforespørsel." #: templates/account/login.html:6 templates/account/login.html:17 #: templates/account/login.html:38 templates/socialaccount/login.html:5 msgid "Sign In" -msgstr "" +msgstr "Logg inn" #: templates/account/login.html:21 msgid "Not a member?" -msgstr "" +msgstr "Ikke medlem?" #: templates/account/login.html:23 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:20 msgid "Sign Up" -msgstr "" +msgstr "Registrer deg" #: templates/account/login.html:45 msgid "Forgot Password?" -msgstr "" +msgstr "Glemt passord?" #: templates/account/login.html:53 msgid "or log in with" -msgstr "" +msgstr "eller logg på med" #: templates/account/logout.html:5 templates/account/logout.html:8 #: templates/account/logout.html:20 msgid "Sign Out" -msgstr "" +msgstr "Logg ut" #: templates/account/logout.html:10 msgid "Are you sure you want to sign out?" -msgstr "" +msgstr "Er du sikker på at du vil logge ut?" #: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 #: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 msgid "Return to Site" -msgstr "" +msgstr "Gå tilbake til siden" #: templates/account/password_reset.html:5 #: templates/account/password_reset.html:12 msgid "Password Reset" -msgstr "" +msgstr "Tilbakestill passord" #: templates/account/password_reset.html:18 msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." -msgstr "" +msgstr "Glemt passord? Skriv inn e-postadressen din under, så sender vi deg en e-post slik at du kan tilbakestille den." #: templates/account/password_reset.html:23 msgid "Reset My Password" -msgstr "" +msgstr "Tilbakestill passord" #: templates/account/password_reset.html:27 templates/account/signup.html:37 msgid "This function is currently disabled. Please contact an administrator." -msgstr "" +msgstr "Denne funksjonen er deaktivert. Vennligst kontakt en administrator." #: templates/account/password_reset_from_key.html:7 msgid "Bad Token" -msgstr "" +msgstr "Ugyldig token" #: templates/account/password_reset_from_key.html:11 #, python-format msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." -msgstr "" +msgstr "Link for å tilbakestille passordet var ugyldig, muligens fordi det allerede er brukt. Be om en ny tilbakestilling." #: templates/account/password_reset_from_key.html:18 msgid "Change password" -msgstr "" +msgstr "Endre passord" #: templates/account/password_reset_from_key.html:22 msgid "Your password is now changed." -msgstr "" +msgstr "Passordet ditt er nå endret." #: templates/account/signup.html:13 #, python-format msgid "Already have an account? Then please sign in." -msgstr "" +msgstr "Har du allerede en konto? Vennligst logg inn." #: templates/account/signup.html:28 msgid "Use a SSO-provider for signup" -msgstr "" +msgstr "Bruk en SSO-leverandør for registrering" #: templates/account/signup_closed.html:5 #: templates/account/signup_closed.html:8 msgid "Sign Up Closed" -msgstr "" +msgstr "Registreringen er lukket" #: templates/account/signup_closed.html:10 msgid "Sign up is currently closed." -msgstr "" +msgstr "Registrering er for tiden stengt." #: templates/account/signup_closed.html:15 #: templates/socialaccount/authentication_error.html:19 #: templates/socialaccount/login.html:38 templates/socialaccount/signup.html:27 msgid "Return to login page" -msgstr "" +msgstr "Tilbake til innloggingsside" #: templates/admin_button.html:8 msgid "View in administration panel" -msgstr "" +msgstr "Vis i administrasjonspanel" #: templates/allauth_2fa/authenticate.html:5 msgid "Two-Factor Authentication" -msgstr "" +msgstr "Tofaktor-autentisering" #: templates/allauth_2fa/authenticate.html:13 msgid "Authenticate" -msgstr "" +msgstr "Autentisér" #: templates/allauth_2fa/backup_tokens.html:6 msgid "Two-Factor Authentication Backup Tokens" -msgstr "" +msgstr "Tofaktor-autentisering Backup-symboler" #: templates/allauth_2fa/backup_tokens.html:17 msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." -msgstr "" +msgstr "Backup-symboler er generert, men ikke avslørt her av sikkerhetshensyn. Trykk på knappen under for å generere nye." #: templates/allauth_2fa/backup_tokens.html:20 msgid "No backup tokens are available. Press the button below to generate some." -msgstr "" +msgstr "Ingen backup-symboler er tilgjengelig. Trykk på knappen under for å generere noen." #: templates/allauth_2fa/backup_tokens.html:28 msgid "Generate Tokens" -msgstr "" +msgstr "Generer Symboler" #: templates/allauth_2fa/remove.html:6 msgid "Disable Two-Factor Authentication" -msgstr "" +msgstr "Deaktiver Tofaktor-autentisering" #: templates/allauth_2fa/remove.html:9 msgid "Are you sure?" -msgstr "" +msgstr "Er du sikker?" #: templates/allauth_2fa/remove.html:17 msgid "Disable 2FA" -msgstr "" +msgstr "Deaktiver 2FA" #: templates/allauth_2fa/setup.html:6 msgid "Setup Two-Factor Authentication" -msgstr "" +msgstr "Sett opp to-faktor autentisering" #: templates/allauth_2fa/setup.html:10 msgid "Step 1" -msgstr "" +msgstr "Trinn 1" #: templates/allauth_2fa/setup.html:14 msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." -msgstr "" +msgstr "Skann QR-koden nedenfor med en symbolgenerator du velger (for eksempel Google Authenticator)." #: templates/allauth_2fa/setup.html:23 msgid "Step 2" -msgstr "" +msgstr "Trinn 2" #: templates/allauth_2fa/setup.html:27 msgid "Input a token generated by the app:" -msgstr "" +msgstr "Angi et symbol generert av appen:" #: templates/allauth_2fa/setup.html:37 msgid "Verify" -msgstr "" +msgstr "Bekreft" #: templates/attachment_button.html:4 templates/js/translated/attachment.js:70 msgid "Add Link" -msgstr "" +msgstr "Legg til lenke" #: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 msgid "Add Attachment" -msgstr "" +msgstr "Legg til vedlegg" #: templates/barcode_data.html:5 msgid "Barcode Identifier" @@ -9581,15 +9581,15 @@ msgstr "Alle valgte vedlegg vil bli slettet" #: templates/js/translated/attachment.js:129 msgid "Delete Attachments" -msgstr "" +msgstr "Slett vedlegg" #: templates/js/translated/attachment.js:205 msgid "Delete attachments" -msgstr "" +msgstr "Slett vedlegg" #: templates/js/translated/attachment.js:253 msgid "Attachment actions" -msgstr "" +msgstr "Vedleggshandlinger" #: templates/js/translated/attachment.js:275 msgid "No attachments found" @@ -9679,15 +9679,15 @@ msgstr "Skann lagervarens strekkode for å sjekke inn på denne plasseringen" #: templates/js/translated/barcode.js:598 #: templates/js/translated/barcode.js:795 msgid "Check In" -msgstr "" +msgstr "Sjekk inn" #: templates/js/translated/barcode.js:630 msgid "No barcode provided" -msgstr "" +msgstr "Ingen strekkode angitt" #: templates/js/translated/barcode.js:670 msgid "Stock Item already scanned" -msgstr "" +msgstr "Lagervaren er allerede skannet" #: templates/js/translated/barcode.js:674 msgid "Stock Item already in this location" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10272,16 +10272,16 @@ msgstr "" #: templates/js/translated/build.js:2513 #: templates/js/translated/sales_order.js:1906 msgid "Insufficient stock available" -msgstr "" +msgstr "Utilstrekkelig lagerbeholdning" #: templates/js/translated/build.js:2515 #: templates/js/translated/sales_order.js:1904 msgid "Sufficient stock available" -msgstr "" +msgstr "Tilstrekkelig lagerbeholdning" #: templates/js/translated/build.js:2562 msgid "Consumable Item" -msgstr "" +msgstr "Forbruksvare" #: templates/js/translated/build.js:2567 msgid "Tracked item" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10307,26 +10307,26 @@ msgstr "" #: templates/js/translated/company.js:97 msgid "Add Manufacturer" -msgstr "" +msgstr "Legg til produsent" #: templates/js/translated/company.js:110 #: templates/js/translated/company.js:212 msgid "Add Manufacturer Part" -msgstr "" +msgstr "Legg til produsentdel" #: templates/js/translated/company.js:131 msgid "Edit Manufacturer Part" -msgstr "" +msgstr "Rediger produsentdel" #: templates/js/translated/company.js:200 #: templates/js/translated/purchase_order.js:93 msgid "Add Supplier" -msgstr "" +msgstr "Legg til leverandør" #: templates/js/translated/company.js:242 #: templates/js/translated/purchase_order.js:349 msgid "Add Supplier Part" -msgstr "" +msgstr "Legg til leverandørdel" #: templates/js/translated/company.js:343 msgid "All selected supplier parts will be deleted" @@ -10334,7 +10334,7 @@ msgstr "Alle valgte leverandørdeler vil slettes" #: templates/js/translated/company.js:359 msgid "Delete Supplier Parts" -msgstr "" +msgstr "Slett Leverandørdeler" #: templates/js/translated/company.js:464 msgid "Add new Company" @@ -10342,11 +10342,11 @@ msgstr "" #: templates/js/translated/company.js:535 msgid "Parts Supplied" -msgstr "" +msgstr "Leverte deler" #: templates/js/translated/company.js:544 msgid "Parts Manufactured" -msgstr "" +msgstr "Produserte deler" #: templates/js/translated/company.js:559 msgid "No company information found" @@ -10354,98 +10354,98 @@ msgstr "" #: templates/js/translated/company.js:608 msgid "Create New Contact" -msgstr "" +msgstr "Legg til ny kontakt" #: templates/js/translated/company.js:624 #: templates/js/translated/company.js:747 msgid "Edit Contact" -msgstr "" +msgstr "Rediger kontakt" #: templates/js/translated/company.js:661 msgid "All selected contacts will be deleted" -msgstr "" +msgstr "Alle valgte kontakter vil bli slettet" #: templates/js/translated/company.js:667 #: templates/js/translated/company.js:731 msgid "Role" -msgstr "" +msgstr "Rolle" #: templates/js/translated/company.js:675 msgid "Delete Contacts" -msgstr "" +msgstr "Slett kontakter" #: templates/js/translated/company.js:706 msgid "No contacts found" -msgstr "" +msgstr "Ingen kontakter funnet" #: templates/js/translated/company.js:719 msgid "Phone Number" -msgstr "" +msgstr "Telefonnummer" #: templates/js/translated/company.js:725 msgid "Email Address" -msgstr "" +msgstr "E-postadresse" #: templates/js/translated/company.js:751 msgid "Delete Contact" -msgstr "" +msgstr "Slett kontakt" #: templates/js/translated/company.js:886 msgid "Create New Address" -msgstr "" +msgstr "Opprett ny adresse" #: templates/js/translated/company.js:901 #: templates/js/translated/company.js:1066 msgid "Edit Address" -msgstr "" +msgstr "Rediger adresse" #: templates/js/translated/company.js:936 msgid "All selected addresses will be deleted" -msgstr "" +msgstr "Alle valgte adresser vil bli slettet" #: templates/js/translated/company.js:950 msgid "Delete Addresses" -msgstr "" +msgstr "Slett adresser" #: templates/js/translated/company.js:977 msgid "No addresses found" -msgstr "" +msgstr "Ingen adresser funnet" #: templates/js/translated/company.js:1020 msgid "Postal city" -msgstr "" +msgstr "Poststed" #: templates/js/translated/company.js:1026 msgid "State/province" -msgstr "" +msgstr "Delstat/provins" #: templates/js/translated/company.js:1038 msgid "Courier notes" -msgstr "" +msgstr "Notater for bud" #: templates/js/translated/company.js:1044 msgid "Internal notes" -msgstr "" +msgstr "Interne notater" #: templates/js/translated/company.js:1070 msgid "Delete Address" -msgstr "" +msgstr "Slett adresse" #: templates/js/translated/company.js:1143 msgid "All selected manufacturer parts will be deleted" -msgstr "" +msgstr "Alle valgte produsentdeler vil bli slettet" #: templates/js/translated/company.js:1158 msgid "Delete Manufacturer Parts" -msgstr "" +msgstr "Slett produsentdeler" #: templates/js/translated/company.js:1192 msgid "All selected parameters will be deleted" -msgstr "" +msgstr "Alle valgte parametere vil bli slettet" #: templates/js/translated/company.js:1206 msgid "Delete Parameters" -msgstr "" +msgstr "Slett parametere" #: templates/js/translated/company.js:1222 #: templates/js/translated/company.js:1510 templates/js/translated/part.js:2209 @@ -10454,11 +10454,11 @@ msgstr "Bestill deler" #: templates/js/translated/company.js:1239 msgid "Delete manufacturer parts" -msgstr "" +msgstr "Slett produsentdeler" #: templates/js/translated/company.js:1271 msgid "Manufacturer part actions" -msgstr "" +msgstr "Handlinger for produsentdeler" #: templates/js/translated/company.js:1290 msgid "No manufacturer parts found" @@ -10662,17 +10662,17 @@ msgstr "NEI" #: templates/js/translated/helpers.js:93 msgid "True" -msgstr "" +msgstr "Sant" #: templates/js/translated/helpers.js:94 msgid "False" -msgstr "" +msgstr "Usant" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -10848,67 +10848,67 @@ msgstr "" #: templates/js/translated/part.js:94 msgid "Part Creation Options" -msgstr "" +msgstr "Alternativer for delopprettelse" #: templates/js/translated/part.js:98 msgid "Part Duplication Options" -msgstr "" +msgstr "Alternativer for delduplisering" #: templates/js/translated/part.js:121 msgid "Add Part Category" -msgstr "" +msgstr "Legg til kategori" #: templates/js/translated/part.js:293 msgid "Parent part category" -msgstr "" +msgstr "Overordnet del-kategori" #: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" -msgstr "" +msgstr "Ikon (valgfritt) - Utforsk alle tilgjengelige ikoner på" #: templates/js/translated/part.js:329 msgid "Create Part Category" -msgstr "" +msgstr "Opprett del-kategori" #: templates/js/translated/part.js:332 msgid "Create new category after this one" -msgstr "" +msgstr "Opprett ny kategori etter denne" #: templates/js/translated/part.js:333 msgid "Part category created" -msgstr "" +msgstr "Del-kategori opprettet" #: templates/js/translated/part.js:347 msgid "Edit Part Category" -msgstr "" +msgstr "Rediger del-kategori" #: templates/js/translated/part.js:360 msgid "Are you sure you want to delete this part category?" -msgstr "" +msgstr "Er du sikker på at du vil slette denne del-kategorien?" #: templates/js/translated/part.js:365 msgid "Move to parent category" -msgstr "" +msgstr "Flytt til overordnet kategori" #: templates/js/translated/part.js:374 msgid "Delete Part Category" -msgstr "" +msgstr "Slett del-kategori" #: templates/js/translated/part.js:378 msgid "Action for parts in this category" -msgstr "" +msgstr "Handling for deler i denne kategorien" #: templates/js/translated/part.js:383 msgid "Action for child categories" -msgstr "" +msgstr "Handling for underkategorier" #: templates/js/translated/part.js:407 msgid "Create Part" -msgstr "" +msgstr "Opprett Del" #: templates/js/translated/part.js:409 msgid "Create another part after this one" -msgstr "" +msgstr "Opprett enda en del etter denne" #: templates/js/translated/part.js:410 msgid "Part created successfully" @@ -11025,7 +11025,7 @@ msgstr "" #: templates/js/translated/part.js:870 msgid "Generate Stocktake Report" -msgstr "" +msgstr "Generer lagertellingsrapport" #: templates/js/translated/part.js:874 msgid "Stocktake report scheduled" @@ -11045,28 +11045,28 @@ msgstr "" #: templates/js/translated/part.js:1254 msgid "No variants found" -msgstr "" +msgstr "Ingen varianter funnet" #: templates/js/translated/part.js:1571 msgid "No part parameter templates found" -msgstr "" +msgstr "Ingen del-parametermaler funnet" #: templates/js/translated/part.js:1634 msgid "Edit Part Parameter Template" -msgstr "" +msgstr "Rediger del-parametermal" #: templates/js/translated/part.js:1646 msgid "Any parameters which reference this template will also be deleted" -msgstr "" +msgstr "Alle parametere som henviser til denne malen vil også slettes" #: templates/js/translated/part.js:1654 msgid "Delete Part Parameter Template" -msgstr "" +msgstr "Slett del-parametermal" #: templates/js/translated/part.js:1688 #: templates/js/translated/purchase_order.js:1633 msgid "No purchase orders found" -msgstr "" +msgstr "Ingen innkjøpsordrer funnet" #: templates/js/translated/part.js:1831 #: templates/js/translated/purchase_order.js:2131 @@ -11090,7 +11090,7 @@ msgstr "" #: templates/js/translated/part.js:2049 templates/js/translated/part.js:2439 msgid "No parts found" -msgstr "" +msgstr "Ingen deler funnet" #: templates/js/translated/part.js:2170 msgid "Set the part category for the selected parts" @@ -11106,61 +11106,61 @@ msgstr "Sett kategori" #: templates/js/translated/part.js:2253 msgid "parts" -msgstr "" +msgstr "deler" #: templates/js/translated/part.js:2349 msgid "No category" -msgstr "" +msgstr "Ingen kategori" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" -msgstr "" +msgstr "Vis som liste" #: templates/js/translated/part.js:2479 msgid "Display as grid" -msgstr "" +msgstr "Vis som rutenett" #: templates/js/translated/part.js:2577 msgid "No subcategories found" -msgstr "" +msgstr "Ingen underkategorier funnet" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" -msgstr "" +msgstr "Vis som tre" #: templates/js/translated/part.js:2693 msgid "Load Subcategories" -msgstr "" +msgstr "Inkluder underkategorier" #: templates/js/translated/part.js:2709 msgid "Subscribed category" -msgstr "" +msgstr "Abonnert kategori" #: templates/js/translated/part.js:2786 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" -msgstr "" +msgstr "Rediger testresultat" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" -msgstr "" +msgstr "Slett testresultat" #: templates/js/translated/part.js:2842 msgid "This test is defined for a parent part" -msgstr "" +msgstr "Denne testen er definert for en overordnet del" #: templates/js/translated/part.js:2858 msgid "Edit Test Result Template" -msgstr "" +msgstr "Rediger testresultatmal" #: templates/js/translated/part.js:2872 msgid "Delete Test Result Template" -msgstr "" +msgstr "Slett testresultatmal" #: templates/js/translated/part.js:2951 templates/js/translated/part.js:2952 msgid "No date specified" @@ -11322,7 +11322,7 @@ msgstr "" #: templates/js/translated/return_order.js:207 #: templates/js/translated/sales_order.js:497 msgid "Mark this order as complete?" -msgstr "" +msgstr "Merk ordren som fullført?" #: templates/js/translated/purchase_order.js:470 msgid "All line items have been received" @@ -11339,15 +11339,15 @@ msgstr "" #: templates/js/translated/purchase_order.js:499 msgid "Cancel Purchase Order" -msgstr "" +msgstr "Kanseller Innkjøpsordre" #: templates/js/translated/purchase_order.js:504 msgid "Are you sure you wish to cancel this purchase order?" -msgstr "" +msgstr "Er du sikker du vil kansellere innkjøpsordren?" #: templates/js/translated/purchase_order.js:510 msgid "This purchase order can not be cancelled" -msgstr "" +msgstr "Denne innkjøpsordren kan ikke kanselleres" #: templates/js/translated/purchase_order.js:531 #: templates/js/translated/return_order.js:161 @@ -11364,19 +11364,19 @@ msgstr "" #: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" -msgstr "" +msgstr "Antall å bestille" #: templates/js/translated/purchase_order.js:662 msgid "New supplier part" -msgstr "" +msgstr "Ny leverandørdel" #: templates/js/translated/purchase_order.js:680 msgid "New purchase order" -msgstr "" +msgstr "Ny innkjøpsordre" #: templates/js/translated/purchase_order.js:712 msgid "Add to purchase order" -msgstr "" +msgstr "Legg til innkjøpsordre" #: templates/js/translated/purchase_order.js:860 msgid "No matching supplier parts" @@ -11397,23 +11397,23 @@ msgstr "" #: templates/js/translated/purchase_order.js:1089 msgid "Received Quantity" -msgstr "" +msgstr "Mottatt antall" #: templates/js/translated/purchase_order.js:1100 msgid "Quantity to receive" -msgstr "" +msgstr "Antall å motta" #: templates/js/translated/purchase_order.js:1176 msgid "Stock Status" -msgstr "" +msgstr "Lagerstatus" #: templates/js/translated/purchase_order.js:1190 msgid "Add barcode" -msgstr "" +msgstr "Legg til strekkode" #: templates/js/translated/purchase_order.js:1191 msgid "Remove barcode" -msgstr "" +msgstr "Fjern strekkode" #: templates/js/translated/purchase_order.js:1194 msgid "Specify location" @@ -11425,11 +11425,11 @@ msgstr "" #: templates/js/translated/purchase_order.js:1213 msgid "Add serial numbers" -msgstr "" +msgstr "Legg til serienumre" #: templates/js/translated/purchase_order.js:1265 msgid "Serials" -msgstr "" +msgstr "Serienumre" #: templates/js/translated/purchase_order.js:1290 msgid "Order Code" @@ -11437,12 +11437,12 @@ msgstr "" #: templates/js/translated/purchase_order.js:1292 msgid "Quantity to Receive" -msgstr "" +msgstr "Antall å motta" #: templates/js/translated/purchase_order.js:1314 #: templates/js/translated/return_order.js:557 msgid "Confirm receipt of items" -msgstr "" +msgstr "Bekreft mottak av varer" #: templates/js/translated/purchase_order.js:1315 msgid "Receive Purchase Order Items" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "Lagervaren peker til en Del som er BOMen for denne lagervaren" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index 840d9ad2de..dff661560f 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:43\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -68,7 +68,7 @@ msgstr "Wprowadź dane" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Uwagi" @@ -288,7 +288,7 @@ msgstr "Komentarz pliku" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Użytkownik" @@ -331,7 +331,7 @@ msgstr "Błędny wybór" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Błędny wybór" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Nazwa" @@ -355,8 +355,8 @@ msgstr "Nazwa" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Nazwa" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Nazwa" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Opis" @@ -389,7 +389,7 @@ msgid "parent" msgstr "nadrzędny" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Ścieżka" @@ -751,7 +751,7 @@ msgstr "Podziel z pozycji nadrzędnej" msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Scalone przedmioty magazynowe" @@ -771,7 +771,7 @@ msgstr "Dane wyjściowe kolejności kompilacji ukończone" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Zużyte przez kolejność kompilacji" @@ -900,7 +900,7 @@ msgstr "Przydzielono" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Zlecenie Budowy" @@ -982,7 +982,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Komponent" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Kolejność kompilacji {build} została zakończona" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Ilość" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Lokalizacja" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Status" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Załączniki" @@ -1905,11 +1905,11 @@ msgstr "Załączniki" msgid "Build Notes" msgstr "Notatki tworzenia" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Szablon" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Wartość" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Opakowanie" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Klient" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Towary" @@ -4333,7 +4333,7 @@ msgstr "Etykieta" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Aktywne" @@ -4357,7 +4357,7 @@ msgstr "Wysokość [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Filtry" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Zlecenie zakupu" @@ -4421,7 +4421,7 @@ msgstr "Zlecenie zakupu" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Cena zakupu" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Wersja" @@ -5538,7 +5538,7 @@ msgstr "Kategorie części" msgid "Default location for parts in this category" msgstr "Domyślna lokalizacja dla komponentów w tej kategorii" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Data" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "Warianty" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Stan" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "Zainstalowane elementy" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Numer seryjny" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "Data ważności" @@ -7625,23 +7625,23 @@ msgstr "Data ważności" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "Wybierz właściciela" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Przelicz stan magazynowy" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "Usuń stan magazynowy" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Przenieś stan magazynowy" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "Nowa lokalizacja" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "Wybierz" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "Brak informacji o użytkowniku" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "Brak kategorii" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "Wyświetl jako listę" @@ -11125,7 +11125,7 @@ msgstr "Wyświetl jako siatkę" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "Wyświetl jako drzewo" @@ -11141,12 +11141,12 @@ msgstr "Obserwowana kategoria" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "Wybierz przedmioty magazynowe" @@ -11989,264 +11989,264 @@ msgstr "Wybierz przedmioty magazynowe" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "BRAK WYNIKÓW" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "Dodaj wynik testu" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "W produkcji" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "Scal stany magazynowe" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "Usuń stan magazynowy" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "Szczegóły" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "Lokalizacja już nie istnieje" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "Zamówienie zakupu już nie istnieje" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "Klient już nie istnieje" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "Element magazynowy już nie istnieje" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "Usunięto" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index 0a83fef3ad..a1b522ec79 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -68,7 +68,7 @@ msgstr "Insira uma Data" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Anotações" @@ -288,7 +288,7 @@ msgstr "Comentario sobre arquivo" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Usuario" @@ -331,7 +331,7 @@ msgstr "Escolha inválida" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Escolha inválida" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Nome" @@ -355,8 +355,8 @@ msgstr "Nome" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Nome" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,21 +375,21 @@ msgstr "Nome" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" -msgstr "Descricao" +msgstr "Descrição" #: InvenTree/models.py:656 msgid "Description (optional)" -msgstr "Descricao (opicional)" +msgstr "Descrição (opcional)" #: InvenTree/models.py:664 msgid "parent" msgstr "parent" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Caminho" @@ -751,7 +751,7 @@ msgstr "Separado do Item Paternal" msgid "Split child item" msgstr "Separar o Item filho" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Itens de estoque mesclados" @@ -771,7 +771,7 @@ msgstr "Criação do pedido de produção completado" msgid "Build order output rejected" msgstr "Saída do pedido de produção rejeitada" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Usado na ordem de produção" @@ -793,7 +793,7 @@ msgstr "Enviado ao cliente" #: InvenTree/status_codes.py:142 msgid "Returned from customer" -msgstr "Retornado ao cliente" +msgstr "Devolvido pelo cliente" #: InvenTree/status_codes.py:149 msgid "Production" @@ -900,7 +900,7 @@ msgstr "Alocado" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Ondem de Produção" @@ -982,7 +982,7 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Peça" @@ -1087,11 +1087,11 @@ msgstr "Data de conclusão" #: build/models.py:271 msgid "completed by" -msgstr "Concluído em" +msgstr "Concluído por" #: build/models.py:279 templates/js/translated/build.js:2126 msgid "Issued by" -msgstr "Emitido em" +msgstr "Emitido por" #: build/models.py:280 msgid "User who issued this build order" @@ -1150,43 +1150,43 @@ msgstr "Código do projeto" msgid "Project code for this build order" msgstr "Código do projeto para esta ordem de produção" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "O Pedido de produção {build} foi concluído!" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde à Ordem de Produção" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "Quantidade não pode ser maior do que a quantidade de saída" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "Objeto de produção" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "Quantidade necessária para a ordem de produção" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Item de produção deve especificar a saída, pois peças mestres estão marcadas como rastreáveis" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "Item estoque selecionado não coincide com linha da LDM" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Destino do Item do Estoque" @@ -1345,7 +1345,7 @@ msgstr "Alocar Números de Série Automaticamente" msgid "Automatically allocate required items with matching serial numbers" msgstr "Alocar automaticamente os itens necessários com os números de série correspondentes" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" @@ -1368,8 +1368,8 @@ msgstr "Uma lista de saídas de produção deve ser fornecida" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Local" @@ -1402,8 +1402,8 @@ msgstr "Local para saídas de produção concluídas" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Situação" @@ -1738,7 +1738,7 @@ msgstr "Saídas Concluídas" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Pedido de Venda" @@ -1795,8 +1795,8 @@ msgstr "Peças alocadas" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "Saídas de Produção concluídas" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Anexos" @@ -1905,11 +1905,11 @@ msgstr "Anexos" msgid "Build Notes" msgstr "Notas de produção" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "Alocação Concluída" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "Todas as linhas foram totalmente alocadas" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Modelo" @@ -3446,7 +3446,7 @@ msgstr "Coincidir campos" #: common/views.py:87 msgid "Match Items" -msgstr "Coincindir Itens" +msgstr "Coincidir Itens" #: common/views.py:420 msgid "Fields matching failed" @@ -3708,7 +3708,7 @@ msgstr "Nome do parâmetro" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Valor" @@ -3805,7 +3805,7 @@ msgstr "Taxa mínima (ex.: taxa de estoque)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Embalagem" @@ -3839,7 +3839,7 @@ msgstr "Pedir múltiplos" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "Excluir imagem" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Cliente" @@ -4189,7 +4189,7 @@ msgstr "Endereços" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Fornecedor da Peça" @@ -4271,7 +4271,7 @@ msgstr "QR Code da Peça do Fornecedor" msgid "Link Barcode to Supplier Part" msgstr "Vincular Código de Barras à Parte do Fornecedor" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "Atualizar disponibilidade de peças" @@ -4283,7 +4283,7 @@ msgstr "Atualizar disponibilidade de peças" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Itens de Estoque" @@ -4333,7 +4333,7 @@ msgstr "Etiqueta" msgid "Label template file" msgstr "Arquivo de modelo de etiqueta" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Habilitado" @@ -4357,7 +4357,7 @@ msgstr "Altura [mm]" msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Padrão de Nome de Arquivo" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Filtros" @@ -4412,7 +4412,7 @@ msgstr "Nenhum pedido de compra correspondente encontrado" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Pedido de Compra" @@ -4421,7 +4421,7 @@ msgstr "Pedido de Compra" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Devolver pedido" @@ -4626,7 +4626,7 @@ msgstr "Número de itens recebidos" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Preço de Compra" @@ -5358,12 +5358,12 @@ msgstr "Descrição da Peça" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisão" @@ -5538,7 +5538,7 @@ msgstr "Categorias de Peça" msgid "Default location for parts in this category" msgstr "Local padrão para peças desta categoria" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "Estoque total disponível no momento do balanço" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "Data" @@ -6134,7 +6134,7 @@ msgstr "Validado" #: part/models.py:3858 msgid "This BOM item has been validated" -msgstr "O item da LDM foi calidado" +msgstr "O item da LDM foi validado" #: part/models.py:3863 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 @@ -6592,7 +6592,7 @@ msgstr "Adicionar informações de balanço de estoque" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "Balanço" @@ -6821,7 +6821,7 @@ msgstr "Peça pode ser vendida a clientes" #: part/templates/part/part_base.html:147 msgid "Part is not active" -msgstr "Item bloqueado" +msgstr "Peça inativa" #: part/templates/part/part_base.html:148 #: templates/js/translated/company.js:1318 @@ -6958,7 +6958,7 @@ msgstr "Variantes" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Estoque" @@ -6991,7 +6991,7 @@ msgstr "Atualizar Preço da Peça" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "Última atualização" @@ -7370,91 +7370,91 @@ msgstr "Arquivo modelo '{template}' perdido ou não existe" msgid "Test report" msgstr "Relatório de teste" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Nome do modelo" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "Arquivo modelo de relatório" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "Descrição do modelo de relatório" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "Relatar número de revisão (auto-incrementos)" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "Padrão para gerar nomes de arquivo de relatórios" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "Modelo de relatório Habilitado" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Filtros de consulta de itens de estoque(lista de valores separados por vírgula)" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "Incluir testes instalados" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "Incluir resultados de testes para itens de estoque instalados dentro de item montado" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "Filtros de Produção" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta de produção (lista de valores separados por vírgula" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "Filtros de Peças" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta de peças (lista de valores separados por vírgula" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "Filtros de consultas de pedidos de compra" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "Filtros de consultas de pedidos de venda" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "Filtrar pesquisa de itens devolvidos" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "Recorte" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "Relatar arquivo de recorte" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "Descrição do arquivo de recorte" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" -msgstr "Ativos" +msgstr "Patrimônio" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "Reportar arquivo de ativos" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "Descrição do arquivo de ativos" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "Resultados do teste" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "Teste" @@ -7549,7 +7549,7 @@ msgstr "Itens instalados" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Série" @@ -7617,7 +7617,7 @@ msgstr "Excluir quando esgotado" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "Data de validade" @@ -7625,23 +7625,23 @@ msgstr "Data de validade" msgid "External Location" msgstr "Localização externa" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Números de série não podem ser fornecidos para uma parte não rastreável" @@ -7670,7 +7670,7 @@ msgstr "Selecionar Responsável" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos." -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "Externo" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "Notas de Item Estoque" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "Adicionar estoque" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "Remover estoque" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "Serializar estoque" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Transferir estoque" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "Disponibilizar para o cliente" @@ -8186,7 +8186,7 @@ msgstr "Nenhum fabricante definido" #: stock/templates/stock/item_base.html:252 msgid "You are not in the list of owners of this item. This stock item cannot be edited." -msgstr "Vc não está autorizado a editar esse item." +msgstr "Você não está autorizado a editar esse item." #: stock/templates/stock/item_base.html:253 #: stock/templates/stock/location.html:147 @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "Nenhum balanço feito" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index d8ce4a3430..00ba88cd0e 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: 2023-06-24 04:38+0000\n" +"POT-Creation-Date: 2023-06-26 07:13+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index adf07b9c11..d81e0ac946 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -23,23 +23,23 @@ msgstr "Конечная точка API не обнаружена" #: InvenTree/api.py:299 msgid "User does not have permission to view this model" -msgstr "" +msgstr "У пользователя недостаточно прав для просмотра этой модели!" #: InvenTree/conversion.py:73 msgid "No value provided" -msgstr "" +msgstr "Не указано название" #: InvenTree/conversion.py:95 msgid "Provided value is not a valid number" -msgstr "" +msgstr "Предоставленное значение не является допустимым числом" #: InvenTree/conversion.py:97 msgid "Provided value has an invalid unit" -msgstr "" +msgstr "Предоставленное значение имеет недопустимую единицу" #: InvenTree/conversion.py:99 msgid "Provided value could not be converted to the specified unit" -msgstr "" +msgstr "Предоставленное значение не может быть преобразовано в указанную единицу измерения" #: InvenTree/exceptions.py:90 msgid "Error details can be found in the admin panel" @@ -68,14 +68,14 @@ msgstr "Введите дату" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Заметки" #: InvenTree/format.py:152 #, python-brace-format msgid "Value '{name}' does not appear in pattern format" -msgstr "" +msgstr "Значение '{name}' отсутствует в формате шаблона" #: InvenTree/format.py:162 msgid "Provided value does not match required pattern: " @@ -123,7 +123,7 @@ msgstr "Указанный домен электронной почты не у #: InvenTree/forms.py:345 msgid "Registration is disabled." -msgstr "" +msgstr "Регистрация отключена." #: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" @@ -135,22 +135,22 @@ msgstr "Пустая строка серийного номера" #: InvenTree/helpers.py:500 msgid "Duplicate serial" -msgstr "" +msgstr "Повторяющийся серийный номер" #: InvenTree/helpers.py:533 InvenTree/helpers.py:568 #, python-brace-format msgid "Invalid group range: {g}" -msgstr "" +msgstr "Некорректный идентификатор группы {g}" #: InvenTree/helpers.py:562 #, python-brace-format msgid "Group range {g} exceeds allowed quantity ({q})" -msgstr "" +msgstr "Диапазон групп {g} превышает допустимое количество ({q})" #: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 #, python-brace-format msgid "Invalid group sequence: {g}" -msgstr "" +msgstr "Неверная последовательность групп: {g}" #: InvenTree/helpers.py:618 msgid "No serial numbers found" @@ -159,11 +159,11 @@ msgstr "Серийных номеров не найдено" #: InvenTree/helpers.py:621 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" -msgstr "" +msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})" #: InvenTree/helpers.py:751 msgid "Remove HTML tags from this value" -msgstr "" +msgstr "Удалить HTML теги из этого значения" #: InvenTree/helpers_model.py:133 msgid "Connection error" @@ -171,7 +171,7 @@ msgstr "Ошибка соединения" #: InvenTree/helpers_model.py:137 InvenTree/helpers_model.py:142 msgid "Server responded with invalid status code" -msgstr "" +msgstr "Сервер ответил неверным кодом статуса" #: InvenTree/helpers_model.py:139 msgid "Exception occurred" @@ -179,7 +179,7 @@ msgstr "Произошло исключение" #: InvenTree/helpers_model.py:147 msgid "Server responded with invalid Content-Length value" -msgstr "" +msgstr "Сервер ответил неверным значением Контент-Длина" #: InvenTree/helpers_model.py:150 msgid "Image size is too large" @@ -187,51 +187,51 @@ msgstr "Изображение слишком большое" #: InvenTree/helpers_model.py:162 msgid "Image download exceeded maximum size" -msgstr "" +msgstr "Загрузка изображения превышен максимальный размер" #: InvenTree/helpers_model.py:167 msgid "Remote server returned empty response" -msgstr "" +msgstr "Удаленный сервер вернул пустой ответ" #: InvenTree/helpers_model.py:175 msgid "Supplied URL is not a valid image file" -msgstr "" +msgstr "Предоставленный URL не является допустимым файлом изображения" #: InvenTree/models.py:82 msgid "Metadata must be a python dict object" -msgstr "" +msgstr "Метаданные должны быть объектом python dict" #: InvenTree/models.py:86 msgid "Plugin Metadata" -msgstr "" +msgstr "Метаданные плагина" #: InvenTree/models.py:87 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "Поле метаданных JSON для использования внешними плагинами" #: InvenTree/models.py:320 msgid "Improperly formatted pattern" -msgstr "" +msgstr "Неправильно отформатированный шаблон" #: InvenTree/models.py:327 msgid "Unknown format key specified" -msgstr "" +msgstr "Указан неизвестный ключ формата" #: InvenTree/models.py:333 msgid "Missing required format key" -msgstr "" +msgstr "Отсутствует требуемый ключ формата" #: InvenTree/models.py:345 msgid "Reference field cannot be empty" -msgstr "" +msgstr "Ссылочный идентификатор не может быть пустым" #: InvenTree/models.py:352 msgid "Reference must match required pattern" -msgstr "" +msgstr "Ссылка должна соответствовать шаблону {pattern}" #: InvenTree/models.py:383 msgid "Reference number is too large" -msgstr "" +msgstr "Номер ссылки слишком большой" #: InvenTree/models.py:465 msgid "Missing file" @@ -288,7 +288,7 @@ msgstr "Комментарий к файлу" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Пользователь" @@ -323,7 +323,7 @@ msgstr "Ошибка переименования файла" #: InvenTree/models.py:604 msgid "Duplicate names cannot exist under the same parent" -msgstr "" +msgstr "Повторяющиеся имена не могут существовать под одним и тем же родителем" #: InvenTree/models.py:623 msgid "Invalid choice" @@ -331,7 +331,7 @@ msgstr "Неверный выбор" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Неверный выбор" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Название" @@ -355,8 +355,8 @@ msgstr "Название" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Название" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Название" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Описание" @@ -389,41 +389,41 @@ msgid "parent" msgstr "родитель" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Путь" #: InvenTree/models.py:767 msgid "Markdown notes (optional)" -msgstr "" +msgstr "Описание обновления (необязательное)" #: InvenTree/models.py:794 msgid "Barcode Data" -msgstr "" +msgstr "Данные штрих-кода" #: InvenTree/models.py:795 msgid "Third party barcode data" -msgstr "" +msgstr "Данные стороннего штрих-кода" #: InvenTree/models.py:800 msgid "Barcode Hash" -msgstr "" +msgstr "Хэш штрих-кода" #: InvenTree/models.py:801 msgid "Unique hash of barcode data" -msgstr "" +msgstr "Уникальный хэш данных штрих-кода" #: InvenTree/models.py:846 msgid "Existing barcode found" -msgstr "" +msgstr "Обнаружен существующий штрих-код" #: InvenTree/models.py:900 msgid "Server Error" -msgstr "" +msgstr "Ошибка сервера" #: InvenTree/models.py:901 msgid "An error has been logged by the server." -msgstr "" +msgstr "Сервер зарегистрировал ошибку." #: InvenTree/serializers.py:60 part/models.py:3944 msgid "Must be a valid number" @@ -438,7 +438,7 @@ msgstr "Валюта" #: InvenTree/serializers.py:93 msgid "Select currency from available options" -msgstr "" +msgstr "Выберите валюту из доступных вариантов" #: InvenTree/serializers.py:364 msgid "Filename" @@ -478,12 +478,12 @@ msgstr "Строки данных в файле не найдены" #: InvenTree/serializers.py:601 msgid "No data columns supplied" -msgstr "" +msgstr "Столбцы данных не предоставлены" #: InvenTree/serializers.py:678 #, python-brace-format msgid "Missing required column: '{name}'" -msgstr "" +msgstr "Отсутствует обязательный столбец: '{name}'" #: InvenTree/serializers.py:687 #, python-brace-format @@ -497,11 +497,11 @@ msgstr "Ссылка" #: InvenTree/serializers.py:714 msgid "URL of remote image file" -msgstr "" +msgstr "ССЫЛКА файла изображения на удаленном сервере" #: InvenTree/serializers.py:728 msgid "Downloading images from remote URL is not enabled" -msgstr "" +msgstr "Загрузка изображений с удаленного URL-адреса не включена" #: InvenTree/settings.py:741 msgid "Czech" @@ -537,7 +537,7 @@ msgstr "Фарси / Персидский" #: InvenTree/settings.py:749 msgid "Finnish" -msgstr "" +msgstr "Финский" #: InvenTree/settings.py:750 msgid "French" @@ -658,7 +658,7 @@ msgstr "Возвращено" #: InvenTree/status_codes.py:41 InvenTree/status_codes.py:170 msgid "In Progress" -msgstr "" +msgstr "Выполняется" #: InvenTree/status_codes.py:42 order/models.py:1345 #: templates/js/translated/sales_order.js:1521 @@ -689,7 +689,7 @@ msgstr "Отклоненный" #: InvenTree/status_codes.py:72 msgid "Quarantined" -msgstr "" +msgstr "Карантин" #: InvenTree/status_codes.py:91 msgid "Legacy stock tracking entry" @@ -725,7 +725,7 @@ msgstr "Расположение изменено" #: InvenTree/status_codes.py:106 msgid "Stock updated" -msgstr "" +msgstr "Запас обновлен" #: InvenTree/status_codes.py:109 msgid "Installed into assembly" @@ -751,13 +751,13 @@ msgstr "Отделить от родительского элемента" msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Объединенные позиции на складе" #: InvenTree/status_codes.py:123 msgid "Converted to variant" -msgstr "" +msgstr "Преобразовать в разновидность" #: InvenTree/status_codes.py:126 msgid "Build order output created" @@ -769,23 +769,23 @@ msgstr "Вывод заказа сборки завершён" #: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "" +msgstr "Выходные данные заказа на сборку отклонены" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" -msgstr "" +msgstr "Потребляется по порядку сборки" #: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" -msgstr "" +msgstr "Отгружено по заказу на продажу" #: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" -msgstr "" +msgstr "Получено по заказу на поставку" #: InvenTree/status_codes.py:138 msgid "Returned against Return Order" -msgstr "" +msgstr "Возвращено против заказа на возврат" #: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:327 msgid "Sent to customer" @@ -801,11 +801,11 @@ msgstr "Продукция" #: InvenTree/status_codes.py:191 msgid "Return" -msgstr "" +msgstr "Возврат" #: InvenTree/status_codes.py:194 msgid "Repair" -msgstr "" +msgstr "Починить" #: InvenTree/status_codes.py:197 msgid "Replace" @@ -817,11 +817,11 @@ msgstr "Возврат" #: InvenTree/status_codes.py:203 msgid "Reject" -msgstr "" +msgstr "Отклонить" #: InvenTree/validators.py:32 InvenTree/validators.py:34 msgid "Invalid physical unit" -msgstr "" +msgstr "Неверная физическая единица" #: InvenTree/validators.py:40 msgid "Not a valid currency code" @@ -853,7 +853,7 @@ msgstr "Пароли должны совпадать" #: InvenTree/views.py:452 msgid "Wrong password provided" -msgstr "" +msgstr "Указан неверный пароль" #: InvenTree/views.py:653 templates/navbar.html:157 msgid "System Information" @@ -861,18 +861,18 @@ msgstr "Информация о системе" #: InvenTree/views.py:660 templates/navbar.html:168 msgid "About InvenTree" -msgstr "" +msgstr "О программе InvenTree" #: build/api.py:242 msgid "Build must be cancelled before it can be deleted" -msgstr "" +msgstr "Сборка должна быть отменена перед удалением" #: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 #: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" -msgstr "" +msgstr "Расходники" #: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 @@ -881,26 +881,26 @@ msgstr "" #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 msgid "Optional" -msgstr "" +msgstr "Необязательно" #: build/api.py:288 templates/js/translated/table_filters.js:360 #: templates/js/translated/table_filters.js:514 msgid "Tracked" -msgstr "" +msgstr "Отслеживается" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 #: templates/js/translated/build.js:2545 #: templates/js/translated/sales_order.js:1918 #: templates/js/translated/table_filters.js:506 msgid "Allocated" -msgstr "" +msgstr "Выделено" #: build/models.py:73 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:27 #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Порядок сборки" @@ -982,7 +982,7 @@ msgstr "" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Детали" @@ -1113,7 +1113,7 @@ msgstr "Ответственный" #: build/models.py:289 msgid "User or group responsible for this build order" -msgstr "" +msgstr "Пользователь, ответственный за сборку этого заказа" #: build/models.py:294 build/templates/build/detail.html:108 #: company/templates/company/manufacturer_part.html:107 @@ -1129,7 +1129,7 @@ msgstr "Внешняя ссылка" #: build/models.py:299 msgid "Build Priority" -msgstr "" +msgstr "Приоритет сборки" #: build/models.py:302 msgid "Priority of this build order" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Вывод сборки не указан" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Вывод сборки уже завершен" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Вывод сборки не совпадает с порядком сборки" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" -msgstr "" +msgstr "Построить объект" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Количество" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" -msgstr "" +msgstr "Выделенное количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Предмет на складе перераспределен" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Выделенное количество должно быть больше нуля" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,30 +1274,30 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Предметы на складе" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Установить в" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" #: build/serializers.py:156 build/serializers.py:828 #: templates/js/translated/build.js:1295 msgid "Build Output" -msgstr "" +msgstr "Вывод результата сборки" #: build/serializers.py:168 msgid "Build output does not match the parent build" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Расположение" @@ -1379,11 +1379,11 @@ msgstr "" #: build/serializers.py:430 msgid "Discard Allocations" -msgstr "" +msgstr "Отклонить распределения" #: build/serializers.py:431 msgid "Discard any stock allocations for scrapped outputs" -msgstr "" +msgstr "Отменить любые распределения запасов для отбракованных выходов" #: build/serializers.py:436 msgid "Reason for scrapping build output(s)" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Статус" @@ -1433,7 +1433,7 @@ msgstr "" #: build/serializers.py:614 msgid "Not permitted" -msgstr "" +msgstr "Нет разрешения" #: build/serializers.py:615 msgid "Accept as consumed by this build order" @@ -1445,15 +1445,15 @@ msgstr "" #: build/serializers.py:639 msgid "Overallocated Stock" -msgstr "" +msgstr "Перераспределенные запасы" #: build/serializers.py:641 msgid "How do you want to handle extra stock items assigned to the build order" -msgstr "" +msgstr "Как вы хотите обработать дополнительные товары, назначенные для заказа на сборку" #: build/serializers.py:651 msgid "Some stock items have been overallocated" -msgstr "" +msgstr "Некоторые товары на складе перераспределены" #: build/serializers.py:656 msgid "Accept Unallocated" @@ -1534,7 +1534,7 @@ msgstr "" #: build/serializers.py:955 msgid "Exclude Location" -msgstr "" +msgstr "Исключить местоположение" #: build/serializers.py:956 msgid "Exclude stock items from this selected location" @@ -1550,7 +1550,7 @@ msgstr "" #: build/serializers.py:967 msgid "Substitute Stock" -msgstr "" +msgstr "Заменить запасы" #: build/serializers.py:968 msgid "Allow allocation of substitute parts" @@ -1558,7 +1558,7 @@ msgstr "" #: build/serializers.py:973 msgid "Optional Items" -msgstr "" +msgstr "Необязательные элементы" #: build/serializers.py:974 msgid "Allocate optional BOM items to build order" @@ -1570,7 +1570,7 @@ msgstr "Для заказа сборки необходим остаток" #: build/tasks.py:119 msgid "Overdue Build Order" -msgstr "" +msgstr "Просроченный заказ сборки" #: build/tasks.py:124 #, python-brace-format @@ -1579,7 +1579,7 @@ msgstr "" #: build/templates/build/build_base.html:18 msgid "Part thumbnail" -msgstr "" +msgstr "Миниатюра детали" #: build/templates/build/build_base.html:39 #: company/templates/company/supplier_part.html:36 @@ -1602,7 +1602,7 @@ msgstr "Действия со штрих-кодом" #: stock/templates/stock/item_base.html:45 #: stock/templates/stock/location.html:56 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "" +msgstr "Показать QR-код" #: build/templates/build/build_base.html:46 #: company/templates/company/supplier_part.html:42 @@ -1615,7 +1615,7 @@ msgstr "" #: templates/js/translated/barcode.js:479 #: templates/js/translated/barcode.js:484 msgid "Unlink Barcode" -msgstr "" +msgstr "Отвязать штрих-код" #: build/templates/build/build_base.html:48 #: company/templates/company/supplier_part.html:44 @@ -1626,7 +1626,7 @@ msgstr "" #: stock/templates/stock/item_base.html:50 #: stock/templates/stock/location.html:60 msgid "Link Barcode" -msgstr "" +msgstr "Привязать штрих-код" #: build/templates/build/build_base.html:57 #: order/templates/order/order_base.html:46 @@ -1653,7 +1653,7 @@ msgstr "Отменить сборку" #: build/templates/build/build_base.html:77 msgid "Duplicate Build" -msgstr "" +msgstr "Дублировать сборку" #: build/templates/build/build_base.html:80 msgid "Delete Build" @@ -1670,11 +1670,11 @@ msgstr "Описание сборки" #: build/templates/build/build_base.html:118 msgid "No build outputs have been created for this build order" -msgstr "" +msgstr "Нет результатов сборки для этого заказа сборки" #: build/templates/build/build_base.html:125 msgid "Build Order is ready to mark as completed" -msgstr "" +msgstr "Заказ на сборку готов к отметке как выполненный" #: build/templates/build/build_base.html:130 msgid "Build Order cannot be completed as outstanding outputs remain" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1751,7 +1751,7 @@ msgstr "Выдано" #: build/templates/build/build_base.html:212 #: build/templates/build/detail.html:94 templates/js/translated/build.js:2075 msgid "Priority" -msgstr "" +msgstr "Приоритет" #: build/templates/build/build_base.html:274 msgid "Delete Build Order" @@ -1759,11 +1759,11 @@ msgstr "Удалить заказ на сборку" #: build/templates/build/build_base.html:284 msgid "Build Order QR Code" -msgstr "" +msgstr "Создать QR-код заказа" #: build/templates/build/build_base.html:296 msgid "Link Barcode to Build Order" -msgstr "" +msgstr "Привязать штрих-код для заказа сборки" #: build/templates/build/detail.html:15 msgid "Build Details" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Приложения" @@ -1905,11 +1905,11 @@ msgstr "Приложения" msgid "Build Notes" msgstr "Заметки сборки" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -1965,7 +1965,7 @@ msgstr "Выберите {name} файл для загрузки" #: common/models.py:68 msgid "Updated" -msgstr "" +msgstr "Обновлено" #: common/models.py:69 msgid "Timestamp of last update" @@ -2034,7 +2034,7 @@ msgstr "" #: common/models.py:943 msgid "Use instance name" -msgstr "" +msgstr "Название инстанса" #: common/models.py:944 msgid "Use the instance name in the title-bar" @@ -2082,7 +2082,7 @@ msgstr "" #: common/models.py:986 msgid "Download Size Limit" -msgstr "" +msgstr "Ограничение размера загрузки" #: common/models.py:987 msgid "Maximum allowable download size for remote image" @@ -2106,7 +2106,7 @@ msgstr "" #: common/models.py:1011 msgid "Tree Depth" -msgstr "" +msgstr "Глубина дерева" #: common/models.py:1012 msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." @@ -2114,7 +2114,7 @@ msgstr "" #: common/models.py:1021 msgid "Update Check Interval" -msgstr "" +msgstr "Интервал проверки обновлений" #: common/models.py:1022 msgid "How often to check for updates (set to zero to disable)" @@ -2124,11 +2124,11 @@ msgstr "" #: common/models.py:1064 common/models.py:1075 common/models.py:1299 #: common/models.py:1323 common/models.py:1446 common/models.py:1695 msgid "days" -msgstr "" +msgstr "дней" #: common/models.py:1032 msgid "Automatic Backup" -msgstr "" +msgstr "Автоматическое резервное копирование" #: common/models.py:1033 msgid "Enable automatic backup of database and media files" @@ -2136,7 +2136,7 @@ msgstr "" #: common/models.py:1039 msgid "Auto Backup Interval" -msgstr "" +msgstr "Интервал автосохранения" #: common/models.py:1040 msgid "Specify number of days between automated backup events" @@ -2168,15 +2168,15 @@ msgstr "" #: common/models.py:1083 templates/InvenTree/settings/sidebar.html:31 msgid "Barcode Support" -msgstr "" +msgstr "Поддержка штрих-кодов" #: common/models.py:1084 msgid "Enable barcode scanner support" -msgstr "" +msgstr "Включить поддержку сканера штрих-кодов" #: common/models.py:1090 msgid "Barcode Input Delay" -msgstr "" +msgstr "Задержка сканирования штрих-кода" #: common/models.py:1091 msgid "Barcode input processing delay time" @@ -2184,7 +2184,7 @@ msgstr "" #: common/models.py:1101 msgid "Barcode Webcam Support" -msgstr "" +msgstr "Поддержка веб-камер штрих-кодов" #: common/models.py:1102 msgid "Allow barcode scanning via webcam in browser" @@ -2192,7 +2192,7 @@ msgstr "" #: common/models.py:1108 msgid "Part Revisions" -msgstr "" +msgstr "Ревизия деталей" #: common/models.py:1109 msgid "Enable revision field for Part" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Шаблон" @@ -2286,11 +2286,11 @@ msgstr "" #: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" -msgstr "" +msgstr "Можно купить" #: common/models.py:1184 msgid "Parts are purchaseable by default" -msgstr "" +msgstr "По умолчанию детали являются отслеживаемыми" #: common/models.py:1190 part/admin.py:54 part/models.py:1022 #: templates/js/translated/table_filters.js:690 @@ -2317,7 +2317,7 @@ msgstr "По умолчанию детали являются отслежива #: templates/js/translated/table_filters.js:119 #: templates/js/translated/table_filters.js:710 msgid "Virtual" -msgstr "" +msgstr "Виртуальная" #: common/models.py:1205 msgid "Parts are virtual by default" @@ -2349,7 +2349,7 @@ msgstr "" #: common/models.py:1232 templates/js/translated/part.js:107 msgid "Initial Supplier Data" -msgstr "" +msgstr "Исходные данные о поставщике" #: common/models.py:1233 msgid "Allow creation of initial supplier data when adding a new part" @@ -3213,7 +3213,7 @@ msgstr "" #: common/models.py:2074 part/templates/part/detail.html:41 msgid "Part Scheduling" -msgstr "" +msgstr "Планирование деталей" #: common/models.py:2075 msgid "Display part scheduling information" @@ -3221,7 +3221,7 @@ msgstr "" #: common/models.py:2081 part/templates/part/detail.html:62 msgid "Part Stocktake" -msgstr "" +msgstr "Запасы деталей" #: common/models.py:2082 msgid "Display part stocktake information (if stocktake functionality is enabled)" @@ -3294,7 +3294,7 @@ msgstr "" #: templates/js/translated/table_filters.js:456 #: templates/js/translated/table_filters.js:651 msgid "Active" -msgstr "" +msgstr "Активный" #: common/models.py:2347 msgid "Is this webhook active" @@ -3442,7 +3442,7 @@ msgstr "Загрузить файл" #: part/templates/part/import_wizard/match_fields.html:52 part/views.py:109 #: templates/patterns/wizard/match_fields.html:51 msgid "Match Fields" -msgstr "" +msgstr "Поля Соответствия" #: common/views.py:87 msgid "Match Items" @@ -3708,7 +3708,7 @@ msgstr "Наименование параметра" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Значение" @@ -3795,7 +3795,7 @@ msgstr "Заметка" #: company/models.py:749 part/models.py:1924 msgid "base cost" -msgstr "" +msgstr "базовая стоимость" #: company/models.py:749 part/models.py:1924 msgid "Minimum charge (e.g. stocking fee)" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Упаковка" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Покупатель" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Деталь поставщика" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Детали на складе" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "Высота [мм]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Фильтры" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Заказ на закупку" @@ -4421,7 +4421,7 @@ msgstr "Заказ на закупку" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4467,7 +4467,7 @@ msgstr "" #: order/models.py:261 msgid "User or group responsible for this order" -msgstr "" +msgstr "Пользователь или группа, ответственная за этот заказ" #: order/models.py:271 msgid "Point of contact for this order" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Закупочная цена" @@ -5354,16 +5354,16 @@ msgstr "Наименование детали" #: part/admin.py:35 part/tasks.py:290 msgid "Part Description" -msgstr "" +msgstr "Описание детали" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Версия" @@ -5379,7 +5379,7 @@ msgstr "Код категории" #: part/admin.py:43 part/admin.py:193 part/tasks.py:292 msgid "Category Name" -msgstr "" +msgstr "Название категории" #: part/admin.py:44 part/admin.py:197 msgid "Default Location ID" @@ -5532,21 +5532,21 @@ msgstr "Категория детали" #: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 #: users/models.py:37 msgid "Part Categories" -msgstr "" +msgstr "Категория детали" #: part/models.py:129 msgid "Default location for parts in this category" msgstr "Место хранения по умолчанию для деталей этой категории" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" -msgstr "" +msgstr "Структура" #: part/models.py:136 msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." -msgstr "" +msgstr "Детали не могут быть непосредственно отнесены к структурной категории, но могут быть отнесены к дочерним категориям." #: part/models.py:140 msgid "Default keywords" @@ -5558,11 +5558,11 @@ msgstr "Ключевые слова по умолчанию для детале #: part/models.py:145 stock/models.py:113 msgid "Icon" -msgstr "" +msgstr "Иконка" #: part/models.py:146 stock/models.py:114 msgid "Icon (optional)" -msgstr "" +msgstr "Иконка (необязательно)" #: part/models.py:165 msgid "You cannot make this part category structural because some parts are already assigned to it!" @@ -5616,7 +5616,7 @@ msgstr "Эта деталь является разновидностью дру #: part/models.py:874 msgid "Part description (optional)" -msgstr "" +msgstr "Описание детали (необязательно)" #: part/models.py:880 msgid "Part keywords to improve visibility in search results" @@ -5657,11 +5657,11 @@ msgstr "" #: part/models.py:978 msgid "Default Expiry" -msgstr "" +msgstr "Срок действия по умолчанию" #: part/models.py:979 msgid "Expiry time (in days) for stock items of this part" -msgstr "" +msgstr "Срок годности (в днях) для товаров на складе этой позиции" #: part/models.py:985 msgid "Minimum allowed stock level" @@ -5669,7 +5669,7 @@ msgstr "Минимально допустимый складской запас" #: part/models.py:992 msgid "Units of measure for this part" -msgstr "" +msgstr "Единицы измерения этой детали" #: part/models.py:1001 msgid "Can this part be built from other parts?" @@ -5721,7 +5721,7 @@ msgstr "" #: part/models.py:1046 msgid "User responsible for this part" -msgstr "" +msgstr "Пользователь, ответственный за эту деталь" #: part/models.py:1050 part/templates/part/part_base.html:341 #: stock/templates/stock/item_base.html:447 @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -5935,7 +5935,7 @@ msgstr "" #: part/models.py:3275 msgid "Test templates can only be created for trackable parts" -msgstr "" +msgstr "Тестовые шаблоны могут быть созданы только для отслеживаемых деталей" #: part/models.py:3292 msgid "Test with this name already exists for this part" @@ -5943,7 +5943,7 @@ msgstr "" #: part/models.py:3312 templates/js/translated/part.js:2800 msgid "Test Name" -msgstr "" +msgstr "Название теста" #: part/models.py:3313 msgid "Enter a name for the test" @@ -6210,7 +6210,7 @@ msgstr "" #: part/serializers.py:321 msgid "Select category" -msgstr "" +msgstr "Выберите категорию" #: part/serializers.py:352 msgid "Original Part" @@ -6262,15 +6262,15 @@ msgstr "" #: part/serializers.py:393 msgid "Select supplier (or leave blank to skip)" -msgstr "" +msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" #: part/serializers.py:404 msgid "Select manufacturer (or leave blank to skip)" -msgstr "" +msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" #: part/serializers.py:410 msgid "Manufacturer part number" -msgstr "" +msgstr "Код производителя" #: part/serializers.py:417 msgid "Selected company is not a valid supplier" @@ -6319,7 +6319,7 @@ msgstr "Копировать параметры категории" #: part/serializers.py:699 msgid "Copy parameter templates from selected part category" -msgstr "" +msgstr "Копировать шаблоны параметров из выбранной категории деталей" #: part/serializers.py:904 msgid "Limit stocktake report to a particular part, and any variant parts" @@ -6427,7 +6427,7 @@ msgstr "" #: part/serializers.py:1472 msgid "Invalid quantity" -msgstr "" +msgstr "Некорректное количество" #: part/serializers.py:1493 msgid "At least one BOM item is required" @@ -6484,7 +6484,7 @@ msgstr "" #: part/templates/part/category.html:34 msgid "Perform stocktake for this part category" -msgstr "" +msgstr "Выполнить инвентаризацию для этой части категории" #: part/templates/part/category.html:40 part/templates/part/category.html:44 msgid "You are subscribed to notifications for this category" @@ -6516,7 +6516,7 @@ msgstr "Удалить категорию" #: part/templates/part/category.html:101 msgid "Top level part category" -msgstr "" +msgstr "Категория детали верхнего уровня" #: part/templates/part/category.html:121 part/templates/part/category.html:206 #: part/templates/part/category_sidebar.html:7 @@ -6592,17 +6592,17 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" #: part/templates/part/detail.html:83 msgid "Part Test Templates" -msgstr "" +msgstr "Тестовые шаблоны детали" #: part/templates/part/detail.html:88 msgid "Add Test Template" -msgstr "" +msgstr "Добавить тестовый шаблон" #: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 msgid "Sales Order Allocations" @@ -6700,7 +6700,7 @@ msgstr "" #: part/templates/part/detail.html:747 msgid "Add Test Result Template" -msgstr "" +msgstr "Добавить шаблон результата теста" #: part/templates/part/import_wizard/ajax_part_upload.html:29 #: part/templates/part/import_wizard/part_upload.html:14 @@ -6867,7 +6867,7 @@ msgstr "" #: part/templates/part/part_base.html:354 msgid "Latest Serial Number" -msgstr "" +msgstr "Последний Серийный Номер" #: part/templates/part/part_base.html:358 #: stock/templates/stock/item_base.html:323 @@ -6958,7 +6958,7 @@ msgstr "Разновидности" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Склад" @@ -6973,7 +6973,7 @@ msgstr "" #: part/templates/part/part_sidebar.html:54 msgid "Test Templates" -msgstr "" +msgstr "Протестировать шаблон" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "Файл шаблона отчёта" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7510,16 +7510,16 @@ msgstr "Серийный номер" #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" -msgstr "" +msgstr "Тестовый отчет по единице хранения на складе" #: report/templates/report/inventree_test_report_base.html:97 msgid "Test Results" -msgstr "" +msgstr "Результаты проверки" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" -msgstr "" +msgstr "Проверка" #: report/templates/report/inventree_test_report_base.html:103 #: stock/models.py:2249 @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" -msgstr "" +msgstr "Необходимо указать количество" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -7750,7 +7750,7 @@ msgstr "Код партии для этой единицы хранения" #: stock/models.py:746 msgid "Stock Quantity" -msgstr "" +msgstr "Количество на складе" #: stock/models.py:753 msgid "Source Build" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "Дочерние единицы хранения" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "Эта единица хранения не имеет дочерних элементов" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "" +msgstr "Данные испытаний" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" -msgstr "" +msgstr "Отчет тестирования" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "Заметки о единице хранения" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "Установленные единицы хранения" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "Установить единицу хранения" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8357,7 +8357,7 @@ msgstr "Удалить место хранения" #: stock/templates/stock/location.html:136 msgid "Top level stock location" -msgstr "" +msgstr "Склад верхнего уровня" #: stock/templates/stock/location.html:142 msgid "Location Owner" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "Новое место хранения" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -10864,7 +10864,7 @@ msgstr "Родительская категория" #: templates/js/translated/part.js:309 templates/js/translated/stock.js:146 msgid "Icon (optional) - Explore all available icons on" -msgstr "" +msgstr "Значок (необязательно) — просмотрите все доступные значки на" #: templates/js/translated/part.js:329 msgid "Create Part Category" @@ -10872,7 +10872,7 @@ msgstr "Создать категорию деталей" #: templates/js/translated/part.js:332 msgid "Create new category after this one" -msgstr "" +msgstr "Создать новую категорию после этой" #: templates/js/translated/part.js:333 msgid "Part category created" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "Нет категории" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "Список" @@ -11125,7 +11125,7 @@ msgstr "Таблица" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "Дерево" @@ -11139,14 +11139,14 @@ msgstr "" #: templates/js/translated/part.js:2786 msgid "No test templates matching query" -msgstr "" +msgstr "Нет тестовых шаблонов, соответствующих запросу" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11360,7 +11360,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:628 msgid "At least one purchaseable part must be selected" -msgstr "" +msgstr "Должна быть выбрана хотя бы одна приобретаемая деталь." #: templates/js/translated/purchase_order.js:653 msgid "Quantity to order" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index 44bb3a340f..570e15a23b 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -68,7 +68,7 @@ msgstr "Vnesi datum" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Zapiski" @@ -288,7 +288,7 @@ msgstr "Komentar datoteke" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Uporabnik" @@ -331,7 +331,7 @@ msgstr "Nedovoljena izbira" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Nedovoljena izbira" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Ime" @@ -355,8 +355,8 @@ msgstr "Ime" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Ime" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Ime" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Opis" @@ -389,7 +389,7 @@ msgid "parent" msgstr "nadrejen" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Pot" @@ -751,7 +751,7 @@ msgstr "Razdeljena od nadrejene postavke" msgid "Split child item" msgstr "Razdeljena podrejena postavka" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Združena zaloga postavk" @@ -771,7 +771,7 @@ msgstr "Nalog za izgradnjo končan" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Porabljeno v nalogu za izgradnjo" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Nalog izgradnje" @@ -982,7 +982,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Del" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Nalog izgradnje {build} je dokončan" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Količina" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 88ea68e44c..ce7171bab5 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -68,7 +68,7 @@ msgstr "Ange datum" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Anteeckningar" @@ -288,7 +288,7 @@ msgstr "Fil kommentar" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Användare" @@ -331,7 +331,7 @@ msgstr "Ogiltigt val" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Ogiltigt val" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Namn" @@ -355,8 +355,8 @@ msgstr "Namn" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Namn" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Namn" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Beskrivning" @@ -389,7 +389,7 @@ msgid "parent" msgstr "överordnad" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "Sökväg" @@ -751,7 +751,7 @@ msgstr "Dela från överordnat objekt" msgid "Split child item" msgstr "Dela underordnat objekt" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Sammanfogade lagerposter" @@ -771,7 +771,7 @@ msgstr "Bygg orderutgång slutförd" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "Konsumeras av byggorder" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Byggorder" @@ -982,7 +982,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Del" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "Byggorder {build} har slutförts" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "En byggorder har slutförts" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Antal" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Installera till" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Destination lagervara" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Plats" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Status" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Försäljningsorder" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Bilagor" @@ -1905,11 +1905,11 @@ msgstr "Bilagor" msgid "Build Notes" msgstr "Bygganteckningar" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 092d9f2378..2755452836 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:44\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -68,7 +68,7 @@ msgstr "ป้อนวันที่" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "หมายเหตุ" @@ -288,7 +288,7 @@ msgstr "ความเห็นของไฟล์" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "ผู้ใช้งาน" @@ -331,7 +331,7 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "ชื่อ" @@ -355,8 +355,8 @@ msgstr "ชื่อ" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "ชื่อ" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "ชื่อ" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "คำอธิบาย" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -751,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "" @@ -771,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "" @@ -982,7 +982,7 @@ msgstr "" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "สถานะ" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index b479e05621..f79b5843c9 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -68,7 +68,7 @@ msgstr "Tarih giriniz" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notlar" @@ -288,7 +288,7 @@ msgstr "Dosya yorumu" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Kullanıcı" @@ -331,7 +331,7 @@ msgstr "Geçersiz seçim" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "Geçersiz seçim" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "Adı" @@ -355,8 +355,8 @@ msgstr "Adı" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "Adı" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "Adı" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Açıklama" @@ -389,7 +389,7 @@ msgid "parent" msgstr "üst" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -751,7 +751,7 @@ msgstr "Üst ögeden ayır" msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "Stok parçalarını birleştir" @@ -771,7 +771,7 @@ msgstr "Yapım emri çıktısı tamamlandı" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Yapım İşi Emri" @@ -982,7 +982,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Parça" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:759 +#: build/models.py:764 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:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Miktar" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 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:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "Hedef stok kalemi" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "Konum" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Durum" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "Tamamlanmış Yapım İşi Çıktıları" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "Ekler" @@ -1905,11 +1905,11 @@ msgstr "Ekler" msgid "Build Notes" msgstr "Yapım İşi Notları" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Şablon" @@ -3708,7 +3708,7 @@ msgstr "Parametre adı" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "Değer" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "Paketleme" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "Müşteri" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "Tedarikçi Parçası" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "Stok Kalemleri" @@ -4333,7 +4333,7 @@ msgstr "Etiket" msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "Etkin" @@ -4357,7 +4357,7 @@ msgstr "Yükseklik [mm]" msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "Filtreler" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "DPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revizyon" @@ -5538,7 +5538,7 @@ msgstr "Parça Kategorileri" msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Stok" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "Rapor şablon dosyası" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "Rapor şablon tanımı" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "Revizyon numarası raporla (otomatik artış)" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "Rapor şablonu etkin" -#: report/models.py:295 +#: report/models.py:294 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:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "Seri No" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "Stok ayarlama işlemleri" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "Stoku seri numarala" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "Yeni Konum" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "Katagori Yok" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "Stok birlşetirme" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "Parça sil" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "Detaylar" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 9c7786536b..a5a2fb21d4 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -68,7 +68,7 @@ msgstr "Nhập ngày" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Ghi chú" @@ -288,7 +288,7 @@ msgstr "Bình luận tệp tin" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "Người dùng" @@ -331,7 +331,7 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "" @@ -355,8 +355,8 @@ msgstr "" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "Mô tả" @@ -389,7 +389,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -751,7 +751,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "" @@ -771,7 +771,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -900,7 +900,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "Tạo đơn hàng" @@ -982,7 +982,7 @@ msgstr "" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "Nguyên liệu" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "" @@ -1345,7 +1345,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1368,8 +1368,8 @@ msgstr "" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1402,8 +1402,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "Trạng thái" @@ -1738,7 +1738,7 @@ msgstr "" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1795,8 +1795,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1905,11 +1905,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3708,7 +3708,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3805,7 +3805,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3839,7 +3839,7 @@ msgstr "" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4271,7 +4271,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4283,7 +4283,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4333,7 +4333,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4357,7 +4357,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "Đơn hàng" @@ -4421,7 +4421,7 @@ msgstr "Đơn hàng" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "Giá mua" @@ -5358,12 +5358,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5538,7 +5538,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "Kiện hàng" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11125,7 +11125,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11989,264 +11989,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 0a88174ccd..671995347d 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: 2023-06-23 22:42+0000\n" -"PO-Revision-Date: 2023-06-24 07:43\n" +"POT-Creation-Date: 2023-07-02 23:57+0000\n" +"PO-Revision-Date: 2023-07-03 21:44\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -68,7 +68,7 @@ msgstr "输入日期" #: templates/js/translated/return_order.js:772 #: templates/js/translated/sales_order.js:1067 #: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "备注" @@ -288,7 +288,7 @@ msgstr "文件注释" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "用户" @@ -331,7 +331,7 @@ msgstr "选择无效" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -342,7 +342,7 @@ msgstr "选择无效" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "名称" @@ -355,8 +355,8 @@ msgstr "名称" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -365,7 +365,7 @@ msgstr "名称" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 @@ -375,8 +375,8 @@ msgstr "名称" #: templates/js/translated/purchase_order.js:2000 #: templates/js/translated/return_order.js:314 #: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "描述信息" @@ -389,7 +389,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "路径" @@ -751,7 +751,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "合并的库存项目" @@ -771,7 +771,7 @@ msgstr "生产订单输出已完成" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "被生产订单消耗" @@ -900,7 +900,7 @@ msgstr "已分配" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "生产订单" @@ -982,7 +982,7 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 @@ -996,9 +996,9 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/sales_order.js:1596 #: templates/js/translated/sales_order.js:1794 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "商品" @@ -1150,43 +1150,43 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 #: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 @@ -1227,41 +1227,41 @@ msgstr "" #: templates/js/translated/sales_order.js:1696 #: templates/js/translated/sales_order.js:1816 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "数量" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 @@ -1274,23 +1274,23 @@ msgstr "" #: templates/js/translated/sales_order.js:1603 #: templates/js/translated/sales_order.js:1690 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1544 +#: build/models.py:1549 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1557 +#: build/models.py:1562 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1565 +#: build/models.py:1570 msgid "Install into" msgstr "安装到" -#: build/models.py:1566 +#: build/models.py:1571 msgid "Destination stock item" msgstr "目标库存项" @@ -1345,7 +1345,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1368,8 +1368,8 @@ msgstr "必须提供生产产出列表" #: templates/js/translated/sales_order.js:1625 #: templates/js/translated/sales_order.js:1704 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "地点" @@ -1402,8 +1402,8 @@ msgstr "已完成生产产出的仓储地点" #: templates/js/translated/purchase_order.js:1697 #: templates/js/translated/return_order.js:331 #: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "状态" @@ -1738,7 +1738,7 @@ msgstr "已完成输出" #: templates/js/translated/pricing.js:915 #: templates/js/translated/sales_order.js:769 #: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "销售订单" @@ -1795,8 +1795,8 @@ msgstr "已分配的部件" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1896,7 +1896,7 @@ msgstr "已完成构建输出" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "附件" @@ -1905,11 +1905,11 @@ msgstr "附件" msgid "Build Notes" msgstr "生产备注" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "分配完成" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,7 +2255,7 @@ msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" #: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "模板" @@ -3708,7 +3708,7 @@ msgstr "参数名称" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "数值" @@ -3805,7 +3805,7 @@ msgstr "最低收费(例如库存费)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "打包" @@ -3839,7 +3839,7 @@ msgstr "订购多个" #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3927,7 +3927,7 @@ msgstr "删除图片" #: templates/js/translated/company.js:501 #: templates/js/translated/return_order.js:296 #: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "客户" @@ -4189,7 +4189,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "供应商商品" @@ -4271,7 +4271,7 @@ msgstr "供应商部件二维码" msgid "Link Barcode to Supplier Part" msgstr "将条码绑定至供应商部件" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "更新部件可用性" @@ -4283,7 +4283,7 @@ msgstr "更新部件可用性" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -4333,7 +4333,7 @@ msgstr "标签" msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "已启用" @@ -4357,7 +4357,7 @@ msgstr "高度 [mm]" msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "文件名样式" @@ -4371,8 +4371,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "筛选器" @@ -4412,7 +4412,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,7 +4421,7 @@ msgstr "" #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 #: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" @@ -4626,7 +4626,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "采购价格" @@ -5358,12 +5358,12 @@ msgstr "部件描述" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "版本号" @@ -5538,7 +5538,7 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5881,7 +5881,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "日期" @@ -6592,7 +6592,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6958,7 +6958,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -6991,7 +6991,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "最后更新" @@ -7370,91 +7370,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7517,7 +7517,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7549,7 +7549,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7617,7 +7617,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7625,23 +7625,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7670,7 +7670,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8047,44 +8047,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8107,17 +8107,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8126,12 +8126,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8275,7 +8275,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8382,7 +8382,7 @@ msgid "New Location" msgstr "新建仓储地点" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -10210,7 +10210,7 @@ msgstr "" #: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10222,7 +10222,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "没有用户信息" @@ -10292,7 +10292,7 @@ msgstr "" msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" @@ -10668,11 +10668,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11113,7 +11113,7 @@ msgid "No category" msgstr "没有分类" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "以列表显示" @@ -11125,7 +11125,7 @@ msgstr "以网格显示" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "以树形图显示" @@ -11141,12 +11141,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "编辑测试结果" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "删除测试结果" @@ -11727,7 +11727,7 @@ msgstr "" #: templates/js/translated/sales_order.js:1621 #: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" @@ -11981,7 +11981,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "选择库存项" @@ -11989,264 +11989,264 @@ msgstr "选择库存项" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index b735a15039..dcd477ce35 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-24 04:38+0000\n" +"POT-Creation-Date: 2023-06-26 07:13+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" From 5f61b5f120cf6942d8950e8d2ebd90efa071ead8 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 13:30:26 +1000 Subject: [PATCH 066/103] Rendering fix for build allocation table (#5145) - Fix link to part - Fix link to stock item --- InvenTree/templates/js/translated/build.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index 626c233c08..f47c4a3618 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -2255,16 +2255,16 @@ function renderBuildLineAllocationTable(element, build_line, options={}) { { field: 'part', title: '{% trans "Part" %}', - formatter: function(value, row) { + formatter: function(_value, row) { let html = imageHoverIcon(row.part_detail.thumbnail); - html += renderLink(row.part_detail.full_name, `/part/${value}/`); + html += renderLink(row.part_detail.full_name, `/part/${row.part_detail.pk}/`); return html; } }, { field: 'quantity', title: '{% trans "Allocated Quantity" %}', - formatter: function(value, row) { + formatter: function(_value, row) { let text = ''; let url = ''; let serial = row.serial; @@ -2294,8 +2294,8 @@ function renderBuildLineAllocationTable(element, build_line, options={}) { title: '{% trans "Location" %}', formatter: function(value, row) { if (row.location_detail) { - var text = shortenString(row.location_detail.pathstring); - var url = `/stock/location/${row.location}/`; + let text = shortenString(row.location_detail.pathstring); + let url = `/stock/location/${row.location_detail.pk}/`; return renderLink(text, url); } else { From aab7911a2b38c5fe4572d950790cf0ca07e8d555 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 13:30:33 +1000 Subject: [PATCH 067/103] Contributing docs (#5147) * Add more info for invoke test * Update code style docs * link fix --- CONTRIBUTING.md | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 79e4ba027d..7b39f05ef1 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -135,10 +135,27 @@ To run only partial tests, for example for a module use: invoke test --runtest order ``` +To see all the available options: + +``` +invoke test --help +``` + ## Code Style -Submitted Python code is automatically checked against PEP style guidelines. Locally you can run `invoke style` to ensure the style checks will pass, before submitting the PR. -Please write docstrings for each function and class - we follow the [google doc-style](https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings) for python. Docstrings for general javascript code is encouraged! Docstyles are checked by `invoke style`. +Code style is automatically checked as part of the project's CI pipeline on GitHub. This means that any pull requests which do not conform to the style guidelines will fail CI checks. + +### Backend Code + +Backend code (Python) is checked against the [PEP style guidelines](https://peps.python.org/pep-0008/). Please write docstrings for each function and class - we follow the [google doc-style](https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings) for python. + +### Frontend Code + +Frontend code (Javascript) is checked using [eslint](https://eslint.org/). While docstrings are not enforced for front-end code, good code documentation is encouraged! + +### Running Checks Locally + +If you have followed the setup devtools procedure, then code style checking is performend automatically whenever you commit changes to the code. ### Django templates From ace94d5c188f4852ec9a21e71d94291a061d2c32 Mon Sep 17 00:00:00 2001 From: spike77453 Date: Tue, 4 Jul 2023 06:30:15 +0200 Subject: [PATCH 068/103] Fix link to background tasks documentation (#5150) --- InvenTree/templates/stats.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/templates/stats.html b/InvenTree/templates/stats.html index b4f38c7ebc..fdfac75880 100644 --- a/InvenTree/templates/stats.html +++ b/InvenTree/templates/stats.html @@ -63,7 +63,7 @@ {% trans "Background Worker" %} - + {% trans "Background worker not running" %} From 17c20705038563432fa50ad35fa49231588e47ee Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 16:20:03 +1000 Subject: [PATCH 069/103] Order table improvements (#5151) - prevent "double loading" of order tables --- InvenTree/templates/js/translated/build.js | 3 --- InvenTree/templates/js/translated/purchase_order.js | 3 --- InvenTree/templates/js/translated/return_order.js | 3 --- InvenTree/templates/js/translated/sales_order.js | 3 --- 4 files changed, 12 deletions(-) diff --git a/InvenTree/templates/js/translated/build.js b/InvenTree/templates/js/translated/build.js index f47c4a3618..58b709e2a8 100644 --- a/InvenTree/templates/js/translated/build.js +++ b/InvenTree/templates/js/translated/build.js @@ -2173,9 +2173,6 @@ function loadBuildTable(table, options) { customView: function(data) { return `
    `; }, - onRefresh: function() { - loadBuildTable(table, options); - }, onLoadSuccess: function() { if (tree_enable) { diff --git a/InvenTree/templates/js/translated/purchase_order.js b/InvenTree/templates/js/translated/purchase_order.js index a27c8e12d1..911f2edea6 100644 --- a/InvenTree/templates/js/translated/purchase_order.js +++ b/InvenTree/templates/js/translated/purchase_order.js @@ -1759,9 +1759,6 @@ function loadPurchaseOrderTable(table, options) { customView: function(data) { return `
    `; }, - onRefresh: function() { - loadPurchaseOrderTable(table, options); - }, onLoadSuccess: function() { if (display_mode == 'calendar') { diff --git a/InvenTree/templates/js/translated/return_order.js b/InvenTree/templates/js/translated/return_order.js index b326a97da0..4542a7d6da 100644 --- a/InvenTree/templates/js/translated/return_order.js +++ b/InvenTree/templates/js/translated/return_order.js @@ -262,9 +262,6 @@ function loadReturnOrderTable(table, options={}) { formatNoMatches: function() { return '{% trans "No return orders found" %}'; }, - onRefresh: function() { - loadReturnOrderTable(table, options); - }, onLoadSuccess: function() { // TODO }, diff --git a/InvenTree/templates/js/translated/sales_order.js b/InvenTree/templates/js/translated/sales_order.js index 4052769baa..7211dae488 100644 --- a/InvenTree/templates/js/translated/sales_order.js +++ b/InvenTree/templates/js/translated/sales_order.js @@ -735,9 +735,6 @@ function loadSalesOrderTable(table, options) { customView: function(data) { return `
    `; }, - onRefresh: function() { - loadSalesOrderTable(table, options); - }, onLoadSuccess: function() { if (display_mode == 'calendar') { From 42fd4c7ee68167462a136da51e1763b066d77406 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 19:24:36 +1000 Subject: [PATCH 070/103] Query improvements for BuildLine table (#5153) - Prefetch / preselect related records - Improve query speed --- InvenTree/build/api.py | 4 ---- InvenTree/build/serializers.py | 18 +++++++++++++++--- InvenTree/part/serializers.py | 27 ++++++++++++++++++++++++--- 3 files changed, 39 insertions(+), 10 deletions(-) diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 01c55f5e00..63ae432159 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -308,10 +308,6 @@ class BuildLineEndpoint: """Override queryset to select-related and annotate""" queryset = super().get_queryset() - queryset = queryset.select_related( - 'build', 'bom_item', - ) - queryset = build.serializers.BuildLineSerializer.annotate_queryset(queryset) return queryset diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index 4ea3a1bb18..ddd4a95307 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -1012,7 +1012,7 @@ class BuildItemSerializer(InvenTreeModelSerializer): build = serializers.PrimaryKeyRelatedField(source='build_line.build', many=False, read_only=True) # Extra (optional) detail fields - part_detail = PartBriefSerializer(source='stock_item.part', many=False, read_only=True) + part_detail = PartBriefSerializer(source='stock_item.part', many=False, read_only=True, pricing=False) stock_item_detail = StockItemSerializerBrief(source='stock_item', read_only=True) location_detail = LocationSerializer(source='stock_item.location', read_only=True) build_detail = BuildSerializer(source='build_line.build', many=False, read_only=True) @@ -1074,8 +1074,8 @@ class BuildLineSerializer(InvenTreeModelSerializer): quantity = serializers.FloatField() # Foreign key fields - bom_item_detail = BomItemSerializer(source='bom_item', many=False, read_only=True) - part_detail = PartSerializer(source='bom_item.sub_part', many=False, read_only=True) + bom_item_detail = BomItemSerializer(source='bom_item', many=False, read_only=True, pricing=False) + part_detail = PartSerializer(source='bom_item.sub_part', many=False, read_only=True, pricing=False) allocations = BuildItemSerializer(many=True, read_only=True) # Annotated (calculated) fields @@ -1094,16 +1094,28 @@ class BuildLineSerializer(InvenTreeModelSerializer): - on_order: Total stock on order for this build line """ + queryset = queryset.select_related( + 'build', 'bom_item', + ) + # Pre-fetch related fields queryset = queryset.prefetch_related( + 'bom_item__sub_part', 'bom_item__sub_part__stock_items', 'bom_item__sub_part__stock_items__allocations', 'bom_item__sub_part__stock_items__sales_order_allocations', + 'bom_item__sub_part__tags', 'bom_item__substitutes', 'bom_item__substitutes__part__stock_items', 'bom_item__substitutes__part__stock_items__allocations', 'bom_item__substitutes__part__stock_items__sales_order_allocations', + + 'allocations', + 'allocations__stock_item', + 'allocations__stock_item__part', + 'allocations__stock_item__location', + 'allocations__stock_item__location__tags', ) # Annotate the "allocated" quantity diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index ef4f181021..3d145c00f2 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -284,6 +284,17 @@ class PartBriefSerializer(InvenTree.serializers.InvenTreeModelSerializer): 'barcode_hash', ] + def __init__(self, *args, **kwargs): + """Custom initialization routine for the PartBrief serializer""" + + pricing = kwargs.pop('pricing', True) + + super().__init__(*args, **kwargs) + + if not pricing: + self.fields.pop('pricing_min') + self.fields.pop('pricing_max') + thumbnail = serializers.CharField(source='get_thumbnail_url', read_only=True) # Pricing fields @@ -532,6 +543,7 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize category_detail = kwargs.pop('category_detail', False) parameters = kwargs.pop('parameters', False) create = kwargs.pop('create', False) + pricing = kwargs.pop('pricing', True) super().__init__(*args, **kwargs) @@ -546,6 +558,10 @@ class PartSerializer(InvenTree.serializers.RemoteImageMixin, InvenTree.serialize for f in self.skip_create_fields()[1:]: self.fields.pop(f) + if not pricing: + self.fields.pop('pricing_min') + self.fields.pop('pricing_max') + def get_api_url(self): """Return the API url associated with this serializer""" return reverse_lazy('api-part-list') @@ -1087,7 +1103,7 @@ class BomItemSubstituteSerializer(InvenTree.serializers.InvenTreeModelSerializer 'part_detail', ] - part_detail = PartBriefSerializer(source='part', read_only=True, many=False) + part_detail = PartBriefSerializer(source='part', read_only=True, many=False, pricing=False) class BomItemSerializer(InvenTree.serializers.InvenTreeModelSerializer): @@ -1132,15 +1148,20 @@ class BomItemSerializer(InvenTree.serializers.InvenTreeModelSerializer): """ part_detail = kwargs.pop('part_detail', False) sub_part_detail = kwargs.pop('sub_part_detail', False) + pricing = kwargs.pop('pricing', True) super(BomItemSerializer, self).__init__(*args, **kwargs) - if part_detail is not True: + if not part_detail: self.fields.pop('part_detail') - if sub_part_detail is not True: + if not sub_part_detail: self.fields.pop('sub_part_detail') + if not pricing: + self.fields.pop('pricing_min') + self.fields.pop('pricing_max') + quantity = InvenTree.serializers.InvenTreeDecimalField(required=True) def validate_quantity(self, quantity): From 637a0ca7a59186373f40aa24d6445d0eba4476a6 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 20:52:42 +1000 Subject: [PATCH 071/103] Remove old method (#5156) - Now handled entirely by API / frontend - Very inefficient, even if it was still being used --- InvenTree/build/models.py | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/InvenTree/build/models.py b/InvenTree/build/models.py index 5ffc4f3a41..8488d32993 100644 --- a/InvenTree/build/models.py +++ b/InvenTree/build/models.py @@ -1513,28 +1513,6 @@ class BuildItem(InvenTree.models.MetadataMixin, models.Model): } ) - def getStockItemThumbnail(self): - """Return qualified URL for part thumbnail image.""" - thumb_url = None - - if self.stock_item and self.stock_item.part: - try: - # Try to extract the thumbnail - thumb_url = self.stock_item.part.image.thumbnail.url - except Exception: - pass - - if thumb_url is None and self.bom_item and self.bom_item.sub_part: - try: - thumb_url = self.bom_item.sub_part.image.thumbnail.url - except Exception: - pass - - if thumb_url is not None: - return InvenTree.helpers.getMediaUrl(thumb_url) - else: - return InvenTree.helpers.getBlankThumbnail() - build_line = models.ForeignKey( BuildLine, on_delete=models.SET_NULL, null=True, From d52a839cf26893f812dec6a9d8e6a40147cf5029 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 21:57:23 +1000 Subject: [PATCH 072/103] Handle case where git head is detached (#5161) - branch information does not exist in this case - Fixes https://github.com/inventree/InvenTree/issues/5133 --- InvenTree/InvenTree/version.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index fdb8e5b907..72e2551b66 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -162,8 +162,11 @@ def inventreeBranch(): if main_commit is None: return None - branch = main_repo.refs.follow(b'HEAD')[0][1].decode() - return branch.removeprefix('refs/heads/') + try: + branch = main_repo.refs.follow(b'HEAD')[0][1].decode() + return branch.removeprefix('refs/heads/') + except IndexError: + return None # pragma: no cover def inventreeTarget(): From 9ebbc2f9f6731fb323ce57119ae3c0b401c72623 Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 21:57:43 +1000 Subject: [PATCH 073/103] Do not enforce unit type conversion for part parameters (#5160) * Do not enforce unit type conversion for part parameters - Still convert to "native value" (if possible) * update unit tests --- InvenTree/part/models.py | 9 --------- InvenTree/part/test_param.py | 5 ++--- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index fc1cc2e451..cd993ed826 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -3532,15 +3532,6 @@ class PartParameter(MetadataMixin, models.Model): super().clean() - # Validate the parameter data against the template units - if self.template.units: - try: - InvenTree.conversion.convert_physical_value(self.data, self.template.units) - except ValidationError as e: - raise ValidationError({ - 'data': e.message - }) - # Validate the parameter data against the template choices if choices := self.template.get_choices(): if self.data not in choices: diff --git a/InvenTree/part/test_param.py b/InvenTree/part/test_param.py index 63a3b4f8d2..13767676c7 100644 --- a/InvenTree/part/test_param.py +++ b/InvenTree/part/test_param.py @@ -168,11 +168,10 @@ class ParameterTests(TestCase): param = PartParameter(part=prt, template=template, data=value) param.full_clean() - # Test that invalid parameters fail + # Invalid units also pass, but will be converted to the template units for value in ['3 Amps', '-3 zogs', '3.14F']: param = PartParameter(part=prt, template=template, data=value) - with self.assertRaises(django_exceptions.ValidationError): - param.full_clean() + param.full_clean() def test_param_unit_conversion(self): """Test that parameters are correctly converted to template units""" From 8b730884d70e7e2712bc79ad14c79b5fc0cc746d Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 22:46:03 +1000 Subject: [PATCH 074/103] Handle exception when creating default labels (#5163) * Handle exception when creating default labels - Running workers in parallel may cause race conditions - Catch any exception which is raised * Prevent password from being logged * Update default timeout for docker --- InvenTree/InvenTree/apps.py | 4 ++-- InvenTree/label/apps.py | 22 ++++++++++++---------- docker/production/.env | 2 +- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/InvenTree/InvenTree/apps.py b/InvenTree/InvenTree/apps.py index 8a286a5982..2c553149b0 100644 --- a/InvenTree/InvenTree/apps.py +++ b/InvenTree/InvenTree/apps.py @@ -195,8 +195,8 @@ class InvenTreeConfig(AppConfig): else: new_user = user.objects.create_superuser(add_user, add_email, add_password) logger.info(f'User {str(new_user)} was created!') - except IntegrityError as _e: - logger.warning(f'The user "{add_user}" could not be created due to the following error:\n{str(_e)}') + except IntegrityError: + logger.warning(f'The user "{add_user}" could not be created') # do not try again settings.USER_ADDED = True diff --git a/InvenTree/label/apps.py b/InvenTree/label/apps.py index 0d6aa0f8b0..850e55c355 100644 --- a/InvenTree/label/apps.py +++ b/InvenTree/label/apps.py @@ -182,13 +182,15 @@ class LabelConfig(AppConfig): logger.info(f"Creating entry for {model} '{label['name']}'") - model.objects.create( - name=label['name'], - description=label['description'], - label=filename, - filters='', - enabled=True, - width=label['width'], - height=label['height'], - ) - return + try: + model.objects.create( + name=label['name'], + description=label['description'], + label=filename, + filters='', + enabled=True, + width=label['width'], + height=label['height'], + ) + except Exception: + logger.warning(f"Failed to create label '{label['name']}'") diff --git a/docker/production/.env b/docker/production/.env index c465f03a28..acbe0ae735 100644 --- a/docker/production/.env +++ b/docker/production/.env @@ -42,7 +42,7 @@ INVENTREE_DB_PORT=5432 #INVENTREE_CACHE_PORT=6379 # Options for gunicorn server -INVENTREE_GUNICORN_TIMEOUT=30 +INVENTREE_GUNICORN_TIMEOUT=90 # Enable custom plugins? INVENTREE_PLUGINS_ENABLED=False From 4c3dc6ddbd677e1f0d3e45294d7fbff96df7c3bb Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 22:53:46 +1000 Subject: [PATCH 075/103] Restrict "recently updated" stock to "available" (#5165) --- InvenTree/templates/InvenTree/index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/InvenTree/templates/InvenTree/index.html b/InvenTree/templates/InvenTree/index.html index 0f8e99c312..4d7fecd67a 100644 --- a/InvenTree/templates/InvenTree/index.html +++ b/InvenTree/templates/InvenTree/index.html @@ -107,6 +107,7 @@ addHeaderAction('recently-updated-stock', '{% trans "Recently Updated" %}', 'fa- loadStockTable($('#table-recently-updated-stock'), { disableFilters: true, params: { + in_stock: true, part_detail: true, ordering: "-updated", updated_after: moment().subtract(1, 'months').format('YYYY-MM-DD'), From 7ba26ebfbbaece93ac078de5d42a19c13777defa Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 4 Jul 2023 23:26:19 +1000 Subject: [PATCH 076/103] Task improvements (#5159) * Ignore triggered events if plugin events are not enabled * Ensure that plugin tasks are handled by the background worker * Allow shell access * Don't force async if testing * Enable plugin events as part of CI * fix --- InvenTree/plugin/base/event/events.py | 17 ++++++++++++++++- .../plugin/samples/event/test_event_sample.py | 3 +++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/InvenTree/plugin/base/event/events.py b/InvenTree/plugin/base/event/events.py index f2b28a9c3e..96a91fcec0 100644 --- a/InvenTree/plugin/base/event/events.py +++ b/InvenTree/plugin/base/event/events.py @@ -20,17 +20,27 @@ def trigger_event(event, *args, **kwargs): This event will be stored in the database, and the worker will respond to it later on. """ + from common.models import InvenTreeSetting + if not settings.PLUGINS_ENABLED: # Do nothing if plugins are not enabled return # pragma: no cover + if not InvenTreeSetting.get_setting('ENABLE_PLUGINS_EVENTS', False): + # Do nothing if plugin events are not enabled + return + # Make sure the database can be accessed and is not being tested rn - if not canAppAccessDatabase() and not settings.PLUGIN_TESTING_EVENTS: + if not canAppAccessDatabase(allow_shell=True) and not settings.PLUGIN_TESTING_EVENTS: logger.debug(f"Ignoring triggered event '{event}' - database not ready") return logger.debug(f"Event triggered: '{event}'") + # By default, force the event to be processed asynchronously + if 'force_async' not in kwargs and not settings.PLUGIN_TESTING_EVENTS: + kwargs['force_async'] = True + offload_task( register_event, event, @@ -63,6 +73,11 @@ def register_event(event, *args, **kwargs): logger.debug(f"Registering callback for plugin '{slug}'") + # This task *must* be processed by the background worker, + # unless we are running CI tests + if 'force_async' not in kwargs and not settings.PLUGIN_TESTING_EVENTS: + kwargs['force_async'] = True + # Offload a separate task for each plugin offload_task( process_event, diff --git a/InvenTree/plugin/samples/event/test_event_sample.py b/InvenTree/plugin/samples/event/test_event_sample.py index 9085117716..e466aaa0eb 100644 --- a/InvenTree/plugin/samples/event/test_event_sample.py +++ b/InvenTree/plugin/samples/event/test_event_sample.py @@ -3,6 +3,7 @@ from django.conf import settings from django.test import TestCase +from common.models import InvenTreeSetting from plugin import InvenTreePlugin, registry from plugin.base.event.events import trigger_event from plugin.helpers import MixinNotImplementedError @@ -21,6 +22,8 @@ class EventPluginSampleTests(TestCase): config.active = True config.save() + InvenTreeSetting.set_setting('ENABLE_PLUGINS_EVENTS', True, change_user=None) + # Enable event testing settings.PLUGIN_TESTING_EVENTS = True # Check that an event is issued From 83afa7492760adc2bdbb4b9dfe2834d4c1fd8a24 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Tue, 4 Jul 2023 23:19:53 +0200 Subject: [PATCH 077/103] Bump django - fix CVE-2023-36053 (#5168) * bump deps - fix CVE-2023-36053 * downgrade to 3.9 * fix typo --- requirements-dev.txt | 2 +- requirements.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index bcba741ff3..5dd79b760e 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -30,7 +30,7 @@ coveralls==2.1.2 # via -r requirements-dev.in distlib==0.3.6 # via virtualenv -django==3.2.19 +django==3.2.20 # via # -c requirements.txt # django-debug-toolbar diff --git a/requirements.txt b/requirements.txt index 71a9ea8a32..5c5b9da87f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -47,7 +47,7 @@ diff-match-patch==20230430 # via django-import-export dj-rest-auth==4.0.1 # via -r requirements.in -django==3.2.19 +django==3.2.20 # via # -r requirements.in # dj-rest-auth @@ -168,7 +168,7 @@ icalendar==5.0.7 # via django-ical idna==3.4 # via requests -importlib-metadata==6.6.0 +importlib-metadata==6.7.0 # via markdown inflection==0.5.1 # via drf-spectacular From f16c8a5444b9cce6d32eb7033066c5ef24439dd3 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Tue, 4 Jul 2023 23:20:38 +0200 Subject: [PATCH 078/103] Update 2fa lib (#5169) * remove CustomTwoFactorRemove * add setting --- InvenTree/InvenTree/settings.py | 2 ++ InvenTree/InvenTree/urls.py | 10 +++------- InvenTree/InvenTree/views.py | 7 ------- 3 files changed, 5 insertions(+), 14 deletions(-) diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 68d8d45659..5692fd4575 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -868,6 +868,8 @@ ACCOUNT_LOGIN_ATTEMPTS_LIMIT = get_setting('INVENTREE_LOGIN_ATTEMPTS', 'login_at ACCOUNT_DEFAULT_HTTP_PROTOCOL = get_setting('INVENTREE_LOGIN_DEFAULT_HTTP_PROTOCOL', 'login_default_protocol', 'http') ACCOUNT_LOGOUT_ON_PASSWORD_CHANGE = True ACCOUNT_PREVENT_ENUMERATION = True +# 2FA +REMOVE_SUCCESS_URL = 'settings' # override forms / adapters ACCOUNT_FORMS = { diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index 0cf125f32a..4098359bc7 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -38,9 +38,9 @@ from .views import (AboutView, AppearanceSelectView, CustomConnectionsView, CustomEmailView, CustomLoginView, CustomPasswordResetFromKeyView, CustomSessionDeleteOtherView, CustomSessionDeleteView, - CustomTwoFactorRemove, DatabaseStatsView, DynamicJsView, - EditUserView, IndexView, NotificationsView, SearchView, - SetPasswordView, SettingsView, auth_request) + DatabaseStatsView, DynamicJsView, EditUserView, IndexView, + NotificationsView, SearchView, SetPasswordView, + SettingsView, auth_request) admin.site.site_header = "InvenTree Admin" @@ -191,10 +191,6 @@ frontendpatterns = [ re_path(r'^accounts/social/connections/', CustomConnectionsView.as_view(), name='socialaccount_connections'), re_path(r"^accounts/password/reset/key/(?P[0-9A-Za-z]+)-(?P.+)/$", CustomPasswordResetFromKeyView.as_view(), name="account_reset_password_from_key"), - # Temporary fix for django-allauth-2fa # TODO remove - # See https://github.com/inventree/InvenTree/security/advisories/GHSA-8j76-mm54-52xq - re_path(r'^accounts/two_factor/remove/?$', CustomTwoFactorRemove.as_view(), name='two-factor-remove'), - # Override login page re_path("accounts/login/", CustomLoginView.as_view(), name="account_login"), diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index 9cb04e09d1..9819defcf6 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -27,7 +27,6 @@ from allauth.account.views import (EmailView, LoginView, PasswordResetFromKeyView) from allauth.socialaccount.forms import DisconnectForm from allauth.socialaccount.views import ConnectionsView -from allauth_2fa.views import TwoFactorRemove from djmoney.contrib.exchange.models import ExchangeBackend, Rate from user_sessions.views import SessionDeleteOtherView, SessionDeleteView @@ -664,9 +663,3 @@ class NotificationsView(TemplateView): """View for showing notifications.""" template_name = "InvenTree/notifications/notifications.html" - - -# Custom 2FA removal form to allow custom redirect URL -class CustomTwoFactorRemove(TwoFactorRemove): - """Specify custom URL redirect.""" - success_url = reverse_lazy("settings") From aec56d4b34a0224316c039460a868c9c6c4a83c5 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Tue, 4 Jul 2023 23:20:56 +0200 Subject: [PATCH 079/103] Bump general deps (#5170) * bump deps * down to py 3.9 * pin pillow --- requirements-dev.txt | 15 ++++++++------- requirements.in | 2 +- requirements.txt | 30 +++++++++++++++--------------- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 5dd79b760e..6e1df4e4b6 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -43,7 +43,7 @@ django-test-migrations==1.3.0 # via -r requirements-dev.in docopt==0.6.2 # via coveralls -filelock==3.12.0 +filelock==3.12.2 # via virtualenv flake8==6.0.0 # via @@ -68,11 +68,11 @@ packaging==23.1 # via build pep8-naming==0.13.3 # via -r requirements-dev.in -pip-tools==6.13.0 +pip-tools==6.14.0 # via -r requirements-dev.in -platformdirs==3.5.1 +platformdirs==3.8.0 # via virtualenv -pre-commit==3.3.2 +pre-commit==3.3.3 # via -r requirements-dev.in pycodestyle==2.10.0 # via flake8 @@ -104,17 +104,18 @@ sqlparse==0.4.4 tomli==2.0.1 # via # build + # pip-tools # pyproject-hooks -typing-extensions==4.6.3 +typing-extensions==4.7.1 # via # -c requirements.txt # asgiref # django-test-migrations -urllib3==2.0.2 +urllib3==2.0.3 # via # -c requirements.txt # requests -virtualenv==20.23.0 +virtualenv==20.23.1 # via pre-commit wheel==0.40.0 # via pip-tools diff --git a/requirements.in b/requirements.in index be13dc3807..d178f0b64a 100644 --- a/requirements.in +++ b/requirements.in @@ -36,7 +36,7 @@ drf-spectacular # DRF API documentation feedparser # RSS newsfeed parser gunicorn # Gunicorn web server pdf2image # PDF to image conversion -pillow # Image manipulation +pillow==9.5.0 # Image manipulation # FIXED 2023-07-04 as we require PIL.Image.ANTIALIAS pint==0.21 # Unit conversion # FIXED 2023-05-30 breaks tests https://github.com/matmair/InvenTree/actions/runs/5095665936/jobs/9160852560 python-barcode[images] # Barcode generator python-dotenv # Environment variable management diff --git a/requirements.txt b/requirements.txt index 5c5b9da87f..b12886a1a6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -86,9 +86,9 @@ django-allauth==0.54.0 # django-allauth-2fa django-allauth-2fa==0.10.0 # via -r requirements.in -django-cleanup==7.0.0 +django-cleanup==8.0.0 # via -r requirements.in -django-cors-headers==4.0.0 +django-cors-headers==4.1.0 # via -r requirements.in django-crispy-forms==1.14.0 # via -r requirements.in @@ -98,15 +98,15 @@ django-error-report==0.2.0 # via -r requirements.in django-filter==23.2 # via -r requirements.in -django-flags==5.0.12 +django-flags==5.0.13 # via -r requirements.in django-formtools==2.4.1 # via -r requirements.in -django-ical==1.9.1 +django-ical==1.9.2 # via -r requirements.in django-import-export==2.5.0 # via -r requirements.in -django-js-asset==2.0.0 +django-js-asset==2.1.0 # via django-mptt django-maintenance-mode==0.18.0 # via -r requirements.in @@ -116,7 +116,7 @@ django-money==2.1.1 # via -r requirements.in django-mptt==0.11.0 # via -r requirements.in -django-otp==1.2.1 +django-otp==1.2.2 # via django-allauth-2fa django-picklefield==3.1 # via django-q @@ -126,7 +126,7 @@ django-q-sentry==0.1.6 # via -r requirements.in django-recurrence==1.11.1 # via django-ical -django-redis==5.2.0 +django-redis==5.3.0 # via -r requirements.in django-sql-utils==0.6.1 # via -r requirements.in @@ -150,7 +150,7 @@ djangorestframework==3.14.0 # drf-spectacular djangorestframework-simplejwt[crypto]==5.2.2 # via -r requirements.in -drf-spectacular==0.26.2 +drf-spectacular==0.26.3 # via -r requirements.in dulwich==0.21.5 # via -r requirements.in @@ -158,7 +158,7 @@ et-xmlfile==1.1.0 # via openpyxl feedparser==6.0.10 # via -r requirements.in -fonttools[woff]==4.39.4 +fonttools[woff]==4.40.0 # via weasyprint gunicorn==20.1.0 # via -r requirements.in @@ -208,7 +208,7 @@ py-moneyed==1.2 # django-money pycparser==2.21 # via cffi -pydyf==0.6.0 +pydyf==0.7.0 # via weasyprint pyjwt[crypto]==2.7.0 # via @@ -253,7 +253,7 @@ redis==3.5.3 # via # django-q # django-redis -regex==2023.5.5 +regex==2023.6.3 # via -r requirements.in requests==2.31.0 # via @@ -262,7 +262,7 @@ requests==2.31.0 # requests-oauthlib requests-oauthlib==1.3.1 # via django-allauth -sentry-sdk==1.25.0 +sentry-sdk==1.27.0 # via # -r requirements.in # django-q-sentry @@ -278,7 +278,7 @@ sqlparse==0.4.4 # via # django # django-sql-utils -tablib[html,ods,xls,xlsx,yaml]==3.4.0 +tablib[html,ods,xls,xlsx,yaml]==3.5.0 # via # -r requirements.in # django-import-export @@ -287,7 +287,7 @@ tinycss2==1.1.1 # bleach # cssselect2 # weasyprint -typing-extensions==4.6.3 +typing-extensions==4.7.1 # via # asgiref # qrcode @@ -295,7 +295,7 @@ uritemplate==4.1.1 # via # coreapi # drf-spectacular -urllib3==2.0.2 +urllib3==2.0.3 # via # dulwich # requests From 9cf629ccc55549fd271e62b67972efca3e5e9263 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 5 Jul 2023 10:07:48 +1000 Subject: [PATCH 080/103] Add migration check for 0.12.0 database (#5174) --- .github/workflows/qc_checks.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml index 569bd90de5..4a2669dac4 100644 --- a/.github/workflows/qc_checks.yaml +++ b/.github/workflows/qc_checks.yaml @@ -380,3 +380,10 @@ jobs: cp test-db/stable_0.11.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3 chmod +rw /home/runner/work/InvenTree/db.sqlite3 invoke migrate + + - name: 0.12.0 Database + run: | + rm /home/runner/work/InvenTree/db.sqlite3 + cp test-db/stable_0.12.0.sqlite3 /home/runner/work/InvenTree/db.sqlite3 + chmod +rw /home/runner/work/InvenTree/db.sqlite3 + invoke migrate From cf0d30b11c9f842e4fcd7cc28d99f673bd9a89a3 Mon Sep 17 00:00:00 2001 From: Christoph <20142175+xeno27@users.noreply.github.com> Date: Wed, 5 Jul 2023 02:19:13 +0200 Subject: [PATCH 081/103] add report feature for stock locations (#5134) * add report feature for stock locations * fix flake 8 errors * run pre-commit run --all-files to fix style errors * add new model * create default stock location --- InvenTree/report/admin.py | 3 +- InvenTree/report/api.py | 46 ++++++- InvenTree/report/apps.py | 21 +++ .../migrations/0020_stocklocationreport.py | 32 +++++ InvenTree/report/models.py | 41 ++++++ InvenTree/report/serializers.py | 13 +- .../report/inventree_slr_report.html | 124 ++++++++++++++++++ InvenTree/report/tests.py | 15 +++ InvenTree/stock/templates/stock/location.html | 14 +- InvenTree/users/models.py | 1 + 10 files changed, 304 insertions(+), 6 deletions(-) create mode 100644 InvenTree/report/migrations/0020_stocklocationreport.py create mode 100644 InvenTree/report/templates/report/inventree_slr_report.html diff --git a/InvenTree/report/admin.py b/InvenTree/report/admin.py index 94acf89e98..18b60392c5 100644 --- a/InvenTree/report/admin.py +++ b/InvenTree/report/admin.py @@ -4,7 +4,7 @@ from django.contrib import admin from .models import (BillOfMaterialsReport, BuildReport, PurchaseOrderReport, ReportAsset, ReportSnippet, ReturnOrderReport, - SalesOrderReport, TestReport) + SalesOrderReport, StockLocationReport, TestReport) class ReportTemplateAdmin(admin.ModelAdmin): @@ -25,6 +25,7 @@ class ReportAssetAdmin(admin.ModelAdmin): admin.site.register(ReportSnippet, ReportSnippetAdmin) admin.site.register(ReportAsset, ReportAssetAdmin) +admin.site.register(StockLocationReport, ReportTemplateAdmin) admin.site.register(TestReport, ReportTemplateAdmin) admin.site.register(BuildReport, ReportTemplateAdmin) admin.site.register(BillOfMaterialsReport, ReportTemplateAdmin) diff --git a/InvenTree/report/api.py b/InvenTree/report/api.py index b84da561b7..5563b9ffa1 100644 --- a/InvenTree/report/api.py +++ b/InvenTree/report/api.py @@ -20,14 +20,16 @@ import part.models from InvenTree.api import MetadataView from InvenTree.filters import InvenTreeSearchFilter from InvenTree.mixins import ListAPI, RetrieveAPI, RetrieveUpdateDestroyAPI -from stock.models import StockItem, StockItemAttachment +from stock.models import StockItem, StockItemAttachment, StockLocation from .models import (BillOfMaterialsReport, BuildReport, PurchaseOrderReport, - ReturnOrderReport, SalesOrderReport, TestReport) + ReturnOrderReport, SalesOrderReport, StockLocationReport, + TestReport) from .serializers import (BOMReportSerializer, BuildReportSerializer, PurchaseOrderReportSerializer, ReturnOrderReportSerializer, - SalesOrderReportSerializer, TestReportSerializer) + SalesOrderReportSerializer, + StockLocationReportSerializer, TestReportSerializer) class ReportListView(ListAPI): @@ -448,6 +450,30 @@ class ReturnOrderReportPrint(ReturnOrderReportMixin, ReportPrintMixin, RetrieveA pass +class StockLocationReportMixin(ReportFilterMixin): + """Mixin for StockLocation report template""" + + ITEM_MODEL = StockLocation + ITEM_KEY = 'location' + queryset = StockLocationReport.objects.all() + serializer_class = StockLocationReportSerializer + + +class StockLocationReportList(StockLocationReportMixin, ReportListView): + """API list endpoint for the StockLocationReportList model""" + pass + + +class StockLocationReportDetail(StockLocationReportMixin, RetrieveUpdateDestroyAPI): + """API endpoint for a single StockLocationReportDetail object.""" + pass + + +class StockLocationReportPrint(StockLocationReportMixin, ReportPrintMixin, RetrieveAPI): + """API endpoint for printing a StockLocationReportPrint object""" + pass + + report_api_urls = [ # Purchase order reports @@ -524,4 +550,18 @@ report_api_urls = [ # List view re_path(r'^.*$', StockItemTestReportList.as_view(), name='api-stockitem-testreport-list'), ])), + + # Stock Location reports (Stock Location Reports -> sir) + re_path(r'slr/', include([ + # Detail views + path(r'/', include([ + re_path(r'print/?', StockLocationReportPrint.as_view(), name='api-stocklocation-report-print'), + re_path(r'metadata/', MetadataView.as_view(), {'report': StockLocationReport}, name='api-stocklocation-report-metadata'), + re_path(r'^.*$', StockLocationReportDetail.as_view(), name='api-stocklocation-report-detail'), + ])), + + # List view + re_path(r'^.*$', StockLocationReportList.as_view(), name='api-stocklocation-report-list'), + ])), + ] diff --git a/InvenTree/report/apps.py b/InvenTree/report/apps.py index e5eec5e736..74999d1cae 100644 --- a/InvenTree/report/apps.py +++ b/InvenTree/report/apps.py @@ -32,6 +32,7 @@ class ReportConfig(AppConfig): self.create_default_purchase_order_reports() self.create_default_sales_order_reports() self.create_default_return_order_reports() + self.create_default_stock_location_reports() def create_default_reports(self, model, reports): """Copy default report files across to the media directory.""" @@ -201,3 +202,23 @@ class ReportConfig(AppConfig): ] self.create_default_reports(ReturnOrderReport, reports) + + def create_default_stock_location_reports(self): + """Create database entries for the default StockLocationReport templates""" + + try: + from report.models import StockLocationReport + except Exception: # pragma: no cover + # Database not yet ready + return + + # List of templates to copy across + reports = [ + { + 'file': 'inventree_slr_report.html', + 'name': 'InvenTree Stock Location', + 'description': 'Stock Location example report', + } + ] + + self.create_default_reports(StockLocationReport, reports) diff --git a/InvenTree/report/migrations/0020_stocklocationreport.py b/InvenTree/report/migrations/0020_stocklocationreport.py new file mode 100644 index 0000000000..b43c414e3b --- /dev/null +++ b/InvenTree/report/migrations/0020_stocklocationreport.py @@ -0,0 +1,32 @@ +# Generated by Django 3.2.19 on 2023-06-29 14:46 + +import django.core.validators +from django.db import migrations, models +import report.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('report', '0019_returnorderreport_metadata'), + ] + + operations = [ + migrations.CreateModel( + name='StockLocationReport', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('metadata', models.JSONField(blank=True, help_text='JSON metadata field, for use by external plugins', null=True, verbose_name='Plugin Metadata')), + ('name', models.CharField(help_text='Template name', max_length=100, verbose_name='Name')), + ('template', models.FileField(help_text='Report template file', upload_to=report.models.rename_template, validators=[django.core.validators.FileExtensionValidator(allowed_extensions=['html', 'htm'])], verbose_name='Template')), + ('description', models.CharField(help_text='Report template description', max_length=250, verbose_name='Description')), + ('revision', models.PositiveIntegerField(default=1, editable=False, help_text='Report revision number (auto-increments)', verbose_name='Revision')), + ('filename_pattern', models.CharField(default='report.pdf', help_text='Pattern for generating report filenames', max_length=100, verbose_name='Filename Pattern')), + ('enabled', models.BooleanField(default=True, help_text='Report template is enabled', verbose_name='Enabled')), + ('filters', models.CharField(blank=True, help_text='stock location query filters (comma-separated list of key=value pairs)', max_length=250, validators=[report.models.validate_stock_location_report_filters], verbose_name='Filters')), + ], + options={ + 'abstract': False, + }, + ), + ] diff --git a/InvenTree/report/models.py b/InvenTree/report/models.py index 9674095b85..8d32096872 100644 --- a/InvenTree/report/models.py +++ b/InvenTree/report/models.py @@ -74,6 +74,11 @@ def validate_return_order_filters(filters): return validateFilterString(filters, model=order.models.ReturnOrder) +def validate_stock_location_report_filters(filters): + """Validate filter string against StockLocation model.""" + return validateFilterString(filters, model=stock.models.StockLocation) + + class WeasyprintReportMixin(WeasyTemplateResponseMixin): """Class for rendering a HTML template to a PDF.""" @@ -619,3 +624,39 @@ class ReportAsset(models.Model): verbose_name=_('Description'), help_text=_("Asset file description") ) + + +class StockLocationReport(ReportTemplateBase): + """Render a StockLocationReport against a StockLocation object.""" + + @staticmethod + def get_api_url(): + """Return the API URL associated with the StockLocationReport model""" + return reverse('api-stocklocation-report-list') + + @classmethod + def getSubdir(cls): + """Return the subdirectory where StockLocationReport templates are located""" + return 'slr' + + filters = models.CharField( + blank=True, + max_length=250, + verbose_name=_('Filters'), + help_text=_("stock location query filters (comma-separated list of key=value pairs)"), + validators=[ + validate_stock_location_report_filters + ] + ) + + def get_context_data(self, request): + """Return custom context data for the StockLocationReport template""" + stock_location = self.object_to_print + + if type(stock_location) != stock.models.StockLocation: + raise TypeError('Provided model is not a StockLocation object -> ' + str(type(stock_location))) + + return { + 'stock_location': stock_location, + 'stock_items': stock_location.get_stock_items(), + } diff --git a/InvenTree/report/serializers.py b/InvenTree/report/serializers.py index 330279834f..5c15b14e0e 100644 --- a/InvenTree/report/serializers.py +++ b/InvenTree/report/serializers.py @@ -4,7 +4,8 @@ from InvenTree.serializers import (InvenTreeAttachmentSerializerField, InvenTreeModelSerializer) from .models import (BillOfMaterialsReport, BuildReport, PurchaseOrderReport, - ReturnOrderReport, SalesOrderReport, TestReport) + ReturnOrderReport, SalesOrderReport, StockLocationReport, + TestReport) class ReportSerializerBase(InvenTreeModelSerializer): @@ -84,3 +85,13 @@ class ReturnOrderReportSerializer(ReportSerializerBase): model = ReturnOrderReport fields = ReportSerializerBase.report_fields() + + +class StockLocationReportSerializer(ReportSerializerBase): + """Serializer class for the StockLocationReport model""" + + class Meta: + """Metaclass options""" + + model = StockLocationReport + fields = ReportSerializerBase.report_fields() diff --git a/InvenTree/report/templates/report/inventree_slr_report.html b/InvenTree/report/templates/report/inventree_slr_report.html new file mode 100644 index 0000000000..f10c74d318 --- /dev/null +++ b/InvenTree/report/templates/report/inventree_slr_report.html @@ -0,0 +1,124 @@ +{% extends "report/inventree_report_base.html" %} + +{% load i18n %} +{% load report %} +{% load barcode %} +{% load inventree_extras %} + +{% block page_margin %} +margin: 2cm; +margin-top: 4cm; +{% endblock page_margin %} + +{% block bottom_left %} +content: "v{{ report_revision }} - {{ date.isoformat }}"; +{% endblock bottom_left %} + +{% block bottom_center %} +content: "{% inventree_version shortstring=True %}"; +{% endblock bottom_center %} + +{% block style %} + +.header-right { + text-align: right; + float: right; +} + +.logo { + height: 20mm; + vertical-align: middle; +} + +.thumb-container { + width: 32px; + display: inline; +} + +.part-thumb { + max-width: 32px; + max-height: 32px; + display: inline; +} + +.part-text { + display: inline; +} + +.part-logo { + max-width: 60px; + max-height: 60px; + display: inline; +} + +table { + border: 1px solid #eee; + border-radius: 3px; + border-collapse: collapse; + width: 100%; + font-size: 80%; +} + +table td { + border: 1px solid #eee; +} + +table td.shrink { + white-space: nowrap +} + +table td.expand { + width: 99% +} + +.invisible-table { + border: 0px solid transparent; + border-collapse: collapse; + width: 100%; + font-size: 80%; +} + +.invisible-table td { + border: 0px solid transparent; +} + +.main-part-text { + display: inline; +} + +.main-part-description { + display: inline; +} + +{% endblock style %} + +{% block page_content %} + +

    {% trans "Stock location items" %}

    +

    {{ stock_location.name }}

    + + + + + + + + + + + {% for line in stock_items.all %} + + + + + + + {% endfor %} + +
    {% trans "Part" %}{% trans "IPN" %}{% trans "Quantity" %}{% trans "Note" %}
    +
    + {{ line.part.full_name }} +
    +
    {{ line.part.IPN }}{% decimal line.quantity %}{{ line.notes }}
    + +{% endblock page_content %} diff --git a/InvenTree/report/tests.py b/InvenTree/report/tests.py index a652ce5f5c..f97490e228 100644 --- a/InvenTree/report/tests.py +++ b/InvenTree/report/tests.py @@ -475,3 +475,18 @@ class ReturnOrderReportTest(ReportTest): self.copyReportTemplate('inventree_return_order_report.html', 'return order report') return super().setUp() + + +class StockLocationReportTest(ReportTest): + """Unit tests for the StockLocationReport model""" + + model = report_models.StockLocationReport + list_url = 'api-stocklocation-report-list' + detail_url = 'api-stocklocation-report-detail' + print_url = 'api-stocklocation-report-print' + + def setUp(self): + """Setup function for the StockLocationReport tests""" + self.copyReportTemplate('inventree_slr_report.html', 'stock location report') + + return super().setUp() diff --git a/InvenTree/stock/templates/stock/location.html b/InvenTree/stock/templates/stock/location.html index 60dad09d64..b9abdb040c 100644 --- a/InvenTree/stock/templates/stock/location.html +++ b/InvenTree/stock/templates/stock/location.html @@ -70,7 +70,8 @@
    {% endif %} @@ -282,6 +283,17 @@ }); {% endif %} + {% if report_enabled %} + $('#print-location-report').click(function() { + + printReports({ + items: [{{ location.pk }}], + key: 'location', + url: '{% url "api-stocklocation-report-list" %}', + }); + }); + {% endif %} + {% if location %} $("#barcode-scan-in-items").click(function() { barcodeCheckInStockItems({{ location.id }}); diff --git a/InvenTree/users/models.py b/InvenTree/users/models.py index d6f5c05214..64ce156984 100644 --- a/InvenTree/users/models.py +++ b/InvenTree/users/models.py @@ -115,6 +115,7 @@ class RuleSet(models.Model): 'stock_location': [ 'stock_stocklocation', 'label_stocklocationlabel', + 'report_stocklocationreport' ], 'stock': [ 'stock_stockitem', From 3bea80982385edbfe9721a86821c3bc6aa269d85 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 5 Jul 2023 11:11:19 +1000 Subject: [PATCH 082/103] Unit check option (#5175) * Add option to control parameter units * Check setting before validation * Update part parameter settings page * Update unit tests * Update docs --- InvenTree/common/models.py | 7 +++ InvenTree/part/models.py | 10 ++++ InvenTree/part/test_param.py | 16 ++++++- .../InvenTree/settings/part_parameters.html | 43 ++++++++++++------ .../images/part/part_parameters_enforce.png | Bin 0 -> 6264 bytes docs/docs/part/parameter.md | 6 +++ 6 files changed, 67 insertions(+), 15 deletions(-) create mode 100644 docs/docs/assets/images/part/part_parameters_enforce.png diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 2177521480..23f83a7587 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1249,6 +1249,13 @@ class InvenTreeSetting(BaseInvenTreeSetting): 'default': '', }, + 'PART_PARAMETER_ENFORCE_UNITS': { + 'name': _('Enforce Parameter Units'), + 'description': _('If units are provided, parameter values must match the specified units'), + 'default': True, + 'validator': bool, + }, + 'PRICING_DECIMAL_PLACES_MIN': { 'name': _('Minimum Pricing Decimal Places'), 'description': _('Minimum number of decimal places to display when rendering pricing data'), diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index cd993ed826..7b1d228696 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -3532,6 +3532,16 @@ class PartParameter(MetadataMixin, models.Model): super().clean() + # Validate the parameter data against the template units + if InvenTreeSetting.get_setting('PART_PARAMETER_ENFORCE_UNITS', True, cache=False, create=False): + if self.template.units: + try: + InvenTree.conversion.convert_physical_value(self.data, self.template.units) + except ValidationError as e: + raise ValidationError({ + 'data': e.message + }) + # Validate the parameter data against the template choices if choices := self.template.get_choices(): if self.data not in choices: diff --git a/InvenTree/part/test_param.py b/InvenTree/part/test_param.py index 13767676c7..8ae2ca5d7c 100644 --- a/InvenTree/part/test_param.py +++ b/InvenTree/part/test_param.py @@ -4,6 +4,7 @@ import django.core.exceptions as django_exceptions from django.test import TestCase, TransactionTestCase from django.urls import reverse +from common.models import InvenTreeSetting from InvenTree.unit_test import InvenTreeAPITestCase from .models import (Part, PartCategory, PartCategoryParameterTemplate, @@ -168,11 +169,24 @@ class ParameterTests(TestCase): param = PartParameter(part=prt, template=template, data=value) param.full_clean() + bad_values = ['3 Amps', '-3 zogs', '3.14F'] + + # Disable enforcing of part parameter units + InvenTreeSetting.set_setting('PART_PARAMETER_ENFORCE_UNITS', False, change_user=None) + # Invalid units also pass, but will be converted to the template units - for value in ['3 Amps', '-3 zogs', '3.14F']: + for value in bad_values: param = PartParameter(part=prt, template=template, data=value) param.full_clean() + # Enable enforcing of part parameter units + InvenTreeSetting.set_setting('PART_PARAMETER_ENFORCE_UNITS', True, change_user=None) + + for value in bad_values: + param = PartParameter(part=prt, template=template, data=value) + with self.assertRaises(django_exceptions.ValidationError): + param.full_clean() + def test_param_unit_conversion(self): """Test that parameters are correctly converted to template units""" diff --git a/InvenTree/templates/InvenTree/settings/part_parameters.html b/InvenTree/templates/InvenTree/settings/part_parameters.html index d2b15edf87..95812ef51e 100644 --- a/InvenTree/templates/InvenTree/settings/part_parameters.html +++ b/InvenTree/templates/InvenTree/settings/part_parameters.html @@ -4,22 +4,37 @@ {% block label %}part-parameters{% endblock label %} {% block heading %} -{% trans "Part Parameter Templates" %} +{% trans "Part Parameters" %} {% endblock heading %} -{% block actions %} - -{% endblock actions %} +{% block panel_content %} -{% block content %} -
    -
    - {% include "filter_list.html" with id="parameter-templates" %} -
    -
    - +
    + + {% include "InvenTree/settings/setting.html" with key="PART_PARAMETER_ENFORCE_UNITS" icon="fa-clipboard-check" %} +
    -{% endblock content %} +
    +
    +

    {% trans "Part Parameter Templates" %}

    + {% include "spacer.html" %} +
    + +
    +
    +
    + +
    +
    +
    + {% include "filter_list.html" with id="parameter-templates" %} +
    +
    + +
    +
    + +{% endblock panel_content %} diff --git a/docs/docs/assets/images/part/part_parameters_enforce.png b/docs/docs/assets/images/part/part_parameters_enforce.png new file mode 100644 index 0000000000000000000000000000000000000000..2ce41ad2f342311da4d51e0ea1c7e105c22232a1 GIT binary patch literal 6264 zcmb_Ac|6qJ*OXRUrIKALB+-oQYsnI2XY8IZc&uaWyC_0KWtkXE$j(?MjQy!0nXx3h zv1H%I$TAoP@ASM6zvrL#{pWqp=kxu3@45HfbIV#OUd0FrVi%8QxX6kL|;o$A}3<{>xfP%s9UQQm~*2ZUPQ`lD@KYC!~Z@rRX;c*3& z621rDbmBGF(%xVdSbMYGP~B%B!0TTjdNyU{>Weu6SB{t%!FbNNoU19EE~EVFS^8&k z^VQxzm#KW6z{8nEy4du_RLbG6KO$k-H`%5;ng*=vosn@cM!qlGi-tyyNUP$3@%*A8 zYgstbjV9TDgGxJ_ zbe%L-zfBtRGM3VRt_wO?@+=`fLo)wrB*Iqapcx5`_TqP$j zUteDS)7dT4n}bBzm`|F#aPc3IcBwMYNKGAn#Ni$stiXQasQ==!ypqzm5l2@rzmHu= zNCuGmNX97#9zH%~W~Q~N>Cn&+a&!%cegJOW9OO76@#G2#0Amh{wKuk5hW+S}J-2hj zZ@IO>hn;l_ezU=|Ej?YIE4~<3pqRD^jBHY{y|@~sQtukX*Ld7FXwzY_eQ#p;k^1DP z@OQAx-_G|eb$(_sJe2dFG#S81CaxLQ0Y`iAhS{D6y-H(41LI+CcU^+Xu7Q`16zi!m zngtw1dz3N1&o;FHKf3SU%6GaSM-4zGzch*JG$gI(P$J~Guv$@|tq*Ztd+ z2$<&Sg~GTni}U+!B6<5et@XNJqvBWHJUm?ZxPwf1?!C2h86c;LV8@V+&;z4xk5NYl z!npi*2^qQicVuL}f8Qr03e^!j5T@t1Oxef|bq0IR{P-D@lM%EMzbBUv>}__igYC zEq?_j>iKDaOD7dLWWE0K86O-D`F?de-loB2`{B`%db+ochq%NU<|I#yWb4lV_5QXL zjG0%?Ykwd@Tw#olr`$NJ#6G2eaYSyfOiXN8eK|!rsjflBv#=Q(FV)=f>!%>{jBMRr=1=YH)qCQRWW8If#e$f`ShsY>l%*8AL=v(0EL3|TVXuWtM3Gc-Q5=SaZ3{40r!_)3y zd9EEq54G+JfH73R+}ne5hn^dW8`a-2D);bP)k%!Pjp@jPSRUD7_QUw1G7HL7 znwQTSF8mNExkrYC2n7-06aC^?N%u{g{k;6#g<3#8$o5j&aK%?hlD3~%=r#4e>Q(&H99y^zGLQvA%zuTnIOas+Y8P4&%u`04DA$MBH(p@$9r&9E7>G zb%)l@OqissQX;?@RlfSw_u3ZqOd!9u5wOhkk1rW6a1o7BixW9EFqLBq9XTBUfH8s-UQ9mGpUp@a9nv`-HwG?G^2LTwjz zCsyPcj>PfQPO&-m_K$*Ba+#u!0*qc746Fw8hL);h6pxW+b)n^IdWAgoK3djt)^#QH(hv-+=>VUWzIy z8PYmVw&?mC0|ElT;9T=k_iUzoJ$Z$Y-OctyA!o;9UIpEWLb{nsA?Bqfj*gB95$tU# zDJelgK@$+DKl7OCJ5zCSF&i5j8jb#)e!cvie&xSUPdBRXpPYz3+?hkw9FQZ!yb_Kx zL+c|sClfsp&>R*AwSq_&|)|&xoC`h#5vr=c45O~{NPu;G)wTIZpLAa zS--Wj&6Urs5$diM9HdSwkNpktP&1>ddfw6&5H=`V!H+d;HnZ@vX4y)BYl~#kUkiZL zAL5}D(yu{MD(Jj?jX;1rYFvC2%V4wF^kw>#)2&fAd%T}W2w*F|?o1hP;7(yh@m63B z|K~x~`fa98%$YJC3GAwryuPw=Utwhon~IgVJXIVX+Ftnrjc*=!`R3tW59^tC372Rx zhl3K9Hqllg6NmV$(#ty{g~>K|trARZy}&Y!IB!K8+J4Mn`>}nk z)tK_o9$_*mLI2QZxxZa1`}+kIVep?`D*&5)7H&R`$-Y0UcJc8gpNP zX<4dTF9R*n%W8Wjm>-O)`n5QdJe;!ArF{?%FN#%b_&9uer|<%NvU;Wa4;-ZQEEvN+ zpKlpO&;tIQu3OvrlHDp!5Bh}ePZkwlyxmvrtiK|X7Q2|O%B&@d1@jsDD4NIEb99+B z#lwaKlEUKBOV7)WEsbt{+U;);w}LH5dkuffMi6>}}PGP-5>9&QlO?yx`5{@&)i!v>$hv~Q#p{r{n zFKatzOWHe4J2ynq&J5m+{t&ba7bT2w_q_hHY7pH1=z;~aF!b? z@m&Szl0$ni2_`I^ck4Igiz;5+YLa>z&fy_O&x3y!ZDvZ!H>?bs8TwpQzIJ(qgENlh zuI-6%4J(s_GAEx?SHu$w^sTz8EB`24hVVhcjEduWd`zB&Fh8_;e{kWHdO~gfrs8*! z3u=K_{eeVxAntpy*N(*6q`!L2;5@uRho8`M=B*h85M|fysHRkC553VTcllm--Mbg* zpUR?wRG$QW2tFXo4V6D5+{&3ZIuP2T1a;?iDv`0WIaZd z6sVNRaWDrJX@$U%8?8Ny+@JL?BY!N9h$gKH!m}JImMw@CRJkErc}=fk)1b4xPKK8l z!MZS|RyTBb^`Dq@>^-$N<{|cfU6U6Iy^AWJ7WsJH0hk7RqYmYy=U2A^ZUq8BNX#a; zeokH9`7i~%GQPj{n%Gu}DSwSiB9Aabg){@wn$#VnN}Uf(F;21`)o^s-b+BtUf7m@L zM#2=@e;HynD_~e7_1se=sdyf|Gm4(^y+3be0wg%S4qeYtf3A#rEPs%%q2D303EHtT z&?u2Lcu7Q#$G=;1gnHT<8kRb7D_;;}14N5Zs4+Y%2nCeuYq=eG$!A%c_Z6D~$qMve zgcStRl+Roq7S5i;u;|Yib;vj-CuE?6yNMV9dH~n@BU)u7{3_U`Ic~RWH4IXfb$Kgj z%E;c2NwcC8EK}v_=&ZFbUHtiW=SJyE>!<3u0xI!r z8|OOOG#sC@zEQCP9t2(ti$0UB?xPsBr!pn(Ry8SCTt3C(P`132IS0|@SZTVhNiFG_ z80OYb<)`lR<<4^{DiLhm1maQ%t%^@>O-IT=S#NBTrtn~YUI6p-=kqvwDfN#H*RXM>LU+hXy0@SBufH-Y%4*gSOr%*U^Q6zG!_zO(nwk0$ zU)OT}y!?6W0rsMVJvZgj8GE3<=|xBCddS|pofL~)Gt5c6P8}u zym{GX-!ii)L6bi;bu_O&VFQHS2O5sVKT*vSF zi!LhZp8#wXwp^awIzL@1yTQwT)A$6P|Cm1fb+dI}vH>Q2THS{dy{Cd96u5l14tK`V zoCG5%z3Ecipu^XgB$as$yow36}C@Q04K@l*oe5dR}&TcR4lQFiSXkT;QRYgs)P>0e7>J`rgd6PF3fKVC zjg^DKq{Y2g3)h^;32s9E|M!@De%*!KuL~Uh3s#gPZd^Umn^FY zSMo=<#$Ncw6oR(Q7PT(=^{!BO*owpYGi?C*tbVp*u3mg=fv@gX4BM-U zlQB;^imsJ)Dlg@9hDlq(u=EY%1=?S2IHy)2&zF9Zq~?CGY(Iz8=nsBqr0b80yRdcX zGN)=7+o*e-dJun*-D6wQNwLEVS?{f7P#q6^2xCF6eghKJ&N9EX-s~E;Pe#C9=oRz^*4b7g>zG)m5Mpxg&t-uMydhk0fg{MgwvnZOpfreqUJ+c zDK-(f0amG6b%*i#0b+pYvPp4-K~LKwEl&gxP1B#9<6XJ(m8&!O{WyjRjufN2SAfUa z#IzSZ@O}!rzwa*740mRi?)btiVo3~&C)ee~@t+Pj**aLiyd}(V=SdV*9KtRb_{E|hisk3*)O>g#?VOO<>*&kXL{QdtM9)S?|N>% zHdpDyf@UCI19K~?#V~5!WXo78QrrfbVJUwKcbJxLh=iPYq26n#?Ac@wB9 zwE{4EH`Om4;Go!l{rvoE#$w(mv!_q^f2;O1)nG}d!VQd>Li{Y*vMZwXoysoKxC01$ zVpJmP$#LS3pq~x2nrwK6Eofp}S=?witzwy47p$8;QY|TS Date: Wed, 5 Jul 2023 22:53:32 +1000 Subject: [PATCH 083/103] use django-q2 (#5167) * use django-q2 - Modern fork of django-q * Update requirements.txt --- requirements.in | 2 +- requirements.txt | 22 ++++++---------------- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/requirements.in b/requirements.in index d178f0b64a..2c906d380c 100644 --- a/requirements.in +++ b/requirements.in @@ -19,7 +19,7 @@ django-markdownify # Markdown rendering django-money<3.0.0 # Django app for currency management # FIXED 2022-06-26 to make sure py-moneyed is not conflicting django-mptt==0.11.0 # Modified Preorder Tree Traversal django-redis>=5.0.0 # Redis integration -django-q # Background task scheduling +django-q2 # Background task scheduling django-q-sentry # sentry.io integration for django-q django-sql-utils # Advanced query annotation / aggregation django-sslserver # Secure HTTP development server diff --git a/requirements.txt b/requirements.txt index b12886a1a6..1234066fae 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,8 +4,6 @@ # # pip-compile --output-file=requirements.txt requirements.in # -arrow==1.2.3 - # via django-q asgiref==3.7.2 # via django attrs==23.1.0 @@ -14,8 +12,6 @@ babel==2.12.1 # via py-moneyed bleach[css]==6.0.0 # via django-markdownify -blessed==1.20.0 - # via django-q brotli==1.0.9 # via fonttools certifi==2023.5.7 @@ -67,7 +63,7 @@ django==3.2.20 # django-mptt # django-otp # django-picklefield - # django-q + # django-q2 # django-recurrence # django-redis # django-sql-utils @@ -84,7 +80,7 @@ django-allauth==0.54.0 # via # -r requirements.in # django-allauth-2fa -django-allauth-2fa==0.10.0 +django-allauth-2fa==0.11.0 # via -r requirements.in django-cleanup==8.0.0 # via -r requirements.in @@ -119,11 +115,11 @@ django-mptt==0.11.0 django-otp==1.2.2 # via django-allauth-2fa django-picklefield==3.1 - # via django-q -django-q==1.3.9 - # via -r requirements.in + # via django-q2 django-q-sentry==0.1.6 # via -r requirements.in +django-q2==1.5.4 + # via -r requirements.in django-recurrence==1.11.1 # via django-ical django-redis==5.3.0 @@ -224,7 +220,6 @@ python-barcode[images]==0.14.0 # via -r requirements.in python-dateutil==2.8.2 # via - # arrow # django-recurrence # icalendar python-dotenv==1.0.0 @@ -250,9 +245,7 @@ qrcode[pil]==7.4.2 rapidfuzz==0.7.6 # via -r requirements.in redis==3.5.3 - # via - # django-q - # django-redis + # via django-redis regex==2023.6.3 # via -r requirements.in requests==2.31.0 @@ -271,7 +264,6 @@ sgmllib3k==1.0.0 six==1.16.0 # via # bleach - # blessed # html5lib # python-dateutil sqlparse==0.4.4 @@ -300,8 +292,6 @@ urllib3==2.0.3 # dulwich # requests # sentry-sdk -wcwidth==0.2.6 - # via blessed weasyprint==54.3 # via # -r requirements.in From 831693e94196df932be3322dde69f0215b138aec Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 5 Jul 2023 22:53:44 +1000 Subject: [PATCH 084/103] Stocktake external (#5182) * Add 'location' filtering option for part.stock_entries * Add "exclude_external" field to stocktake report * Add "stocktake_exclude_external" default option * Implement setting to exclude external stock * Split stocktake functionality out into separate file * Change name of internal setting * Refactoring * Add 'exclude_external' field to stocktake form --- InvenTree/common/models.py | 7 + InvenTree/part/models.py | 14 +- InvenTree/part/serializers.py | 10 +- InvenTree/part/stocktake.py | 276 ++++++++++++++++++ InvenTree/part/tasks.py | 271 +---------------- InvenTree/part/test_api.py | 2 +- .../InvenTree/settings/part_stocktake.html | 1 + InvenTree/templates/js/translated/part.js | 4 + 8 files changed, 315 insertions(+), 270 deletions(-) create mode 100644 InvenTree/part/stocktake.py diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 23f83a7587..1b546dd0e2 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -1685,6 +1685,13 @@ class InvenTreeSetting(BaseInvenTreeSetting): 'default': False, }, + 'STOCKTAKE_EXCLUDE_EXTERNAL': { + 'name': _('Exclude External Locations'), + 'description': _('Exclude stock items in external locations from stocktake calculations'), + 'validator': bool, + 'default': False, + }, + 'STOCKTAKE_AUTO_DAYS': { 'name': _('Automatic Stocktake Period'), 'description': _('Number of days between automatic stocktake recording (set to zero to disable)'), diff --git a/InvenTree/part/models.py b/InvenTree/part/models.py index 7b1d228696..8b1edb7870 100644 --- a/InvenTree/part/models.py +++ b/InvenTree/part/models.py @@ -1447,13 +1447,13 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) ], ) - def stock_entries(self, include_variants=True, in_stock=None): + def stock_entries(self, include_variants=True, in_stock=None, location=None): """Return all stock entries for this Part. - - If this is a template part, include variants underneath this. - - Note: To return all stock-entries for all part variants under this one, - we need to be creative with the filtering. + Arguments: + include_variants: If True, include stock entries for all part variants + in_stock: If True, filter by stock entries which are 'in stock' + location: If set, filter by stock entries in the specified location """ if include_variants: query = StockModels.StockItem.objects.filter(part__in=self.get_descendants(include_self=True)) @@ -1465,6 +1465,10 @@ class Part(InvenTreeBarcodeMixin, InvenTreeNotesMixin, MetadataMixin, MPTTModel) elif in_stock is False: query = query.exclude(StockModels.StockItem.IN_STOCK_FILTER) + if location: + locations = location.get_descendants(include_self=True) + query = query.filter(location__in=locations) + return query def get_stock_count(self, include_variants=True): diff --git a/InvenTree/part/serializers.py b/InvenTree/part/serializers.py index 3d145c00f2..dc49af7c89 100644 --- a/InvenTree/part/serializers.py +++ b/InvenTree/part/serializers.py @@ -23,6 +23,7 @@ import InvenTree.helpers import InvenTree.serializers import InvenTree.status import part.filters +import part.stocktake import part.tasks import stock.models from InvenTree.status_codes import BuildStatusGroups @@ -932,6 +933,12 @@ class PartStocktakeReportGenerateSerializer(serializers.Serializer): label=_('Location'), help_text=_('Limit stocktake report to a particular stock location, and any child locations') ) + exclude_external = serializers.BooleanField( + default=True, + label=_('Exclude External Stock'), + help_text=_('Exclude stock items in external locations') + ) + generate_report = serializers.BooleanField( default=True, label=_('Generate Report'), @@ -965,12 +972,13 @@ class PartStocktakeReportGenerateSerializer(serializers.Serializer): # Generate a new report offload_task( - part.tasks.generate_stocktake_report, + part.stocktake.generate_stocktake_report, force_async=True, user=user, part=data.get('part', None), category=data.get('category', None), location=data.get('location', None), + exclude_external=data.get('exclude_external', True), generate_report=data.get('generate_report', True), update_parts=data.get('update_parts', True), ) diff --git a/InvenTree/part/stocktake.py b/InvenTree/part/stocktake.py new file mode 100644 index 0000000000..8e82d10261 --- /dev/null +++ b/InvenTree/part/stocktake.py @@ -0,0 +1,276 @@ +"""Stocktake report functionality""" + +import io +import logging +import time +from datetime import datetime + +from django.contrib.auth.models import User +from django.core.files.base import ContentFile +from django.utils.translation import gettext_lazy as _ + +import tablib +from djmoney.contrib.exchange.exceptions import MissingRate +from djmoney.contrib.exchange.models import convert_money +from djmoney.money import Money + +import common.models +import InvenTree.helpers +import part.models +import stock.models + +logger = logging.getLogger('inventree') + + +def perform_stocktake(target: part.models.Part, user: User, note: str = '', commit=True, **kwargs): + """Perform stocktake action on a single part. + + arguments: + target: A single Part model instance + commit: If True (default) save the result to the database + user: User who requested this stocktake + + kwargs: + exclude_external: If True, exclude stock items in external locations (default = False) + + Returns: + PartStocktake: A new PartStocktake model instance (for the specified Part) + """ + + # Grab all "available" stock items for the Part + # We do not include variant stock when performing a stocktake, + # otherwise the stocktake entries will be duplicated + stock_entries = target.stock_entries(in_stock=True, include_variants=False) + + exclude_external = kwargs.get('exclude_external', False) + + if exclude_external: + stock_entries = stock_entries.exclude(location__external=True) + + # Cache min/max pricing information for this Part + pricing = target.pricing + + if not pricing.is_valid: + # If pricing is not valid, let's update + logger.info(f"Pricing not valid for {target} - updating") + pricing.update_pricing(cascade=False) + pricing.refresh_from_db() + + base_currency = common.settings.currency_code_default() + + total_quantity = 0 + total_cost_min = Money(0, base_currency) + total_cost_max = Money(0, base_currency) + + for entry in stock_entries: + + # Update total quantity value + total_quantity += entry.quantity + + has_pricing = False + + # Update price range values + if entry.purchase_price: + # If purchase price is available, use that + try: + pp = convert_money(entry.purchase_price, base_currency) * entry.quantity + total_cost_min += pp + total_cost_max += pp + has_pricing = True + except MissingRate: + logger.warning(f"MissingRate exception occurred converting {entry.purchase_price} to {base_currency}") + + if not has_pricing: + # Fall back to the part pricing data + p_min = pricing.overall_min or pricing.overall_max + p_max = pricing.overall_max or pricing.overall_min + + if p_min or p_max: + try: + total_cost_min += convert_money(p_min, base_currency) * entry.quantity + total_cost_max += convert_money(p_max, base_currency) * entry.quantity + except MissingRate: + logger.warning(f"MissingRate exception occurred converting {p_min}:{p_max} to {base_currency}") + + # Construct PartStocktake instance + instance = part.models.PartStocktake( + part=target, + item_count=stock_entries.count(), + quantity=total_quantity, + cost_min=total_cost_min, + cost_max=total_cost_max, + note=note, + user=user, + ) + + if commit: + instance.save() + + return instance + + +def generate_stocktake_report(**kwargs): + """Generated a new stocktake report. + + Note that this method should be called only by the background worker process! + + Unless otherwise specified, the stocktake report is generated for *all* Part instances. + Optional filters can by supplied via the kwargs + + kwargs: + user: The user who requested this stocktake (set to None for automated stocktake) + part: Optional Part instance to filter by (including variant parts) + category: Optional PartCategory to filter results + location: Optional StockLocation to filter results + exclude_external: If True, exclude stock items in external locations (default = False) + generate_report: If True, generate a stocktake report from the calculated data (default=True) + update_parts: If True, save stocktake information against each filtered Part (default = True) + """ + + # Determine if external locations should be excluded + exclude_external = kwargs.get( + 'exclude_exernal', + common.models.InvenTreeSetting.get_setting('STOCKTAKE_EXCLUDE_EXTERNAL', False) + ) + + parts = part.models.Part.objects.all() + user = kwargs.get('user', None) + + generate_report = kwargs.get('generate_report', True) + update_parts = kwargs.get('update_parts', True) + + # Filter by 'Part' instance + if p := kwargs.get('part', None): + variants = p.get_descendants(include_self=True) + parts = parts.filter( + pk__in=[v.pk for v in variants] + ) + + # Filter by 'Category' instance (cascading) + if category := kwargs.get('category', None): + categories = category.get_descendants(include_self=True) + parts = parts.filter(category__in=categories) + + # Filter by 'Location' instance (cascading) + # Stocktake report will be limited to parts which have stock items within this location + if location := kwargs.get('location', None): + # Extract flat list of all sublocations + locations = list(location.get_descendants(include_self=True)) + + # Items which exist within these locations + items = stock.models.StockItem.objects.filter(location__in=locations) + + if exclude_external: + items = items.exclude(location__external=True) + + # List of parts which exist within these locations + unique_parts = items.order_by().values('part').distinct() + + parts = parts.filter( + pk__in=[result['part'] for result in unique_parts] + ) + + # Exit if filters removed all parts + n_parts = parts.count() + + if n_parts == 0: + logger.info("No parts selected for stocktake report - exiting") + return + + logger.info(f"Generating new stocktake report for {n_parts} parts") + + base_currency = common.settings.currency_code_default() + + # Construct an initial dataset for the stocktake report + dataset = tablib.Dataset( + headers=[ + _('Part ID'), + _('Part Name'), + _('Part Description'), + _('Category ID'), + _('Category Name'), + _('Stock Items'), + _('Total Quantity'), + _('Total Cost Min') + f' ({base_currency})', + _('Total Cost Max') + f' ({base_currency})', + ] + ) + + parts = parts.prefetch_related('category', 'stock_items') + + # Simple profiling for this task + t_start = time.time() + + # Keep track of each individual "stocktake" we perform. + # They may be bulk-commited to the database afterwards + stocktake_instances = [] + + total_parts = 0 + + # Iterate through each Part which matches the filters above + for p in parts: + + # Create a new stocktake for this part (do not commit, this will take place later on) + stocktake = perform_stocktake(p, user, commit=False, exclude_external=exclude_external) + + if stocktake.quantity == 0: + # Skip rows with zero total quantity + continue + + total_parts += 1 + + stocktake_instances.append(stocktake) + + # Add a row to the dataset + dataset.append([ + p.pk, + p.full_name, + p.description, + p.category.pk if p.category else '', + p.category.name if p.category else '', + stocktake.item_count, + stocktake.quantity, + InvenTree.helpers.normalize(stocktake.cost_min.amount), + InvenTree.helpers.normalize(stocktake.cost_max.amount), + ]) + + # Save a new PartStocktakeReport instance + buffer = io.StringIO() + buffer.write(dataset.export('csv')) + + today = datetime.now().date().isoformat() + filename = f"InvenTree_Stocktake_{today}.csv" + report_file = ContentFile(buffer.getvalue(), name=filename) + + if generate_report: + report_instance = part.models.PartStocktakeReport.objects.create( + report=report_file, + part_count=total_parts, + user=user + ) + + # Notify the requesting user + if user: + + common.notifications.trigger_notification( + report_instance, + category='generate_stocktake_report', + context={ + 'name': _('Stocktake Report Available'), + 'message': _('A new stocktake report is available for download'), + }, + targets=[ + user, + ] + ) + + # If 'update_parts' is set, we save stocktake entries for each individual part + if update_parts: + # Use bulk_create for efficient insertion of stocktake + part.models.PartStocktake.objects.bulk_create( + stocktake_instances, + batch_size=500, + ) + + t_stocktake = time.time() - t_start + logger.info(f"Generated stocktake report for {total_parts} parts in {round(t_stocktake, 2)}s") diff --git a/InvenTree/part/tasks.py b/InvenTree/part/tasks.py index 23781fd839..3b48f8e8f6 100644 --- a/InvenTree/part/tasks.py +++ b/InvenTree/part/tasks.py @@ -1,21 +1,14 @@ """Background task definitions for the 'part' app""" -import io + import logging import random import time from datetime import datetime, timedelta -from django.contrib.auth.models import User from django.core.exceptions import ValidationError -from django.core.files.base import ContentFile from django.utils.translation import gettext_lazy as _ -import tablib -from djmoney.contrib.exchange.exceptions import MissingRate -from djmoney.contrib.exchange.models import convert_money -from djmoney.money import Money - import common.models import common.notifications import common.settings @@ -24,8 +17,8 @@ import InvenTree.helpers import InvenTree.helpers_model import InvenTree.tasks import part.models -import stock.models -from InvenTree.tasks import ScheduledTask, scheduled_task +import part.stocktake +from InvenTree.tasks import ScheduledTask, check_daily_holdoff, scheduled_task logger = logging.getLogger("inventree") @@ -141,242 +134,6 @@ def check_missing_pricing(limit=250): pricing.schedule_for_update() -def perform_stocktake(target: part.models.Part, user: User, note: str = '', commit=True, **kwargs): - """Perform stocktake action on a single part. - - arguments: - target: A single Part model instance - commit: If True (default) save the result to the database - user: User who requested this stocktake - - Returns: - PartStocktake: A new PartStocktake model instance (for the specified Part) - """ - - # Grab all "available" stock items for the Part - # We do not include variant stock when performing a stocktake, - # otherwise the stocktake entries will be duplicated - stock_entries = target.stock_entries(in_stock=True, include_variants=False) - - # Cache min/max pricing information for this Part - pricing = target.pricing - - if not pricing.is_valid: - # If pricing is not valid, let's update - logger.info(f"Pricing not valid for {target} - updating") - pricing.update_pricing(cascade=False) - pricing.refresh_from_db() - - base_currency = common.settings.currency_code_default() - - total_quantity = 0 - total_cost_min = Money(0, base_currency) - total_cost_max = Money(0, base_currency) - - for entry in stock_entries: - - # Update total quantity value - total_quantity += entry.quantity - - has_pricing = False - - # Update price range values - if entry.purchase_price: - # If purchase price is available, use that - try: - pp = convert_money(entry.purchase_price, base_currency) * entry.quantity - total_cost_min += pp - total_cost_max += pp - has_pricing = True - except MissingRate: - logger.warning(f"MissingRate exception occurred converting {entry.purchase_price} to {base_currency}") - - if not has_pricing: - # Fall back to the part pricing data - p_min = pricing.overall_min or pricing.overall_max - p_max = pricing.overall_max or pricing.overall_min - - if p_min or p_max: - try: - total_cost_min += convert_money(p_min, base_currency) * entry.quantity - total_cost_max += convert_money(p_max, base_currency) * entry.quantity - except MissingRate: - logger.warning(f"MissingRate exception occurred converting {p_min}:{p_max} to {base_currency}") - - # Construct PartStocktake instance - instance = part.models.PartStocktake( - part=target, - item_count=stock_entries.count(), - quantity=total_quantity, - cost_min=total_cost_min, - cost_max=total_cost_max, - note=note, - user=user, - ) - - if commit: - instance.save() - - return instance - - -def generate_stocktake_report(**kwargs): - """Generated a new stocktake report. - - Note that this method should be called only by the background worker process! - - Unless otherwise specified, the stocktake report is generated for *all* Part instances. - Optional filters can by supplied via the kwargs - - kwargs: - user: The user who requested this stocktake (set to None for automated stocktake) - part: Optional Part instance to filter by (including variant parts) - category: Optional PartCategory to filter results - location: Optional StockLocation to filter results - generate_report: If True, generate a stocktake report from the calculated data (default=True) - update_parts: If True, save stocktake information against each filtered Part (default = True) - """ - - parts = part.models.Part.objects.all() - user = kwargs.get('user', None) - - generate_report = kwargs.get('generate_report', True) - update_parts = kwargs.get('update_parts', True) - - # Filter by 'Part' instance - if p := kwargs.get('part', None): - variants = p.get_descendants(include_self=True) - parts = parts.filter( - pk__in=[v.pk for v in variants] - ) - - # Filter by 'Category' instance (cascading) - if category := kwargs.get('category', None): - categories = category.get_descendants(include_self=True) - parts = parts.filter(category__in=categories) - - # Filter by 'Location' instance (cascading) - # Stocktake report will be limited to parts which have stock items within this location - if location := kwargs.get('location', None): - # Extract flat list of all sublocations - locations = list(location.get_descendants(include_self=True)) - - # Items which exist within these locations - items = stock.models.StockItem.objects.filter(location__in=locations) - - # List of parts which exist within these locations - unique_parts = items.order_by().values('part').distinct() - - parts = parts.filter( - pk__in=[result['part'] for result in unique_parts] - ) - - # Exit if filters removed all parts - n_parts = parts.count() - - if n_parts == 0: - logger.info("No parts selected for stocktake report - exiting") - return - - logger.info(f"Generating new stocktake report for {n_parts} parts") - - base_currency = common.settings.currency_code_default() - - # Construct an initial dataset for the stocktake report - dataset = tablib.Dataset( - headers=[ - _('Part ID'), - _('Part Name'), - _('Part Description'), - _('Category ID'), - _('Category Name'), - _('Stock Items'), - _('Total Quantity'), - _('Total Cost Min') + f' ({base_currency})', - _('Total Cost Max') + f' ({base_currency})', - ] - ) - - parts = parts.prefetch_related('category', 'stock_items') - - # Simple profiling for this task - t_start = time.time() - - # Keep track of each individual "stocktake" we perform. - # They may be bulk-commited to the database afterwards - stocktake_instances = [] - - total_parts = 0 - - # Iterate through each Part which matches the filters above - for p in parts: - - # Create a new stocktake for this part (do not commit, this will take place later on) - stocktake = perform_stocktake(p, user, commit=False) - - if stocktake.quantity == 0: - # Skip rows with zero total quantity - continue - - total_parts += 1 - - stocktake_instances.append(stocktake) - - # Add a row to the dataset - dataset.append([ - p.pk, - p.full_name, - p.description, - p.category.pk if p.category else '', - p.category.name if p.category else '', - stocktake.item_count, - stocktake.quantity, - InvenTree.helpers.normalize(stocktake.cost_min.amount), - InvenTree.helpers.normalize(stocktake.cost_max.amount), - ]) - - # Save a new PartStocktakeReport instance - buffer = io.StringIO() - buffer.write(dataset.export('csv')) - - today = datetime.now().date().isoformat() - filename = f"InvenTree_Stocktake_{today}.csv" - report_file = ContentFile(buffer.getvalue(), name=filename) - - if generate_report: - report_instance = part.models.PartStocktakeReport.objects.create( - report=report_file, - part_count=total_parts, - user=user - ) - - # Notify the requesting user - if user: - - common.notifications.trigger_notification( - report_instance, - category='generate_stocktake_report', - context={ - 'name': _('Stocktake Report Available'), - 'message': _('A new stocktake report is available for download'), - }, - targets=[ - user, - ] - ) - - # If 'update_parts' is set, we save stocktake entries for each individual part - if update_parts: - # Use bulk_create for efficient insertion of stocktake - part.models.PartStocktake.objects.bulk_create( - stocktake_instances, - batch_size=500, - ) - - t_stocktake = time.time() - t_start - logger.info(f"Generated stocktake report for {total_parts} parts in {round(t_stocktake, 2)}s") - - @scheduled_task(ScheduledTask.DAILY) def scheduled_stocktake_reports(): """Scheduled tasks for creating automated stocktake reports. @@ -410,27 +167,15 @@ def scheduled_stocktake_reports(): logger.info("Stocktake auto reports are disabled, exiting") return - # How long ago was last full stocktake report generated? - last_report = common.models.InvenTreeSetting.get_setting('STOCKTAKE_RECENT_REPORT', '', cache=False) - - try: - last_report = datetime.fromisoformat(last_report) - except ValueError: - last_report = None - - if last_report: - # Do not attempt if the last report was within the minimum reporting period - threshold = datetime.now() - timedelta(days=report_n_days) - - if last_report > threshold: - logger.info("Automatic stocktake report was recently generated - exiting") - return + if not check_daily_holdoff('_STOCKTAKE_RECENT_REPORT', report_n_days): + logger.info("Stocktake report was recently generated - exiting") + return # Let's start a new stocktake report for all parts - generate_stocktake_report(update_parts=True) + part.stocktake.generate_stocktake_report(update_parts=True) # Record the date of this report - common.models.InvenTreeSetting.set_setting('STOCKTAKE_RECENT_REPORT', datetime.now().isoformat(), None) + common.models.InvenTreeSetting.set_setting('_STOCKTAKE_RECENT_REPORT', datetime.now().isoformat(), None) def rebuild_parameters(template_id): diff --git a/InvenTree/part/test_api.py b/InvenTree/part/test_api.py index e39b86365d..84af79e941 100644 --- a/InvenTree/part/test_api.py +++ b/InvenTree/part/test_api.py @@ -2941,7 +2941,7 @@ class PartStocktakeTest(InvenTreeAPITestCase): def test_report_list(self): """Test for PartStocktakeReport list endpoint""" - from part.tasks import generate_stocktake_report + from part.stocktake import generate_stocktake_report # Initially, no stocktake records are available self.assertEqual(PartStocktake.objects.count(), 0) diff --git a/InvenTree/templates/InvenTree/settings/part_stocktake.html b/InvenTree/templates/InvenTree/settings/part_stocktake.html index 01bec1cd5f..b13c7e27d3 100644 --- a/InvenTree/templates/InvenTree/settings/part_stocktake.html +++ b/InvenTree/templates/InvenTree/settings/part_stocktake.html @@ -13,6 +13,7 @@ {% include "InvenTree/settings/setting.html" with key="STOCKTAKE_ENABLE" icon="fa-clipboard-check" %} + {% include "InvenTree/settings/setting.html" with key="STOCKTAKE_EXCLUDE_EXTERNAL" icon="fa-sitemap" %} {% include "InvenTree/settings/setting.html" with key="STOCKTAKE_AUTO_DAYS" icon="fa-calendar-alt" %} {% include "InvenTree/settings/setting.html" with key="STOCKTAKE_DELETE_REPORT_DAYS" icon="fa-trash-alt" %} diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index ebce845a7c..c2fec679ec 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -849,6 +849,10 @@ function generateStocktakeReport(options={}) { fields.location = options.location; } + fields.exclude_external = { + value: global_settings.STOCKTAKE_EXCLUDE_EXTERNAL, + }; + if (options.generate_report) { fields.generate_report = options.generate_report; } From 9abcc0ec34cdcaade7047965da45ff47be14b294 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 6 Jul 2023 11:02:18 +1000 Subject: [PATCH 085/103] Param fix (#5183) * Handle AttributeError in convert_physical_value * Added new unit test --- InvenTree/InvenTree/conversion.py | 2 +- InvenTree/InvenTree/tests.py | 17 +++++++++++++++++ InvenTree/templates/js/translated/part.js | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/InvenTree/InvenTree/conversion.py b/InvenTree/InvenTree/conversion.py index 8637ae382b..67e18dc0e7 100644 --- a/InvenTree/InvenTree/conversion.py +++ b/InvenTree/InvenTree/conversion.py @@ -91,7 +91,7 @@ def convert_physical_value(value: str, unit: str = None): # At this point we *should* have a valid pint value # To double check, look at the maginitude float(val.magnitude) - except (TypeError, ValueError): + except (TypeError, ValueError, AttributeError): error = _('Provided value is not a valid number') except (pint.errors.UndefinedUnitError, pint.errors.DefinitionSyntaxError): error = _('Provided value has an invalid unit') diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 83c340e7e5..a68f7c4739 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -56,6 +56,23 @@ class ConversionTest(TestCase): q = InvenTree.conversion.convert_physical_value(val).to_base_units() self.assertEqual(q.magnitude, expected) + def test_invalid_values(self): + """Test conversion of invalid inputs""" + + inputs = [ + '-', + ';;', + '-x', + '?', + '--', + '+', + '++', + ] + + for val in inputs: + with self.assertRaises(ValidationError): + InvenTree.conversion.convert_physical_value(val) + class ValidatorTest(TestCase): """Simple tests for custom field validators.""" diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index c2fec679ec..fd1798fbeb 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -1408,6 +1408,7 @@ function createPartParameter(part_id, options={}) { function editPartParameter(param_id, options={}) { options.fields = partParameterFields(); options.title = '{% trans "Edit Parameter" %}'; + options.focus = 'data'; options.processBeforeUpload = function(data) { // Convert data to string From dd4f5d463078c4de88677da6a17edfeca66c7b38 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 6 Jul 2023 12:18:26 +1000 Subject: [PATCH 086/103] Add 'available' filter for BuildLine API endpoint (#5186) * Add 'available' filter for BuildLine API endpoint - Fixes missing filter - Closes https://github.com/inventree/InvenTree/issues/1839 * Bump API version --- InvenTree/InvenTree/api_version.py | 5 ++++- InvenTree/build/api.py | 21 ++++++++++++++++++++- InvenTree/build/serializers.py | 10 ++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index 1114f982d3..cbb567a9e9 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 127 +INVENTREE_API_VERSION = 128 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v128 -> 2023-07-06 : https://github.com/inventree/InvenTree/pull/5186 + - Adds 'available' filter for BuildLine API endpoint + v127 -> 2023-06-24 : https://github.com/inventree/InvenTree/pull/5094 - Enhancements for the PartParameter API endpoints diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 63ae432159..9031dfd3d7 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -1,6 +1,6 @@ """JSON API for the Build app.""" -from django.db.models import F +from django.db.models import F, Q from django.urls import include, path, re_path from django.utils.translation import gettext_lazy as _ from django.contrib.auth.models import User @@ -297,6 +297,25 @@ class BuildLineFilter(rest_filters.FilterSet): else: return queryset.filter(allocated__lt=F('quantity')) + available = rest_filters.BooleanFilter(label=_('Available'), method='filter_available') + + def filter_available(self, queryset, name, value): + """Filter by whether there is sufficient stock available for each BuildLine: + + To determine this, we need to know: + + - The quantity required for each BuildLine + - The quantity available for each BuildLine + - The quantity allocated for each BuildLine + """ + + flt = Q(quantity__lte=F('total_available_stock') + F('allocated')) + + if str2bool(value): + return queryset.filter(flt) + else: + return queryset.exclude(flt) + class BuildLineEndpoint: """Mixin class for BuildLine API endpoints.""" diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index ddd4a95307..a33f4bc84b 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -1063,6 +1063,7 @@ class BuildLineSerializer(InvenTreeModelSerializer): 'available_stock', 'available_substitute_stock', 'available_variant_stock', + 'total_available_stock', ] read_only_fields = [ @@ -1084,6 +1085,7 @@ class BuildLineSerializer(InvenTreeModelSerializer): available_stock = serializers.FloatField(read_only=True) available_substitute_stock = serializers.FloatField(read_only=True) available_variant_stock = serializers.FloatField(read_only=True) + total_available_stock = serializers.FloatField(read_only=True) @staticmethod def annotate_queryset(queryset): @@ -1185,6 +1187,14 @@ class BuildLineSerializer(InvenTreeModelSerializer): ) ) + # Annotate with the 'total available stock' + queryset = queryset.annotate( + total_available_stock=ExpressionWrapper( + F('available_stock') + F('available_substitute_stock') + F('available_variant_stock'), + output_field=FloatField(), + ) + ) + return queryset From 35defe78c03b3b869b618c0442370cbdbf47bc7c Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 6 Jul 2023 12:30:28 +1000 Subject: [PATCH 087/103] Stocktake location filter (#5185) * Pass specified location to "perform_stocktake" * Separately track total stocktake and location stocktake data * Catch any exception --- InvenTree/part/stocktake.py | 93 ++++++++++++++++++++++++++----------- 1 file changed, 65 insertions(+), 28 deletions(-) diff --git a/InvenTree/part/stocktake.py b/InvenTree/part/stocktake.py index 8e82d10261..2e2f1adfe1 100644 --- a/InvenTree/part/stocktake.py +++ b/InvenTree/part/stocktake.py @@ -10,7 +10,6 @@ from django.core.files.base import ContentFile from django.utils.translation import gettext_lazy as _ import tablib -from djmoney.contrib.exchange.exceptions import MissingRate from djmoney.contrib.exchange.models import convert_money from djmoney.money import Money @@ -32,11 +31,21 @@ def perform_stocktake(target: part.models.Part, user: User, note: str = '', comm kwargs: exclude_external: If True, exclude stock items in external locations (default = False) + location: Optional StockLocation to filter results for generated report Returns: PartStocktake: A new PartStocktake model instance (for the specified Part) + + Note that while we record a *total stocktake* for the Part instance which gets saved to the database, + the user may have requested a stocktake limited to a particular location. + + In this case, the stocktake *report* will be limited to the specified location. """ + # Determine which locations are "valid" for the generated report + location = kwargs.get('location', None) + locations = location.get_descendants(include_self=True) if location else [] + # Grab all "available" stock items for the Part # We do not include variant stock when performing a stocktake, # otherwise the stocktake entries will be duplicated @@ -58,41 +67,59 @@ def perform_stocktake(target: part.models.Part, user: User, note: str = '', comm base_currency = common.settings.currency_code_default() + # Keep track of total quantity and cost for this part total_quantity = 0 total_cost_min = Money(0, base_currency) total_cost_max = Money(0, base_currency) + # Separately, keep track of stock quantity and value within the specified location + location_item_count = 0 + location_quantity = 0 + location_cost_min = Money(0, base_currency) + location_cost_max = Money(0, base_currency) + for entry in stock_entries: - # Update total quantity value - total_quantity += entry.quantity - - has_pricing = False + entry_cost_min = None + entry_cost_max = None # Update price range values if entry.purchase_price: - # If purchase price is available, use that - try: - pp = convert_money(entry.purchase_price, base_currency) * entry.quantity - total_cost_min += pp - total_cost_max += pp - has_pricing = True - except MissingRate: - logger.warning(f"MissingRate exception occurred converting {entry.purchase_price} to {base_currency}") + entry_cost_min = entry.purchase_price + entry_cost_max = entry.purchase_price - if not has_pricing: - # Fall back to the part pricing data - p_min = pricing.overall_min or pricing.overall_max - p_max = pricing.overall_max or pricing.overall_min + else: + # If no purchase price is available, fall back to the part pricing data + entry_cost_min = pricing.overall_min or pricing.overall_max + entry_cost_max = pricing.overall_max or pricing.overall_min - if p_min or p_max: - try: - total_cost_min += convert_money(p_min, base_currency) * entry.quantity - total_cost_max += convert_money(p_max, base_currency) * entry.quantity - except MissingRate: - logger.warning(f"MissingRate exception occurred converting {p_min}:{p_max} to {base_currency}") + # Convert to base currency + try: + entry_cost_min = convert_money(entry_cost_min, base_currency) * entry.quantity + entry_cost_max = convert_money(entry_cost_max, base_currency) * entry.quantity + except Exception: + logger.warning(f"Could not convert {entry.purchase_price} to {base_currency}") + + entry_cost_min = Money(0, base_currency) + entry_cost_max = Money(0, base_currency) + + # Update total cost values + total_quantity += entry.quantity + total_cost_min += entry_cost_min + total_cost_max += entry_cost_max + + # Test if this stock item is within the specified location + if location and entry.location not in locations: + continue + + # Update location cost values + location_item_count += 1 + location_quantity += entry.quantity + location_cost_min += entry_cost_min + location_cost_max += entry_cost_max # Construct PartStocktake instance + # Note that we use the *total* values for the PartStocktake instance instance = part.models.PartStocktake( part=target, item_count=stock_entries.count(), @@ -106,6 +133,12 @@ def perform_stocktake(target: part.models.Part, user: User, note: str = '', comm if commit: instance.save() + # Add location-specific data to the instance + instance.location_item_count = location_item_count + instance.location_quantity = location_quantity + instance.location_cost_min = location_cost_min + instance.location_cost_max = location_cost_max + return instance @@ -211,7 +244,11 @@ def generate_stocktake_report(**kwargs): for p in parts: # Create a new stocktake for this part (do not commit, this will take place later on) - stocktake = perform_stocktake(p, user, commit=False, exclude_external=exclude_external) + stocktake = perform_stocktake( + p, user, commit=False, + exclude_external=exclude_external, + location=location, + ) if stocktake.quantity == 0: # Skip rows with zero total quantity @@ -228,10 +265,10 @@ def generate_stocktake_report(**kwargs): p.description, p.category.pk if p.category else '', p.category.name if p.category else '', - stocktake.item_count, - stocktake.quantity, - InvenTree.helpers.normalize(stocktake.cost_min.amount), - InvenTree.helpers.normalize(stocktake.cost_max.amount), + stocktake.location_item_count, + stocktake.location_quantity, + InvenTree.helpers.normalize(stocktake.location_cost_min.amount), + InvenTree.helpers.normalize(stocktake.location_cost_max.amount), ]) # Save a new PartStocktakeReport instance From 2d2a08486610b701e63c4b701c95f8dabc2e3ca5 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 6 Jul 2023 12:37:40 +1000 Subject: [PATCH 088/103] Shorten string fix (#5187) * Fix for model renderer code - Handles string shortening without corrupting HTML * Fix for BOM table --- InvenTree/templates/js/translated/bom.js | 4 +--- InvenTree/templates/js/translated/model_renderers.js | 12 ++++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/InvenTree/templates/js/translated/bom.js b/InvenTree/templates/js/translated/bom.js index e1650e14fe..c8ed1c0541 100644 --- a/InvenTree/templates/js/translated/bom.js +++ b/InvenTree/templates/js/translated/bom.js @@ -1155,7 +1155,7 @@ function loadBomTable(table, options={}) { var available_stock = availableQuantity(row); - var text = `${available_stock}`; + var text = renderLink(`${available_stock}`, url); if (row.sub_part_detail && row.sub_part_detail.units) { text += ` ${row.sub_part_detail.units}`; @@ -1179,8 +1179,6 @@ function loadBomTable(table, options={}) { } } - text = renderLink(text, url); - if (row.on_order && row.on_order > 0) { text += makeIconBadge( 'fa-shopping-cart', diff --git a/InvenTree/templates/js/translated/model_renderers.js b/InvenTree/templates/js/translated/model_renderers.js index 87c08de53e..810adf32cb 100644 --- a/InvenTree/templates/js/translated/model_renderers.js +++ b/InvenTree/templates/js/translated/model_renderers.js @@ -129,15 +129,19 @@ function renderModel(data, options={}) { } } - let text = `${data.text}`; + let text = data.text; + + if (showLink && data.url) { + text = renderLink(text, data.url); + } + + text = `${text}`; if (data.textSecondary) { text += ` - ${data.textSecondary}`; } - if (showLink && data.url) { - text = renderLink(text, data.url); - } + html += text; From 773dd3b210a61bd00669675e5ce72d7f150f5233 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 6 Jul 2023 12:54:05 +1000 Subject: [PATCH 089/103] Fix quantity aggregation for stock table (#5188) * Fix quantity aggregation for stock table - Stock quantity can only be added together if units are the same * Add stock total footer to part table --- InvenTree/templates/js/translated/part.js | 33 ++++++++++++++++++++++ InvenTree/templates/js/translated/stock.js | 25 +++++++++++++++- 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index fd1798fbeb..46655fa2af 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -2372,6 +2372,38 @@ function loadPartTable(table, url, options={}) { }); return text; + }, + footerFormatter: function(data) { + // Display "total" stock quantity of all rendered rows + // Requires that all parts have the same base units! + + let total = 0; + let units = new Set(); + + data.forEach(function(row) { + units.add(row.units || null); + if (row.total_in_stock != null) { + total += row.total_in_stock; + } + }); + + if (data.length == 0) { + return '-'; + } else if (units.size > 1) { + return '-'; + } else { + let output = `${total}`; + + if (units.size == 1) { + let unit = units.values().next().value; + + if (unit) { + output += ` [${unit}]`; + } + } + + return output; + } } }); @@ -2447,6 +2479,7 @@ function loadPartTable(table, url, options={}) { showColumns: true, showCustomView: grid_view, showCustomViewButton: false, + showFooter: true, onPostBody: function() { grid_view = inventreeLoad('part-grid-view') == 1; if (grid_view) { diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index 94d77e8719..931d3e2600 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -2068,13 +2068,36 @@ function loadStockTable(table, options) { // Display "total" stock quantity of all rendered rows let total = 0; + // Keep track of the whether all units are the same + // If different units are found, we cannot aggregate the quantities + let units = new Set(); + data.forEach(function(row) { + + units.add(row.part_detail.units || null); + if (row.quantity != null) { total += row.quantity; } }); - return total; + if (data.length == 0) { + return '-'; + } else if (units.size > 1) { + return '-'; + } else { + let output = `${total}`; + + if (units.size == 1) { + let unit = units.values().next().value; + + if (unit) { + output += ` [${unit}]`; + } + } + + return output; + } } }; From e9a0b02d3dd32c16a6d337fc8f50d7e1c73f1b96 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 6 Jul 2023 13:08:08 +1000 Subject: [PATCH 090/103] Fix range filtering for serial number (#5189) * Fix range filtering for serial number - Needs to point to "serial_int" field to work * Bump API version (cherry picked from commit c3cb47ec15bbba1bf5d6d46374ac29b627f5bf34) --- InvenTree/InvenTree/api_version.py | 5 ++++- InvenTree/stock/api.py | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/InvenTree/InvenTree/api_version.py b/InvenTree/InvenTree/api_version.py index cbb567a9e9..b3df418090 100644 --- a/InvenTree/InvenTree/api_version.py +++ b/InvenTree/InvenTree/api_version.py @@ -2,11 +2,14 @@ # InvenTree API version -INVENTREE_API_VERSION = 128 +INVENTREE_API_VERSION = 129 """ Increment this API version number whenever there is a significant change to the API that any clients need to know about +v129 -> 2023-07-06 : https://github.com/inventree/InvenTree/pull/5189 + - Changes 'serial_lte' and 'serial_gte' stock filters to point to 'serial_int' field + v128 -> 2023-07-06 : https://github.com/inventree/InvenTree/pull/5186 - Adds 'available' filter for BuildLine API endpoint diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 3011e2e9df..8dcd3c1763 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -464,8 +464,9 @@ class StockFilter(rest_filters.FilterSet): is_building = rest_filters.BooleanFilter(label="In production") # Serial number filtering - serial_gte = rest_filters.NumberFilter(label='Serial number GTE', field_name='serial', lookup_expr='gte') - serial_lte = rest_filters.NumberFilter(label='Serial number LTE', field_name='serial', lookup_expr='lte') + serial_gte = rest_filters.NumberFilter(label='Serial number GTE', field_name='serial_int', lookup_expr='gte') + serial_lte = rest_filters.NumberFilter(label='Serial number LTE', field_name='serial_int', lookup_expr='lte') + serial = rest_filters.CharFilter(label='Serial number', field_name='serial', lookup_expr='exact') serialized = rest_filters.BooleanFilter(label='Has serial number', method='filter_serialized') From 4b40fe5ea18f261db515bc04166e00a05407ff44 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 6 Jul 2023 13:09:49 +1000 Subject: [PATCH 091/103] New Crowdin updates (#5172) * 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 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- InvenTree/locale/cs/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/da/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/de/LC_MESSAGES/django.po | 1481 +++++++------- InvenTree/locale/el/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/en/LC_MESSAGES/django.po | 1126 +++++------ InvenTree/locale/es/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/es_MX/LC_MESSAGES/django.po | 1126 +++++------ InvenTree/locale/fa/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/fi/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/fr/LC_MESSAGES/django.po | 1457 +++++++------- InvenTree/locale/he/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/hu/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/id/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/it/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/ja/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/ko/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/nl/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/no/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/pl/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/pt/LC_MESSAGES/django.po | 1779 +++++++++-------- InvenTree/locale/pt_br/LC_MESSAGES/django.po | 1126 +++++------ InvenTree/locale/ru/LC_MESSAGES/django.po | 1507 +++++++------- InvenTree/locale/sl/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/sv/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/th/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/tr/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/vi/LC_MESSAGES/django.po | 1437 ++++++------- InvenTree/locale/zh/LC_MESSAGES/django.po | 1437 ++++++------- .../locale/zh_Hans/LC_MESSAGES/django.po | 1126 +++++------ 29 files changed, 20765 insertions(+), 20140 deletions(-) diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po index d7e629c537..f0d3691f6b 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:43\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -64,10 +64,10 @@ msgstr "Zadejte datum" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Poznámky" @@ -251,7 +251,7 @@ msgstr "Příloha" msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Vyberte soubor k přiložení" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Odkaz" @@ -282,9 +282,9 @@ msgstr "Komentář" msgid "File comment" msgstr "Komentář k souboru" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Název" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Název" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Chyba serveru" msgid "An error has been logged by the server." msgstr "Server zaznamenal chybu." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Musí být platné číslo" @@ -611,7 +611,7 @@ msgstr "Vietnamština" msgid "Chinese" msgstr "Čínština" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "Zpracovává se" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Odesláno" @@ -839,27 +839,27 @@ msgstr "Nesmí přesáhnout 100%" msgid "Invalid value for overage" msgstr "Neplatná hodnota překročení" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Upravit informace o uživateli" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Nastavit heslo" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Hesla se musí shodovat" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Zadáno špatné heslo" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Informace o systému" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" @@ -867,16 +867,16 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "Vytvořit objednávku" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Referenční číslo objednávky" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Reference" @@ -957,9 +957,9 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Prodejní příkaz, kterému je tato verze přidělena" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Umístění lokace" @@ -1067,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Datum vytvoření" @@ -1106,7 +1107,7 @@ msgstr "Uživatel, který vydal tento příkaz k sestavení" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Odpovědný" @@ -1139,8 +1140,8 @@ msgstr "Priorita tohoto příkazu k sestavení" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Výstup sestavení neodpovídá příkazu sestavení" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" @@ -1186,17 +1187,18 @@ msgstr "Množství nemůže být větší než výstupní množství" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Množství musí být 1 pro zřetězený sklad" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)" #: common/models.py:1253 +msgid "Enforce Parameter Units" +msgstr "" + +#: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 msgid "Minimum Pricing Decimal Places" msgstr "Minimální počet desetinných míst u cen" -#: common/models.py:1254 +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "Maximální počet desetinných míst u cen" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximální počet desetinných míst k zobrazení u cenových údajů" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "Použít ceny dodavatele" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "Přepsání historie nákupu" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Velikost stránky" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Povolit testovací reporty" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Povolit generování zkušebních reportů" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "Připojit testovací reporty" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Při tisku testovacího reportu, připojte kopii reportu k přidružené skladové položce" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "Sériová čísla pro skladové položky musí být globálně unikátní" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "Automaticky vyplnit sériová čísla" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "Automaticky vyplnit sériová čísla ve formulářích" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "Určuje výchozí chování, když je vyčerpána skladová položka" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "Formát data" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Cena" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "Id" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "Obrazek" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "Zvolte díl" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Vyberte výrobce" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "Smazat obrázek" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "Dodavatelský sklad" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "Vybrané díly" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Odstranit" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "Oprávnění" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "Nastavení oprávnění" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Skupina" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Zobrazit" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Oprávnění k zobrazení položek" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Oprávnění přidat položky" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "Změnit" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Oprávnění k úpravě položek" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Oprávnění k odstranění položek" diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po index 9f28fa436f..3f776286bf 100644 --- a/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:43\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -64,10 +64,10 @@ msgstr "Angiv dato" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Bemærkninger" @@ -251,7 +251,7 @@ msgstr "Vedhæftning" msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Vælg fil, der skal vedhæftes" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Link" @@ -282,9 +282,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Navn" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Navn" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Serverfejl" msgid "An error has been logged by the server." msgstr "En fejl blev logget af serveren." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" @@ -611,7 +611,7 @@ msgstr "Vietnamesisk" msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Afsendt" @@ -839,27 +839,27 @@ msgstr "Overskuddet må ikke overstige 100%" msgid "Invalid value for overage" msgstr "Ugyldig værdi for overskud" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Rediger brugerinformation" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Vælg adgangskode" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "De indtastede adgangskoder skal være ens" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Forkert adgangskode indtastet" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Systemoplysninger" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" @@ -867,16 +867,16 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "Produktionsordre" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Produktionsordre reference" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Reference" @@ -957,9 +957,9 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Salgsordre, som er tildelt denne produktion" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Kilde Lokation" @@ -1067,8 +1068,8 @@ msgstr "Batch kode til dette produktions output" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Oprettelsesdato" @@ -1106,7 +1107,7 @@ msgstr "Bruger som udstedte denne byggeordre" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Ansvarlig" @@ -1139,8 +1140,8 @@ msgstr "Prioritet af denne byggeordre" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 994d25f0f2..c80ba0c447 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:43\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -64,10 +64,10 @@ msgstr "Datum eingeben" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notizen" @@ -251,7 +251,7 @@ msgstr "Anhang" msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Datei zum Anhängen auswählen" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Link" @@ -282,9 +282,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Name" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Name" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Serverfehler" msgid "An error has been logged by the server." msgstr "Ein Fehler wurde vom Server protokolliert." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" @@ -611,7 +611,7 @@ msgstr "Vietnamesisch" msgid "Chinese" msgstr "Chinesisch" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "In Bearbeitung" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Versendet" @@ -839,27 +839,27 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Invalid value for overage" msgstr "Ungültiger Wert für Ausschuss" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Passwort eingeben" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Falsches Passwort angegeben" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformationen" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Über InvenTree" @@ -867,16 +867,16 @@ msgstr "Über InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "Nachverfolgt" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "Zugeordnet" @@ -908,7 +908,7 @@ msgstr "Bauauftrag" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Bauauftragsreferenz" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referenz" @@ -957,9 +957,9 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Quell-Lagerort" @@ -1067,8 +1068,8 @@ msgstr "Losnummer für dieses Endprodukt" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Erstelldatum" @@ -1106,7 +1107,7 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Verantwortlicher Benutzer" @@ -1139,8 +1140,8 @@ msgstr "Priorität dieses Bauauftrags" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -1186,17 +1187,18 @@ msgstr "Menge kann nicht größer als die Ausgangsmenge sein" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "Lagerort für fertige Endprodukte" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Zieldatum" @@ -1736,8 +1738,8 @@ msgstr "Fertiggestellte Endprodukte" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Auftrag" @@ -1778,7 +1780,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:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Ziel-Lager" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "Wie oft soll nach Updates gesucht werden? (auf 0 setzen zum Deaktivieren)" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "Tage" @@ -2144,7 +2146,7 @@ msgstr "Anzahl der Tage zwischen automatischen Sicherungen" #: common/models.py:1050 msgid "Task Deletion Interval" -msgstr "Löschinterval für Aufgaben" +msgstr "Aufgabenlöschinterval" #: common/models.py:1051 msgid "Background task results will be deleted after specified number of days" @@ -2254,8 +2256,8 @@ msgstr "Kategorie-Parametervorlage kopieren" msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Vorlage" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" #: common/models.py:1253 +msgid "Enforce Parameter Units" +msgstr "" + +#: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 msgid "Minimum Pricing Decimal Places" msgstr "Dezimalstellen für minimalen Preis" -#: common/models.py:1254 +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "Dezimalstellen für maximalen Preis" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Lagerartikel, die älter als diese Anzahl an Tagen sind, von der Preisberechnung ausschließen" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-Auflösung bei der Erstellung von Bilddateien für Etikettendruck-Plugins" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Testberichte aktivieren" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "Testberichte anhängen" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Beim Drucken eines Testberichts dem zugehörigen Lagerbestand eine Kopie des Testberichts beifügen" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "Seriennummern automatisch ausfüllen" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "Seriennummern in Formularen automatisch ausfüllen" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel erschöpft ist" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/models.py:1424 +#: common/models.py:1431 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:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:1444 +#: common/models.py:1451 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:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Aufträge" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Verkaufsaufträge bearbeiten" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bearbeitung von Verkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bestellungen" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bearbeitung von Einkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Selbstregistrierung über SSO für Benutzer auf den Anmeldeseiten aktivieren" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/models.py:1585 +#: common/models.py:1592 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:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "Passwort zweimal" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "Projektcodes aktivieren" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Inventur-Funktionen zur Aufzeichnung von Lagerbeständen und zur Berechnung des Lagerwerts aktivieren" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Anzahl der Tage zwischen automatischen Bestandsaufnahmen (zum Deaktivieren auf Null setzen)" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Inventurberichte werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "Kein Drucker (Exportieren als PDF)" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Abonnierte Teile anzeigen" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Zeige abonnierte Teile auf der Startseite" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "Abonnierte Kategorien anzeigen" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "Zeige abonnierte Teilkategorien auf der Startseite" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "Neueste Bestandänderungen anzeigen" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Bestand auf der Startseite" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "Lerren Bestand anzeigen" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "Zeige abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "Alten Bestand anzeigen" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "Zeige überfällige Lagerartikel auf der Startseite" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "Zeige ausstehende POs auf der Startseite" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "Zeige überfällige POs auf der Startseite" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "Zeige ausstehende SOs auf der Startseite" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "Zeige überfällige SOs auf der Startseite" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "Zeige Neuigkeiten" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "Neuigkeiten auf der Startseite anzeigen" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "Label inline anzeigen" -#: common/models.py:1885 +#: common/models.py:1892 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:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "Standard-Etikettendrucker" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "Einen standardmäßig ausgewählten Etikettendrucker konfigurieren" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "Berichte inline anzeigen" -#: common/models.py:1899 +#: common/models.py:1906 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:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Teile suchen" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "Teile in der Suchvorschau anzeigen" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "Zulieferteile durchsuchen" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "Zuliefererteile in der Suchvorschau anzeigen" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "Herstellerteile durchsuchen" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "Herstellerteile in der Suchvorschau anzeigen" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "Inaktive Teile ausblenden" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "Inaktive Teile in der Suchvorschau ausblenden" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "Kategorien durchsuchen" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "Teilekategorien in der Suchvorschau anzeigen" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "Bestand durchsuchen" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "Lagerartikel in Suchvorschau anzeigen" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "Nicht verfügbare Artikel ausblenden" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nicht verfügbare Lagerartikel aus der Suchvorschau ausschließen" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "Lagerorte durchsuchen" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "Lagerorte in Suchvorschau anzeigen" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "Firmen durchsuchen" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "Firmen in der Suchvorschau anzeigen" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "Bauaufträge durchsuchen" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "Bauaufträge in der Suchvorschau anzeigen" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "Bestellungen durchsuchen" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "Bestellungen in der Suchvorschau anzeigen" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktive Bestellungen ausblenden" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktive Bestellungen in der Suchvorschau ausblenden" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "Aufträge durchsuchen" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "Aufträge in der Suchvorschau anzeigen" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "Inaktive Aufträge ausblenden" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktive Aufträge in der Suchvorschau ausblenden" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:2018 +#: common/models.py:2025 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:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "Regex Suche" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "Esc-Taste schließt Formulare" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "Benutze die Esc-Taste, um Formulare zu schließen" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "Fixierter Navigationsleiste" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "Position der Navigationsleiste am oberen Bildschirmrand fixieren" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "Datumsformat" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Teilzeitplanung" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "Zeige Zeitplanung für Teile" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventur" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "Zeichenkettenlänge in Tabellen" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt werden" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Preis" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "Name für diesen Webhook" msgid "Active" msgstr "Aktiv" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "Token" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "Host" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "Body" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "ID" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titel" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "Gelesen" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "Wurde diese Nachricht gelesen?" msgid "Image" msgstr "Bild" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "Bilddatei" @@ -3598,11 +3608,11 @@ msgstr "" #: company/models.py:351 company/models.py:352 #: templates/js/translated/company.js:1014 msgid "Postal code" -msgstr "" +msgstr "Postleitzahl" #: company/models.py:356 msgid "City/Region" -msgstr "" +msgstr "Stadt/Region" #: company/models.py:357 msgid "Postal code city/region" @@ -3614,11 +3624,11 @@ msgstr "" #: company/models.py:362 msgid "State or province" -msgstr "" +msgstr "Bundesland" #: company/models.py:366 templates/js/translated/company.js:1032 msgid "Country" -msgstr "" +msgstr "Land" #: company/models.py:367 msgid "Address country" @@ -3630,15 +3640,15 @@ msgstr "" #: company/models.py:372 msgid "Notes for shipping courier" -msgstr "" +msgstr "Notizen für Versandkurier" #: company/models.py:376 msgid "Internal shipping notes" -msgstr "" +msgstr "Interne Versandnotizen" #: company/models.py:377 msgid "Shipping notes for internal use" -msgstr "" +msgstr "Versandnotizen für interne Verwendung" #: company/models.py:382 msgid "Link to address information (external)" @@ -3656,7 +3666,7 @@ msgstr "Teil auswählen" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Hersteller auswählen" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "MPN" @@ -3743,7 +3753,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Zulieferer auswählen" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "Teile-Verpackungen" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "Packmenge" @@ -3838,7 +3849,7 @@ msgstr "Mehrere bestellen" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "Bild löschen" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "Zulieferer-Bestand" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "Neue Bestellung" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4066,17 +4077,17 @@ msgstr "Zugeordneter Bestand" #: templates/js/translated/search.js:232 templates/navbar.html:65 #: users/models.py:45 msgid "Return Orders" -msgstr "" +msgstr "Rücksendeaufträge" #: company/templates/company/detail.html:146 #: order/templates/order/return_orders.html:20 msgid "Create new return order" -msgstr "" +msgstr "Neuen Rücksendeauftrag hinzufügen" #: company/templates/company/detail.html:147 #: order/templates/order/return_orders.html:21 msgid "New Return Order" -msgstr "" +msgstr "Neuer Rücksendeauftrag" #: company/templates/company/detail.html:168 msgid "Company Notes" @@ -4084,21 +4095,21 @@ msgstr "Firmenbemerkungen" #: company/templates/company/detail.html:183 msgid "Company Contacts" -msgstr "" +msgstr "Unternehmenskontakte" #: company/templates/company/detail.html:187 #: company/templates/company/detail.html:188 msgid "Add Contact" -msgstr "" +msgstr "Kontakt hinzufügen" #: company/templates/company/detail.html:206 msgid "Company addresses" -msgstr "" +msgstr "Geschäftsadressen" #: company/templates/company/detail.html:210 #: company/templates/company/detail.html:211 msgid "Add Address" -msgstr "" +msgstr "Adresse hinzufügen" #: company/templates/company/index.html:8 msgid "Supplier List" @@ -4151,7 +4162,7 @@ msgstr "Parameter" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Neuer Parameter" @@ -4178,11 +4189,11 @@ msgstr "Zugewiesene Lagerartikel" #: company/templates/company/sidebar.html:33 msgid "Contacts" -msgstr "" +msgstr "Kontakte" #: company/templates/company/sidebar.html:35 msgid "Addresses" -msgstr "" +msgstr "Adressen" #: company/templates/company/supplier_part.html:7 #: company/templates/company/supplier_part.html:24 stock/models.py:684 @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "Zulieferer-Bestand" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Neuen Lagerartikel hinzufügen" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Neuer Lagerartikel" @@ -4278,9 +4289,9 @@ msgstr "Teilverfügbarkeit aktualisieren" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label-Vorlage-Datei" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Aktiviert" @@ -4357,7 +4368,7 @@ msgstr "Höhe [mm]" msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Dateinamen-Muster" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Filter" @@ -4381,20 +4392,20 @@ msgstr "Filter" #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "" +msgstr "QR-Code" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 #: templates/qr_code.html:7 msgid "QR code" -msgstr "" +msgstr "QR-Code" #: order/admin.py:30 order/models.py:73 #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Gesamtpreis" @@ -4420,12 +4431,12 @@ msgstr "Bestellung" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" -msgstr "" +msgstr "Rücksendeauftrag" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Unbekannt" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "Bestellreferenz" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Versanddatum" @@ -4602,7 +4613,7 @@ msgstr "gelöscht" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "Bestellung" @@ -4613,8 +4624,8 @@ msgstr "Zuliefererteil" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,9 +4674,9 @@ msgstr "Versendete Menge" msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" -msgstr "" +msgstr "Lieferdatum" #: order/models.py:1428 msgid "Date of delivery of shipment" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "Position" @@ -4783,13 +4794,13 @@ msgstr "" #: order/models.py:1935 msgid "Received Date" -msgstr "" +msgstr "Empfangsdatum" #: order/models.py:1936 msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "Auswahl duplizieren" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "Bestellungs-Positionen" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Position hinzufügen" @@ -5240,8 +5251,8 @@ msgstr "Paketliste drucken" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "Kundenreferenz" @@ -5253,8 +5264,8 @@ msgstr "Kundenreferenz" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "Gesamtkosten" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "Auftrags-Positionen" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Ausstehende Sendungen" @@ -5342,12 +5353,12 @@ msgstr "Stückpreis für {part} auf {price} aktualisiert" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Teil-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Name des Teils" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "Beschreibung des Teils" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN (Interne Produktnummer)" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Version" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "Auf Lager" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "Name des übergeordneten Teils" msgid "Category Path" msgstr "Pfad zur Kategorie" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "Stücklisten-Position ID" msgid "Parent IPN" msgstr "Übergeordnete IPN" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "Teil IPN" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "Gesamtbestand" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -5523,7 +5535,7 @@ msgstr "Verfügbarer Bestand" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" @@ -5598,7 +5610,7 @@ msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits." msgid "Parts cannot be assigned to structural part categories!" msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Name des Teils" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "Wert" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "Stufe" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "Stücklisten-Position" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Überschuss" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "überprüft" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "Diese Stücklistenposition wurde validiert" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Wird vererbt" -#: part/models.py:3864 +#: part/models.py:3865 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:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:3870 +#: part/models.py:3871 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:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" @@ -6204,232 +6216,232 @@ msgstr "Doppelte Beziehung existiert bereits" msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Initiale Lagermenge für dieses Teil. Wenn die Menge null ist, wird kein Lagerbestand hinzugefügt." -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "Mindestens eine Stückliste-Position ist erforderlich" @@ -6444,7 +6456,7 @@ msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Min #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "Gesamtstückzahl" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "Neues Teil" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Teilparameter" @@ -6767,7 +6780,7 @@ msgstr "Kosteninformationen ansehen" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Bestands-Aktionen" @@ -7059,7 +7072,7 @@ msgstr "Verkaufspreisstaffel hinzufügen" msgid "No Stock" msgstr "Kein Bestand" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "niedriger Bestand" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "Keine korrekten Objekte für Vorlage gegeben" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Vorlagendatei '{template}' fehlt oder existiert nicht" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "Testbericht" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "Bericht-Vorlage Datei" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "Bericht-Vorlage Beschreibung" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "Bericht Revisionsnummer (autom. erhöht)" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "Muster für die Erstellung von Berichtsdateinamen" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "Bericht-Vorlage ist ein" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagerartikel-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "einfügen Installiert in Tests" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "Test-Ergebnisse für Lagerartikel in Baugruppen einschließen" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "Bauauftrag Filter" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Bau-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "Teil Filter" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "Bestellungs-Abfragefilter" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "Auftrags-Abfragefilter" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "Snippet" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "Ressource" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "Ressource-Beschreibung" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Benötigte Materialien" @@ -7475,8 +7492,8 @@ msgstr "Lieferant gelöscht" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "Stück-Preis" @@ -7488,8 +7505,8 @@ msgstr "Zusätzliche Positionen" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "Summe" @@ -7497,17 +7514,21 @@ msgstr "Summe" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Seriennummer" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" @@ -7561,8 +7582,8 @@ msgstr "Standort-ID" msgid "Location Name" msgstr "Ortsname" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "Lagerortpfad" @@ -7651,7 +7672,7 @@ msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werde msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "Bestands-Anpassungs Aktionen" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Bestand zählen" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "Bestand serialisieren" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Bestand verschieben" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern." #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "Nur Leserechte" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "Verfügbare Menge" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "Kein Lagerort gesetzt" @@ -8343,58 +8364,62 @@ msgstr "Lagerort hierher einscannen" msgid "Scan In Container" msgstr "Lagerort scannen" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "Lagerort-Aktionen" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Lagerort bearbeiten" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "Lagerort löschen" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "Oberster Lagerstandort" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "Standortbesitzer" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 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:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "Neuen Lagerort anlegen" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Neuer Lagerort" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "Lagerort an diesen Ort eingescannt" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "QR-Code für diesen Lagerort" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "Barcode mit Lagerort verknüpfen" @@ -8488,51 +8513,51 @@ msgstr "Stücklisten erwarten Kontrolle" msgid "Recently Updated" msgstr "kürzlich aktualisiert" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Verbrauchter Bestand" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Für Bauaufträge benötigt" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "abgelaufener Bestand" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Bestand überfällig" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "laufende Bauaufträge" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "überfällige Bauaufträge" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "ausstehende Bestellungen" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "überfällige Bestellungen" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "ausstehende Aufträge" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "überfällige Aufträge" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "InvenTree Neuigkeiten" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "Aktuelle Neuigkeiten" @@ -8668,7 +8693,7 @@ msgstr "Teileimport" msgid "Import Part" msgstr "Teil importieren" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "Teil-Parametervorlage" @@ -9493,7 +9518,7 @@ 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:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -9854,7 +9879,7 @@ msgstr "Stückliste für Bauteile laden" msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "Varianten erlaubt" @@ -9874,25 +9899,25 @@ msgstr "Stücklisten-Bepreisung ist unvollständig" msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "Beinhaltet Variante und Ersatzbestand" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Beinhaltet Variantenbestand" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "Enthält Ersatzbestand" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "Verbrauchsartikel" @@ -9924,7 +9949,7 @@ msgstr "Stückliste anzeigen" msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "benötigtes Teil" @@ -10093,7 +10118,7 @@ msgstr "Endprodukte entfernen" msgid "No build order allocations found" msgstr "Keine Allokationen für Bauauftrag gefunden" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "Teile auswählen" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "Sie müssen mindestens ein Teil auswählen" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 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)" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Lagerartikel für Bauauftrag zuweisen" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "Keine passenden Lagerstandorte" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "Keine passenden Lagerbestände" @@ -10208,7 +10233,7 @@ msgstr "Lagerartikel zuordnen" msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "Keine Benutzerinformation" msgid "group" msgstr "Gruppe" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "Zuordnung bearbeiten" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "Zuordnung entfernen" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "Ausreichender Bestand verfügbar" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "Bestand bauen" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "Bestand zuweisen" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "Anzeigevorgang nicht erlaubt" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Löschen" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "Zeile löschen" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "Keine Positionen gefunden" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "Diese Position ist überfällig" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "Position empfangen" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "Positionen auswählen" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "Mindestens eine Position muss ausgewählt werden" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "Zu erhaltende Menge" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "Empfang der Teile bestätigen" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "Bestellung überfällig" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "Positionen" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "Alle ausgewählten Positionen werden gelöscht" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "Ausgewählte Positionen löschen?" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "Position duplizieren" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "Position bearbeiten" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "Position löschen" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "Position duplizieren" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "Position bearbeiten" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "Position löschen" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "Sendung anlegen" msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "Sendung fertigstellen" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "Sendung löschen" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "Sendung bearbeiten" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "Sendung löschen" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "Keine passenden Sendungen gefunden" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "Sendungsreferenz" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "Nicht versandt" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "Nachverfolgen" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "Rechnung" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "Sendung hinzufügen" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "Bestandszuordnung bestätigen" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "Artikel zu Kundenauftrag zuweisen" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "Keine Allokationen für Verkaufsaufträge gefunden" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "Bestandszuordnung bearbeiten" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "Bestands-Zuordnung löschen" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "an Kunde versand" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "Lagerstandort nicht angegeben" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "Bestand kaufen" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "Preis berechnen" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "Seriennummern zuweisen" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" @@ -11965,7 +11990,7 @@ msgstr "Entfernen" msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "Hinzufügen" @@ -12799,35 +12824,35 @@ msgstr "Berechtigungen" msgid "Important dates" msgstr "wichtige Daten" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "Berechtigung geändert" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Gruppe" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Ansicht" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Berechtigung Einträge anzuzeigen" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Berechtigung Einträge zu erstellen" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "Ändern" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Berechtigungen Einträge zu ändern" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Berechtigung Einträge zu löschen" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index 38a6a090db..ead0c505a7 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:43\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -64,10 +64,10 @@ msgstr "Εισάγετε ημερομηνία" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Σημειώσεις" @@ -251,7 +251,7 @@ msgstr "Συνημμένο" msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Σύνδεσμος" @@ -282,9 +282,9 @@ msgstr "Σχόλιο" msgid "File comment" msgstr "Σχόλιο αρχείου" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Όνομα" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Όνομα" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Σφάλμα διακομιστή" msgid "An error has been logged by the server." msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" @@ -611,7 +611,7 @@ msgstr "Βιετναμέζικα" msgid "Chinese" msgstr "Κινέζικα" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Αποστάλθηκε" @@ -839,27 +839,27 @@ msgstr "Η μέση τιμή δεν πρέπει να υπερβαίνει το msgid "Invalid value for overage" msgstr "Μη έγκυρη τιμή για υπέρβαση" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Τροποποίηση πληροφοριών χρήστη" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Ορισμός Κωδικού Πρόσβασης" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Τα πεδία κωδικού πρόσβασης πρέπει να ταιριάζουν" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Δόθηκε λάθος κωδικός πρόσβασης" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Πληροφορίες συστήματος" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Σχετικά με το InvenTree" @@ -867,16 +867,16 @@ msgstr "Σχετικά με το InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "Σειρά Κατασκευής" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Αναφορά" @@ -957,9 +957,9 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "SalesOrder στην οποία έχει διατεθεί αυτό το b #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" @@ -1067,8 +1068,8 @@ msgstr "Κωδικός παρτίδας για αυτήν την κατασκε #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" @@ -1106,7 +1107,7 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Υπεύθυνος" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Η έξοδος κατασκευής δεν ταιριάζει με τη #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακ msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index e3e8edb438..64c21eac96 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: 2023-06-26 07:13+0000\n" +"POT-Creation-Date: 2023-07-04 21:22+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -65,11 +65,11 @@ msgstr "" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "" @@ -261,11 +261,11 @@ msgstr "" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "" @@ -289,7 +289,7 @@ msgstr "" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "" @@ -332,7 +332,7 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -343,7 +343,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "" @@ -356,8 +356,8 @@ msgstr "" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -366,18 +366,18 @@ msgstr "" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "" @@ -390,7 +390,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -426,7 +426,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3935 msgid "Must be a valid number" msgstr "" @@ -612,7 +612,7 @@ msgstr "" msgid "Chinese" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -662,9 +662,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "" @@ -752,7 +752,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "" @@ -772,7 +772,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -840,27 +840,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "" @@ -868,16 +868,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3827 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -890,8 +890,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -901,7 +901,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "" @@ -909,7 +909,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -926,17 +926,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "" @@ -958,9 +958,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3583 +#: part/models.py:3706 part/models.py:3801 part/models.py:4115 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -979,27 +979,27 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "" @@ -1017,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1068,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "" @@ -1107,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1140,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1151,48 +1151,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1209,7 +1209,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1219,79 +1219,79 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1346,7 +1346,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1355,22 +1355,22 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1401,10 +1401,10 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "" @@ -1697,11 +1697,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1737,9 +1737,9 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1779,7 +1779,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -1796,8 +1796,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1897,7 +1897,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1906,11 +1906,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,8 +2255,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3588 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3268,7 +3268,7 @@ msgstr "" #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" @@ -3657,7 +3657,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3672,13 +3672,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3709,7 +3709,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3744,7 +3744,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3760,15 +3760,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3785,7 +3785,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3806,7 +3806,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3819,8 +3819,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3839,8 +3839,8 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3926,9 +3926,9 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4014,7 +4014,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4037,7 +4037,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4190,7 +4190,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4272,7 +4272,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4284,7 +4284,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4334,7 +4334,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4358,7 +4358,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4372,8 +4372,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4394,8 +4394,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4413,7 +4413,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,12 +4421,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/return_order.js:278 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4536,8 +4536,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4603,7 +4603,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4614,8 +4614,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4627,7 +4627,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -4664,7 +4664,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4750,7 +4750,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4790,7 +4790,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5127,8 +5127,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5191,7 +5191,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5241,8 +5241,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5254,8 +5254,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5308,7 +5308,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5343,12 +5343,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3710 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3714 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5359,12 +5359,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5405,7 +5405,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5441,7 +5441,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5464,7 +5464,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3718 msgid "Part IPN" msgstr "" @@ -5516,7 +5516,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5524,7 +5524,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3659 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5539,7 +5539,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5599,7 +5599,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3715 msgid "Part name" msgstr "" @@ -5623,8 +5623,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3658 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5882,7 +5882,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6028,176 +6028,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3539 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3583 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3588 part/models.py:3664 part/models.py:3665 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3593 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3593 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3669 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3670 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3707 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3711 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3719 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3722 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3723 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3729 part/models.py:4107 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3848 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3947 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4095 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4135 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4135 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4153 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4157 msgid "Duplicate relationship already exists" msgstr "" @@ -6205,232 +6205,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6445,7 +6445,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6593,7 +6593,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6959,7 +6959,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6992,7 +6992,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7060,7 +7060,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7371,91 +7371,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7476,8 +7476,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7489,8 +7489,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7498,13 +7498,13 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7518,7 +7518,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7550,7 +7550,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7618,7 +7618,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7626,23 +7626,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7671,7 +7671,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8048,44 +8048,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8108,17 +8108,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8127,12 +8127,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8239,7 +8239,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8276,7 +8276,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8383,7 +8383,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -8489,51 +8489,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -9494,7 +9494,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9855,7 +9855,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9875,25 +9875,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9925,7 +9925,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10094,7 +10094,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10140,17 +10140,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10163,7 +10163,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10172,12 +10172,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10209,9 +10209,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10223,7 +10223,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10231,78 +10231,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10669,11 +10669,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -10827,7 +10827,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11070,14 +11070,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11114,7 +11114,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11126,7 +11126,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11142,12 +11142,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11392,7 +11392,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11441,7 +11441,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11462,59 +11462,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11571,21 +11571,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11657,112 +11657,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11982,7 +11982,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11990,264 +11990,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index f8c18f10ce..4a0ac859d8 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -64,10 +64,10 @@ msgstr "Ingrese la fecha" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notas" @@ -251,7 +251,7 @@ msgstr "Archivo adjunto" msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Seleccionar archivo para adjuntar" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Enlace" @@ -282,9 +282,9 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario del archivo" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Nombre" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Nombre" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Error de servidor" msgid "An error has been logged by the server." msgstr "Se ha registrado un error por el servidor." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Debe ser un número válido" @@ -611,7 +611,7 @@ msgstr "Vietnamita" msgid "Chinese" msgstr "Chino" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "En progreso" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Enviado" @@ -839,27 +839,27 @@ msgstr "El excedente no debe superar el 100%" msgid "Invalid value for overage" msgstr "Valor no válido para sobrecarga" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Editar datos del usuario" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Configurar Contraseña" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Los campos de contraseña deben coincidir" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Contraseña incorrecta proporcionada" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Información del sistema" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Acerca de InvenTree" @@ -867,16 +867,16 @@ msgstr "Acerca de InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Consumible" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "Rastreado" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "Asignadas" @@ -908,7 +908,7 @@ msgstr "Construir órden" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Número de orden de construcción o armado" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referencia" @@ -957,9 +957,9 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Orden de Construcción o Armado a la que se asigna" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Orden de Venta a la que se asigna" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -1067,8 +1068,8 @@ msgstr "Número de lote de este producto final" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Fecha de Creación" @@ -1106,7 +1107,7 @@ msgstr "El usuario que emitió esta orden" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Responsable" @@ -1139,8 +1140,8 @@ msgstr "Prioridad de esta orden de construcción" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "La salida de la construcción no coincide con el orden de construcción" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" @@ -1186,17 +1187,18 @@ msgstr "La cantidad no puede ser mayor que la cantidad de salida" msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "Ensamblar equipo" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "Ensamblar equipo" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "La cantidad debe ser 1 para el stock serializado" msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la linea BOM" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Artículo de stock de destino" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "Ubicación para las salidas de construcción completadas" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "Stock no ha sido asignado completamente a este pedido de construcción" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Fecha objetivo" @@ -1736,8 +1738,8 @@ msgstr "Salidas completadas" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Orden de Venta" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "Las existencias se pueden tomar desde cualquier ubicación disponible." #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Destinación" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "días" @@ -2254,8 +2256,8 @@ msgstr "Copiar plantillas de parámetros de categoría" msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Plantilla" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)" #: common/models.py:1253 +msgid "Enforce Parameter Units" +msgstr "" + +#: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de lugares decimales en el precio" -#: common/models.py:1254 +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "Máximo de lugares decimales en el precio" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de decimales a mostrar al procesar los datos de precios" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "Usar precios de proveedor" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "Anulación del historial de compra" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "Usar precio del artículo de almacén" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "Edad del precio del artículo de almacén" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "Usar precios variantes" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir variantes de precios en los cálculos generales de precios" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "Solo variantes activas" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "Intervalo de reconstrucción de precios" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "Número de días antes de que el precio de la parte se actualice automáticamente" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Precios internos" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "Habilitar precios internos para partes" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "Anulación del precio interno" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Habilitar impresión de etiquetas" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Habilitar impresión de etiquetas desde la interfaz web" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "PPP de la imagen de etiqueta" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Habilitar informes" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "Habilitar generación de informes" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuración" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "Generar informes en modo de depuración (salida HTML)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Tamaño de página" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Tamaño de página predeterminado para informes PDF" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Habilitar informes de prueba" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Habilitar generación de informes de prueba" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "Adjuntar informes de prueba" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Al imprimir un informe de prueba, adjuntar una copia del informe de prueba al artículo de almacén asociado" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "Seriales únicos globalmente" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "Autollenar números de serie" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "Autorellenar números de serie en formularios" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina el comportamiento predeterminado cuando un artículo de almacén es agotado" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "Plantilla de código de lote" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "Expiración de stock" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "Habilitar la funcionalidad de expiración de stock" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "Vender existencias caducadas" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "Permitir venta de existencias caducadas" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "Tiempo histórico de Stock" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "Crear Stock Caducado" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "Permitir crear con stock caducado" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "Control de Stock" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "Icono por defecto de ubicación de almacén" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "Habilitar órdenes de devolución" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "Patrón de referencia de orden de devolución" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de devolución" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "Editar ordenes de devolución completadas" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de venta" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Habilitar función de contraseña olvidada" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Habilitar registro" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "Habilitar SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "Habilitar SSO en las páginas de inicio de sesión" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "Habilitar registro SSO" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Email requerido" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "Requiere usuario para suministrar correo al registrarse" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "Auto-rellenar usuarios SSO" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "Correo dos veces" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "Contraseña dos veces" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "Dominios permitidos" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "Grupo al registrarse" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "Grupo al que se asignan nuevos usuarios al registrarse" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "Forzar MFA" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "Los usuarios deben utilizar seguridad multifactor." -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "Comprobar complementos al iniciar" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "Habilitar integración de URL" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "Habilitar plugins para añadir rutas de URL" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "Habilitar integración de navegación" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "Habilitar plugins para integrar en la navegación" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "Habilitar integración de la aplicación" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "Habilitar plugins para añadir aplicaciones" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "Habilitar integración de programación" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "Habilitar plugins para ejecutar tareas programadas" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "Habilitar integración de eventos" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "Habilitar plugins para responder a eventos internos" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "Habilitar códigos de proyecto" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "Habilitar códigos de proyecto para rastrear proyectos" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "Intervalo de borrado de informe" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "Tecla de ajustes (debe ser única - mayúsculas y minúsculas" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "No hay impresora (Exportar a PDF)" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "Ocultar partes inactivas" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ocultar partes inactivas en los resultados mostrados en la página de inicio" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Mostrar partes suscritas" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Mostrar las partes suscritas en la página principal" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "Mostrar categorías suscritas" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorías de partes suscritas en la página de inicio" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Mostrar últimas partes" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Mostrar las últimas partes en la página de inicio" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Mostrar BOMs no validadas" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar BOMs que esperan validación en la página de inicio" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "Mostrar cambios recientes de stock" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar artículos de stock recientemente modificados en la página de inicio" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "Mostrar stock bajo" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Mostrar artículos de stock bajo en la página de inicio" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "Mostrar stock agotado" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "Mostrar artículos agotados en la página de inicio" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Mostrar stock necesario" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "Mostrar artículos de stock necesarios para trabajos en la página de inicio" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "Mostrar stock caducado" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "Mostrar artículos de stock caducados en la página de inicio" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "Mostrar stock obsoleto" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "Mostrar artículos de stock obsoletos en la página de inicio" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "Mostrar trabajos pendientes" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "Mostrar trabajos vencidos" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "Mostrar trabajos pendientes en la página de inicio" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "Mostrar Órdenes de Compra Pendientes" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "Mostrar las OC destacadas en la página de inicio" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "Mostrar OC atrasadas" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "Mostrar las OC vencidas en la página de inicio" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "Mostrar OV pendiemtes" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar OV pendientes en la página de inicio" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "Mostrar OV atrasadas" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "Mostrar OV atrasadas en la página de inicio" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "Mostrar noticias" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "Mostrar las últimas novedades de InvenTree en la página de inicio" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "Mostrar etiqueta interior" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Mostrar etiquetas PDF en el navegador, en lugar de descargar como un archivo" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "Impresora predeterminada" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "Mostrar informe en línea" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Mostrar informes PDF en el navegador, en lugar de descargar como un archivo" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Buscar partes" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "Buscar partes de proveedor" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "Ocultar Partes Inactivas" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "Buscar categorías" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "Buscar inventario" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "Buscar ubicaciones" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "Mostrar ubicaciones de almacén en la ventana de vista previa de búsqueda" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "Buscar empresas" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "Mostrar empresas en la ventana de vista previa de búsqueda" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "Buscar órdenes de compra" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "Buscar órdenes de venta" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "Buscar órdenes de devolución" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "Resultados de la vista previa" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "Búsqueda Regex" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "Habilitar expresiones regulares en las consultas de búsqueda" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "Búsqueda por palabra completa" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "Las consultas de búsqueda devuelven resultados para palabras enteras coincidentes" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "Mostrar cantidad en formularios" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "Mostrar la cantidad de partes disponibles en algunos formularios" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "Formularios de cierre de teclas de escape" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "Usa la clave de escape para cerrar formularios modales" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "Barra de navegación fija" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "La posición de la barra de navegación se fija en la parte superior de la pantalla" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "Formato de Fecha" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar fechas" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planificación de partes" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Precio" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "Nombre para este webhook" msgid "Active" msgstr "Activo" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "Token" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Clave" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "Host" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "Encabezado" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "Cuerpo" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "Id" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titulo" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumen" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "Leer" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "¿Esta noticia fue leída?" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "¿Esta noticia fue leída?" msgid "Image" msgstr "Imágen" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "Archivo de imagen" @@ -3656,7 +3666,7 @@ msgstr "Seleccionar parte" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Seleccionar fabricante" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "MPN" @@ -3743,7 +3753,7 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Seleccionar proveedor" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "SKU" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "Embalaje de partes" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "Cantidad de paquete" @@ -3838,7 +3849,7 @@ msgstr "Pedido múltiple" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "Borrar imagen" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "Stock del Proveedor" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "Nueva orden de compra" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "Parámetros" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Nuevo parámetro" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "Stock del Proveedor" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Crear nuevo artículo de stock" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nuevo artículo de stock" @@ -4278,9 +4289,9 @@ msgstr "Actualizar disponibilidad de parte" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "Etiqueta" msgid "Label template file" msgstr "Archivo de plantilla de etiqueta" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Habilitado" @@ -4357,7 +4368,7 @@ msgstr "Altura [mm]" msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Patrón de Nombre de archivo" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Filtros" @@ -4393,8 +4404,8 @@ msgstr "Código QR" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Precio Total" @@ -4420,12 +4431,12 @@ msgstr "Orden de compra" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Orden de devolución" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Desconocido" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "Código de referencia de pedido del cliente" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Fecha de envío" @@ -4602,7 +4613,7 @@ msgstr "eliminado" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "Orden" @@ -4613,8 +4624,8 @@ msgstr "Parte del proveedor" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "Cantidad enviada" msgid "Date of shipment" msgstr "Fecha del envío" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "Fecha de entrega" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "Referencia del envío del pedido de venta" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "Ítem" @@ -4789,7 +4800,7 @@ msgstr "Fecha de recepción" msgid "The date this this return item was received" msgstr "La fecha en la que se recibió este artículo de devolución" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Resultado" @@ -5126,8 +5137,8 @@ msgstr "Duplicar selección" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "Comprar artículos de orden" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Añadir artículo de línea" @@ -5240,8 +5251,8 @@ msgstr "Imprimir lista de empaquetado" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "Referencia del cliente" @@ -5253,8 +5264,8 @@ msgstr "Referencia del cliente" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "Costo Total" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "Artículos de Pedidos de Venta" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Envíos pendientes" @@ -5342,12 +5353,12 @@ msgstr "Actualizado el precio unitario de {part} a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Actualizado el precio unitario de {part} a {price} y la cantidad a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de Parte" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nombre de parte" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "Descripción de parte" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisión" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "En Stock" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "Nombre del padre" msgid "Category Path" msgstr "Ruta de Categoría" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "ID de artículo de BOM" msgid "Parent IPN" msgstr "IPN del padre" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "IPN de la parte" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "Inventario Total" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "Stock Disponible" @@ -5523,7 +5535,7 @@ msgstr "Stock Disponible" msgid "Input quantity for price calculation" msgstr "Cantidad de entrada para el cálculo del precio" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoría de parte" @@ -5598,7 +5610,7 @@ msgstr "Parte con este nombre, IPN y revisión ya existe." msgid "Parts cannot be assigned to structural part categories!" msgstr "¡No se pueden asignar partes a las categorías de partes estructurales!" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Nombre de la parte" @@ -5622,8 +5634,8 @@ msgstr "Descripción de parte (opcional)" msgid "Part keywords to improve visibility in search results" msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "Parte principal" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Plantilla de parámetro" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "Datos" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "Valor del parámetro" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor predeterminado" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "ID de parte o nombre de parte" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "Nivel" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "Nivel de BOM" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "Seleccionar parte principal" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "Sub parte" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "Seleccionar parte a utilizar en BOM" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "Cantidad del artículo en BOM" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "Este artículo BOM es opcional" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Exceso" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "Referencia de artículo de BOM" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "Notas del artículo de BOM" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "Suma de verificación" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "Suma de verificación de línea de BOM" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Validado" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este artículo BOM es heredado por BOMs para partes variantes" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Permitir variantes" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La cantidad debe ser un valor entero para las partes rastreables" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "Debe especificar la subparte" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "Ítem de BOM sustituto" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sustituta no puede ser la misma que la parte principal" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "Artículo BOM superior" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "Sustituir parte" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "Seleccionar parte relacionada" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "Limpiar BOM Existente" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "Varios resultados encontrados" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "No se encontraron partes coincidentes" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "La parte no está designada como componente" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "Cantidad no proporcionada" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "Cantidad no válida" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "Se requiere al menos un artículo BOM" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "Cantidad Total" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "Nueva Parte" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Parámetros de Parte" @@ -6767,7 +6780,7 @@ msgstr "Mostrar información de precios" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Acciones de stock" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "Sin Stock" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Bajo Stock" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "No se han proporcionado objetos válidos a la plantilla" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "Informe de la prueba" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Nombre de la plantilla" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "Plantilla de informe" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "Descripción de la plantilla de informe" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "Número de revisión del informe (autoincremental)" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "Patrón para generar nombres de archivo" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "Plantilla de informe está habilitada" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Filtros de consulta de Stock (lista separada por comas de pares clave=valor)" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "Incluye Pruebas Instaladas" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "Incluye resultados de prueba para artículos de stock instalados dentro del artículo ensamblado" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "Crear filtros" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "Filtros de partes" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtros de búsqueda de partes (lista separada por comas de pares clave=valor" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "Filtros de búsqueda de orden de compra" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "Filtros de búsqueda de pedidos de ventas" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "Filtros de búsqueda de orden de devolución" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "Activo" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "Descripción del archivo de activos" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Materiales necesarios" @@ -7475,8 +7492,8 @@ msgstr "El proveedor ha sido eliminado" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "Precio Unitario" @@ -7488,8 +7505,8 @@ msgstr "Elementos de línea extra" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "Total" @@ -7497,17 +7514,21 @@ msgstr "Total" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Número de serie" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Artículo Stock Informe de prueba" @@ -7561,8 +7582,8 @@ msgstr "ID de Ubicación" msgid "Location Name" msgstr "Nombre de localización" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "Ruta de Ubicación" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "Ubicación de Stock" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "Acciones de ajuste de stock" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Contar stock" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "Serializar stock" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Transferir stock" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "No estás en la lista de propietarios de este artículo. Este artículo de stock no puede ser editado." #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "Solo lectura" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "Cantidad disponible" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "Ubicación no establecida" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "Escanear en contenedor" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "Acciones de ubicación" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Editar ubicación" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "Eliminar ubicación" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "Ubicación de stock superior" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "Propietario de la ubicación" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "No estás en la lista de propietarios de esta ubicación. Esta ubicación de stock no puede ser editada." -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sub-ubicación" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "Crear nueva ubicación de stock" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Nueva Ubicación" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "ubicación de almacén" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "Validación de BOM en espera" msgid "Recently Updated" msgstr "Actualizado Recientemente" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Stock Agotado" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Requerido para construir pedidos" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "Stock Caducado" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Stock Obsoleto" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "Pedidos en curso" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Órdenes de construcción atrasadas" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Órdenes de Compra Pendientes" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Pedidos de Compra Atrasados" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Pedidos de Venta Pendientes" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Pedidos de Venta Atrasados" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "Noticias de InvenTree" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "Noticias actuales" @@ -8668,7 +8693,7 @@ msgstr "Importar Parte" msgid "Import Part" msgstr "Importar Parte" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "Plantillas de Parámetros de Partes" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "Las siguientes partes están bajas en stock requerido" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "Cantidad requerida" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "Sustitutos Disponibles" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "Stock de variante permitido" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "Ver BOM" msgid "No BOM items found" msgstr "No se encontraron artículos BOM" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "Parte requerida" @@ -10093,7 +10118,7 @@ msgstr "Eliminar Salidas" msgid "No build order allocations found" msgstr "No se encontraron asignaciones de órdenes de trabajo" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "Seleccionar partes" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "Debe seleccionar al menos una parte para asignar" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "Especificar la cantidad de asignación de stock" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "Seleccionar ubicación de origen (dejar en blanco para tomar de todas las ubicaciones)" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Asignar Artículos de Stock a Orden de Trabajo" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "No hay ubicaciones de stock coincidentes" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "No hay artículos de stock coincidentes" @@ -10208,7 +10233,7 @@ msgstr "Asignar artículos de inventario" msgid "No builds matching query" msgstr "No hay trabajos que coincidan con la consulta" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "No hay información de usuario" msgid "group" msgstr "grupo" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "Editar asignación de stock" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "Eliminar asignación de stock" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "Editar Asignación" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "Quitar asignación" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Parte Rastreable" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "Stock de Trabajo" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Pedido de stock" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "Asignar stock" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "Operación de visualización no permitida" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Eliminar" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "Eliminar línea" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "No hay artículos de línea" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "No se encontraron órdenes de compra" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "Recibir ítem de línea" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "Seleccionar Artículos de Línea" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "Debe seleccionar al menos un artículo de línea" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "Cantidad a recibir" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "Confirmar recepción de artículos" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "El pedido está vencido" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "Artículos" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "Duplicar artículo de línea" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "Editar Ítem de Línea" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "Eliminar Ítemde Línea" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "Duplicar artículo de línea" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "Editar artículo de línea" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "Eliminar artículo de línea" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "Cliente Inválido" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "Recibir artículos de pedido de devolución" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "No hay artículos de línea coincidentes" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "Marcar artículo como recibido" @@ -11656,112 +11681,112 @@ msgstr "Crear Nuevo Envío" msgid "No sales orders found" msgstr "No se encontraron ventas" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "Editar envío" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "Completar envío" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "Eliminar envío" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "Editar envío" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "Eliminar Envío" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "No se encontraron envíos coincidentes" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "Referencia de Envío" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "No enviado" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "Seguimiento" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "Factura" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "Añadir envío" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "Confirmar asignación de stock" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "Asignar artículos de stock a pedido de venta" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "No se encontraron asignaciones de órdenes" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "Editar Asignación de Stock" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "Confirmar Operación de Eliminar" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "Eliminar Adjudicación de Stock" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Enviado al cliente" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "Ubicación de stock no especificada" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "Asignar números de serie" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "Comprar stock" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "Calcular precio" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "No se puede eliminar ya que los artículos han sido enviados" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "No se puede eliminar ya que los artículos han sido asignados" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "Asignar Números de Serie" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "Actualizar precio unitario" @@ -11965,7 +11990,7 @@ msgstr "Tomar" msgid "Add Stock" msgstr "Añadir Stock" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "Añadir" @@ -12799,35 +12824,35 @@ msgstr "Permisos" msgid "Important dates" msgstr "Fechas importantes" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "Permiso establecido" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Grupo" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Vista" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Permiso para ver artículos" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Permiso para añadir artículos" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "Cambiar" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Permisos para editar artículos" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Permiso para eliminar artículos" diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po index e3e8edb438..64c21eac96 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: 2023-06-26 07:13+0000\n" +"POT-Creation-Date: 2023-07-04 21:22+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -65,11 +65,11 @@ msgstr "" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "" @@ -261,11 +261,11 @@ msgstr "" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "" @@ -289,7 +289,7 @@ msgstr "" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "" @@ -332,7 +332,7 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -343,7 +343,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "" @@ -356,8 +356,8 @@ msgstr "" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -366,18 +366,18 @@ msgstr "" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "" @@ -390,7 +390,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -426,7 +426,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3935 msgid "Must be a valid number" msgstr "" @@ -612,7 +612,7 @@ msgstr "" msgid "Chinese" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -662,9 +662,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "" @@ -752,7 +752,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "" @@ -772,7 +772,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -840,27 +840,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "" @@ -868,16 +868,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3827 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -890,8 +890,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -901,7 +901,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "" @@ -909,7 +909,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -926,17 +926,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "" @@ -958,9 +958,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3583 +#: part/models.py:3706 part/models.py:3801 part/models.py:4115 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -979,27 +979,27 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "" @@ -1017,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1068,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "" @@ -1107,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1140,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1151,48 +1151,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1209,7 +1209,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1219,79 +1219,79 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1346,7 +1346,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1355,22 +1355,22 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1401,10 +1401,10 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "" @@ -1697,11 +1697,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1737,9 +1737,9 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1779,7 +1779,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -1796,8 +1796,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1897,7 +1897,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1906,11 +1906,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,8 +2255,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3588 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3268,7 +3268,7 @@ msgstr "" #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" @@ -3657,7 +3657,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3672,13 +3672,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3709,7 +3709,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3744,7 +3744,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3760,15 +3760,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3785,7 +3785,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3806,7 +3806,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3819,8 +3819,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3839,8 +3839,8 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3926,9 +3926,9 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4014,7 +4014,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4037,7 +4037,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4190,7 +4190,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4272,7 +4272,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4284,7 +4284,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4334,7 +4334,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4358,7 +4358,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4372,8 +4372,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4394,8 +4394,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4413,7 +4413,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,12 +4421,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/return_order.js:278 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4536,8 +4536,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4603,7 +4603,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4614,8 +4614,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4627,7 +4627,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -4664,7 +4664,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4750,7 +4750,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4790,7 +4790,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5127,8 +5127,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5191,7 +5191,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5241,8 +5241,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5254,8 +5254,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5308,7 +5308,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5343,12 +5343,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3710 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3714 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5359,12 +5359,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5405,7 +5405,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5441,7 +5441,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5464,7 +5464,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3718 msgid "Part IPN" msgstr "" @@ -5516,7 +5516,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5524,7 +5524,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3659 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5539,7 +5539,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5599,7 +5599,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3715 msgid "Part name" msgstr "" @@ -5623,8 +5623,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3658 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5882,7 +5882,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6028,176 +6028,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3539 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3583 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3588 part/models.py:3664 part/models.py:3665 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3593 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3593 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3669 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3670 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3707 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3711 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3719 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3722 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3723 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3729 part/models.py:4107 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3848 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3947 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4095 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4135 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4135 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4153 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4157 msgid "Duplicate relationship already exists" msgstr "" @@ -6205,232 +6205,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6445,7 +6445,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6593,7 +6593,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6959,7 +6959,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6992,7 +6992,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7060,7 +7060,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7371,91 +7371,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7476,8 +7476,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7489,8 +7489,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7498,13 +7498,13 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7518,7 +7518,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7550,7 +7550,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7618,7 +7618,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7626,23 +7626,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7671,7 +7671,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8048,44 +8048,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8108,17 +8108,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8127,12 +8127,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8239,7 +8239,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8276,7 +8276,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8383,7 +8383,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -8489,51 +8489,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -9494,7 +9494,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9855,7 +9855,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9875,25 +9875,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9925,7 +9925,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10094,7 +10094,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10140,17 +10140,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10163,7 +10163,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10172,12 +10172,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10209,9 +10209,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10223,7 +10223,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10231,78 +10231,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10669,11 +10669,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -10827,7 +10827,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11070,14 +11070,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11114,7 +11114,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11126,7 +11126,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11142,12 +11142,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11392,7 +11392,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11441,7 +11441,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11462,59 +11462,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11571,21 +11571,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11657,112 +11657,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11982,7 +11982,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11990,264 +11990,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po index 47c0f02bc0..5c7e46ff66 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -64,10 +64,10 @@ msgstr "تاریخ را وارد کنید" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "یادداشت" @@ -251,7 +251,7 @@ msgstr "" msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "" @@ -282,9 +282,9 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "" @@ -611,7 +611,7 @@ msgstr "" msgid "Chinese" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "" @@ -839,27 +839,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "" @@ -867,16 +867,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "" @@ -957,9 +957,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "منبع محل" @@ -1067,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "" @@ -1106,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/fi/LC_MESSAGES/django.po b/InvenTree/locale/fi/LC_MESSAGES/django.po index 17c45dfc1a..cffb53a304 100644 --- a/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -64,10 +64,10 @@ msgstr "Anna päivämäärä" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Merkinnät" @@ -251,7 +251,7 @@ msgstr "Liite" msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Valitse liitettävä tiedosto" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Linkki" @@ -282,9 +282,9 @@ msgstr "Kommentti" msgid "File comment" msgstr "Tiedoston kommentti" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Nimi" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Nimi" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Palvelinvirhe" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" @@ -611,7 +611,7 @@ msgstr "vietnam" msgid "Chinese" msgstr "kiina" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "Kesken" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Lähetetty" @@ -839,27 +839,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Muokkaa käyttäjätietoja" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Aseta salasana" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Salasanat eivät täsmää" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Virheellinen salasana" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Järjestelmän tiedot" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Tietoja InvenTree:stä" @@ -867,16 +867,16 @@ msgstr "Tietoja InvenTree:stä" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "" @@ -957,9 +957,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1067,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "" @@ -1106,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "päivää" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Sisäiset hinnat" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "Sisäisen hinnan ohitus" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Sivun koko" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "Täytä sarjanumerot automaattisesti" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Salli salasananpalautus" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Salli rekisteröinti" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "Salli SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "Näytä uutiset" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "Näytä uutiset kotisivulla" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Hinta" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "Aktiivinen" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "Isäntä" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Otsikko" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "Julkaistu" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Julkaisija" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "Kuvatiedosto" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Valitse valmistaja" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Valitse toimittaja" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "SKU" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Käytössä" @@ -4357,7 +4368,7 @@ msgstr "Korkeus [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Suodattimet" @@ -4393,8 +4404,8 @@ msgstr "QR-koodi" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Hinta yhteensä" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "Uusi osa" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Sarjanumero" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Muokkaa sijaintia" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "Poista sijainti" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Uusi sijainti" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Poista" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "Virheellinen asiakas" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "Lasku" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "Oikeudet" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Ryhmä" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Näytä" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Oikeus tarkastella kohteita" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Oikeus lisätä kohteita" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "Muuta" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Oikeus muokata kohteita" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Oikeus poistaa kohteita" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 9ecda5ef60..73f0fa2288 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:43\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -64,10 +64,10 @@ msgstr "Entrer la date" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notes" @@ -251,7 +251,7 @@ msgstr "Pièce jointe" msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Sélectionnez un fichier à joindre" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Lien" @@ -282,9 +282,9 @@ msgstr "Commentaire" msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Nom" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Nom" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Erreur serveur" msgid "An error has been logged by the server." msgstr "Une erreur a été loguée par le serveur." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Doit être un nombre valide" @@ -611,7 +611,7 @@ msgstr "Vietnamien" msgid "Chinese" msgstr "Chinois" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "En Cours" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Expédié" @@ -839,27 +839,27 @@ msgstr "Le surplus ne doit pas dépasser 100%" msgid "Invalid value for overage" msgstr "Valeur invalide pour le dépassement" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Définir le mot de passe" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Les mots de passe doivent correspondre" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Mot de passe incorrect" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Informations système" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "À propos d'InvenTree" @@ -867,16 +867,16 @@ msgstr "À propos d'InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "Ordre de Fabrication" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Référence de l' Ordre de Fabrication" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Référence" @@ -957,9 +957,9 @@ msgstr "BuildOrder associé a cette fabrication" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "BuildOrder associé a cette fabrication" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "BuildOrder associé a cette fabrication" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Commande de vente à laquelle cette construction est allouée" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Emplacement d'origine" @@ -1067,8 +1068,8 @@ msgstr "Code de lot pour ce build output" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Date de création" @@ -1106,7 +1107,7 @@ msgstr "Utilisateur ayant émis cette commande de construction" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Responsable" @@ -1139,8 +1140,8 @@ msgstr "Priorité de cet ordre de fabrication" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "L'ordre de production de correspond pas à l'ordre de commande" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "La quantité doit être de 1 pour stock sérialisé" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Stock de destination de l'article" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "Emplacement des ordres de production achevés" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Date Cible" @@ -1736,8 +1738,8 @@ msgstr "Sorties de Construction terminées" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Commandes" @@ -1778,7 +1780,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:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Destination" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "jours" @@ -2254,8 +2256,8 @@ msgstr "Copier les templates de paramètres de catégorie" 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:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Modèle" @@ -2273,7 +2275,7 @@ msgstr "Assemblage" #: common/models.py:1170 msgid "Parts can be assembled from other components by default" -msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut" +msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut" #: common/models.py:1176 part/admin.py:52 part/models.py:1006 #: templates/js/translated/table_filters.js:664 @@ -2282,7 +2284,7 @@ msgstr "Composant" #: common/models.py:1177 msgid "Parts can be used as sub-components by default" -msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut" +msgstr "Les pièces peuvent être utilisées comme sous-composants par défaut" #: common/models.py:1183 part/admin.py:53 part/models.py:1017 msgid "Purchaseable" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "Icône par défaut de la catégorie de la pièce (vide signifie aucune icône)" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inclure les réductions de prix dans le calcul du prix global" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "La tarification historique des bons de commande remplace les réductions de prix des fournisseurs" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utiliser les prix des données de stock saisies manuellement pour calculer les prix" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Exclure les articles en stock datant de plus de ce nombre de jours des calculs de prix" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "N'utiliser que des pièces de variante actives pour calculer le prix de la variante" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "Nombre de jours avant la mise à jour automatique du prix de la pièce" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Prix internes" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Taille de la page" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Activer les rapports de test" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Activer la génération de rapports de test" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "Joindre des rapports de test" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Lors de l'impression d'un rapport de test, joignez une copie du rapport de test à l'article en stock associé" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "Remplir automatiquement les Numéros de Série" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "Remplir automatiquement les numéros de série dans les formulaires" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "Détermine le comportement par défaut lorsqu'un article de stock est épuisé" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "Modèle pour générer des codes par défaut pour les articles en stock" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "Modèle requis pour générer le champ de référence du bon de commande" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "Activer la création d'expédition par défaut avec les bons de commandes" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modèle requis pour générer le champ de référence de bon de commande" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activer l'auto-inscription via SSO pour les utilisateurs sur les pages de connexion" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Email requis" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "Remplir automatiquement les détails de l'utilisateur à partir des données de compte SSO" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "Courriel en double" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'inscription" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Vérifier que tous les plugins sont installés au démarrage - activer dans les environnements conteneurs" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Activer la fonctionnalité d'inventaire pour enregistrer les niveaux de stock et le calcul de la valeur du stock" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Nombre de jours entre l'enregistrement automatique des stocks (définir à zéro pour désactiver)" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Les rapports d'inventaire seront supprimés après le nombre de jours spécifié" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "Clé du paramètre (doit être unique - insensible à la casse)" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "Pas d'imprimante (Exporter vers PDF)" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Afficher les composants suivis" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Afficher les composants suivis sur l'écran d'accueil" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "Afficher les catégories suivies" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "Afficher les catégories de pièces suivies sur la page d'accueil" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Afficher les dernières pièces" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Afficher les derniers composants sur la page d'accueil" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Afficher les listes de matériaux non validées" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "Afficher les listes de matériaux en attente de validation sur la page d'accueil" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "Afficher les dernières modifications du stock" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "Afficher les articles de stock récemment modifiés sur la page d'accueil" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "Afficher le stock faible" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Afficher les articles en stock bas sur la page d'accueil" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "Afficher le stock épuisé" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "Afficher les stocks épuisés sur la page d'accueil" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Afficher le stock nécessaire" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "Afficher les pièces en stock nécessaires pour les assemblages sur la page d'accueil" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "Afficher le stock expiré" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "Afficher les pièces en stock expirées sur la page d'accueil" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "Afficher le stock périmé" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "Afficher les articles de stock périmés sur la page d'accueil" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "Afficher les constructions en attente" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "Afficher les constructions en attente sur la page d'accueil" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "Afficher les constructions en retard" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "Afficher les constructions en retard sur la page d'accueil" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "Afficher les commandes en suspens" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "Afficher les commandes en suspens sur la page d'accueil" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "Afficher les commandes en retard" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "Afficher les commandes en retard sur la page d'accueil" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "Afficher les envois en suspens" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "Afficher les envois en suspens sur la page d'accueil" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "Afficher les envois en retard" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "Afficher les envois en retard sur la page d'accueil" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "Afficher les nouvelles" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "Afficher les nouvelles sur la page d'accueil" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "Affichage du libellé en ligne" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Afficher les étiquettes PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "Imprimante d'étiquettes par défaut" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "Configurer quelle imprimante d'étiquette doit être sélectionnée par défaut" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "Affichage du rapport en ligne" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Afficher les rapports PDF dans le navigateur, au lieu de les télécharger en tant que fichier" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Rechercher de pièces" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "Afficher les pièces dans la fenêtre d'aperçu de la recherche" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "Afficher les pièces du fournisseur dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "Rechercher les pièces du fabricant" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "Afficher les pièces du fabricant dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "Masquer les pièces inactives" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "Exclure les pièces inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "Rechercher des catégories" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "Afficher les catégories de pièces dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "Rechercher dans le stock" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "Afficher les pièces en stock dans la fenêtre d'aperçu de la recherche" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "Cacher les pièces indisponibles" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "Exclure les articles en stock qui ne sont pas disponibles de la fenêtre de prévisualisation de recherche" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "Chercher des Emplacements" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "Afficher les emplacements dans la fenêtre d'aperçu de la recherche" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "Rechercher les entreprises" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "Afficher les entreprises dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "Rechercher les commandes de construction" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "Afficher les commandes de construction dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "Rechercher des bons de commande" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de recherche" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "Exclure les bons de commande inactifs" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "Exclure les commandes d’achat inactives de la fenêtre de prévisualisation de recherche" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "Rechercher les bons de commande" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "Afficher les bons de commande dans la fenêtre de prévisualisation de la recherche" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "Exclure les bons de commande inactives" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "Exclure les bons de commande inactifs de la fenêtre de prévisualisation de recherche" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "Résultats de l'aperçu de la recherche" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "Nombre de résultats à afficher dans chaque section de la fenêtre de prévisualisation de recherche" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "Recherche Regex" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "Afficher la quantité dans les formulaires" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "Afficher la quantité disponible dans certains formulaires" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "La touche Echap ferme les formulaires" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "Utilisez la touche Echap pour fermer les formulaires modaux" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "Barre de navigation fixe" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "La position de la barre de navigation est fixée en haut de l'écran" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "Format de date" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planification des pièces" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "Afficher les informations de planification des pièces" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "Longueur de la chaîne dans les Tableau" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite de longueur maximale pour les chaînes affichées dans les vues de la table" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Prix" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "Actif" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "Jeton" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "ID message" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "Hôte" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "Entête" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "Corps" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "Id" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titre" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "Publié" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Auteur" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "Résumé" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "Lu" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "Cette nouvelle a-t-elle été lue ?" msgid "Image" msgstr "Image" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3454,7 +3464,7 @@ msgstr "Les champs correspondants ont échoué" #: common/views.py:481 msgid "Parts imported" -msgstr "Composantes importées" +msgstr "Pièces importées" #: common/views.py:509 order/templates/order/order_wizard/match_fields.html:27 #: order/templates/order/order_wizard/match_parts.html:19 @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Sélectionner un fabricant" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "La pièce du fabricant liée doit faire référence à la même pièce d #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Sélectionner un fournisseur" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "SKU" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "Conditionnement de l'article" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "Nombre de paquet" @@ -3838,7 +3849,7 @@ msgstr "Commande multiple" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "Supprimer image" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,12 +4024,12 @@ msgstr "Stock fournisseur" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 msgid "Purchase Orders" -msgstr "Commandes d'achat" +msgstr "Bons de commande" #: company/templates/company/detail.html:79 #: order/templates/order/purchase_orders.html:17 @@ -4036,7 +4047,7 @@ msgstr "Nouvelle commande achat" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "Paramètres" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Nouveau paramètre" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "Stock de pièces du fournisseur" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Créer un nouvel article de stock" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nouvel article de stock" @@ -4278,9 +4289,9 @@ msgstr "Mettre à jour la disponibilité des pièces" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "Étiquette" msgid "Label template file" msgstr "Fichier de modèle d'étiquette" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Activé" @@ -4357,7 +4368,7 @@ msgstr "Hauteur [mm]" msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Filtres" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "Commande d’achat" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Inconnu" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Nom de l’expédition" @@ -4602,7 +4613,7 @@ msgstr "supprimé" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "Commande" @@ -4613,8 +4624,8 @@ msgstr "Pièce fournisseur" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "Quantité expédiée" msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "Article" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "Dupliquer la sélection" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "Articles de la commande d'achat" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Expéditions en attente" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID de composant" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Révision" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5449,7 +5461,7 @@ msgstr "" #: templates/js/translated/part.js:2736 templates/js/translated/search.js:130 #: templates/navbar.html:24 users/models.py:38 msgid "Parts" -msgstr "Composantes" +msgstr "Pièces" #: part/admin.py:265 msgid "BOM Level" @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Catégorie de composant" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "Données" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valeur par Défaut" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "Article du BOM" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Validée" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6525,7 +6537,7 @@ msgstr "" #: part/templates/part/category.html:126 msgid "Parts (Including subcategories)" -msgstr "Composantes (incluant sous-catégories)" +msgstr "Pièces (incluant les sous-catégories)" #: part/templates/part/category.html:164 msgid "Create new part" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6560,7 +6573,7 @@ msgstr "" #: part/templates/part/copy_part.html:14 #: part/templates/part/create_part.html:11 msgid "Possible Matching Parts" -msgstr "Composantes correspondantes possibles" +msgstr "Pièces pouvant correspondre" #: part/templates/part/copy_part.html:15 #: part/templates/part/create_part.html:12 @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "Aucun objet valide n'a été fourni au modèle" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "Filtres de composants" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "Extrait " -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "Elément" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Numéro de série" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "Nouvelles d'InvenTree" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "Quantité requise" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "Pas d'informations sur l'utilisateur" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Pièce traçable" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Commander des stocks" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10342,11 +10367,11 @@ msgstr "" #: templates/js/translated/company.js:535 msgid "Parts Supplied" -msgstr "Composantes fournies" +msgstr "Pièces fournies" #: templates/js/translated/company.js:544 msgid "Parts Manufactured" -msgstr "Composantes fabriquées" +msgstr "Pièces fabriquées" #: templates/js/translated/company.js:559 msgid "No company information found" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Supprimer" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "Commande en retard" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Livré au client" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "Acheter du stock" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "Calculer le prix" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "Allouer des numéros de série" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "Supprimer" msgid "Add Stock" msgstr "Ajouter du stock" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "Ajouter" @@ -12172,7 +12197,7 @@ msgstr "" #: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" -msgstr "La commande d'achat n'existe plus" +msgstr "Le bon de commande n'existe plus" #: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" @@ -12798,35 +12823,35 @@ msgstr "Droits" msgid "Important dates" msgstr "Dates importantes" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "Droit défini" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Groupe" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Vue" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Droit de voir des éléments" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Droit d'ajouter des éléments" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "Modifier" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Droit de modifier des élément" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Droit de supprimer des éléments" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 91effb2003..8a26fbc26f 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -64,10 +64,10 @@ msgstr "הזן תאריך סיום" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "" @@ -251,7 +251,7 @@ msgstr "קובץ מצורף" msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "בחר קובץ לצירוף" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "קישור" @@ -282,9 +282,9 @@ msgstr "הערה" msgid "File comment" msgstr "הערת קובץ" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "שם" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "שם" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" @@ -611,7 +611,7 @@ msgstr "ווייטנאמית" msgid "Chinese" msgstr "סינית" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "נשלח" @@ -839,27 +839,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "ערוך מידע אודות המשתמש" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "הגדר סיסמא" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "הסיסמאות מוכרחות להיות תואמות" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "מידע אודות המערכת" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "" @@ -867,16 +867,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "מקט" @@ -957,9 +957,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1067,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "" @@ -1106,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po index 9a94a3dc21..f85bd99d5d 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -64,10 +64,10 @@ msgstr "Dátum megadása" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Megjegyzések" @@ -251,7 +251,7 @@ msgstr "Melléklet" msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Link" @@ -282,9 +282,9 @@ msgstr "Megjegyzés" msgid "File comment" msgstr "Leírás, bővebb infó" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Név" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Név" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Kiszolgálóhiba" msgid "An error has been logged by the server." msgstr "A kiszolgáló egy hibaüzenetet rögzített." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" @@ -611,7 +611,7 @@ msgstr "Vietnámi" msgid "Chinese" msgstr "Kínai" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "Folyamatban" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Kiszállítva" @@ -839,27 +839,27 @@ 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:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Felhasználói információ módosítása" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Jelszó beállítása" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "A jelszavaknak egyeznie kell" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Rossz jelszó lett megadva" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Rendszerinformáció" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Verzió információk" @@ -867,16 +867,16 @@ msgstr "Verzió információk" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "Követett" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "Lefoglalva" @@ -908,7 +908,7 @@ msgstr "Gyártási utasítás" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Gyártási utasítás azonosító" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Azonosító" @@ -957,9 +957,9 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Forrás hely" @@ -1067,8 +1068,8 @@ msgstr "Batch kód a gyártás kimenetéhez" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Létrehozás dátuma" @@ -1106,7 +1107,7 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Felelős" @@ -1139,8 +1140,8 @@ msgstr "Gyártási utasítás priorítása" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" @@ -1186,17 +1187,18 @@ msgstr "A mennyiség nem lehet több mint a gyártási mennyiség" msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "Gyártás objektum" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "Gyártás objektum" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Cél készlet tétel" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "A kész gyártási kimenetek helye" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1697,11 +1699,11 @@ msgstr "Még nincs lefoglalva a szükséges készlet" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Cél dátum" @@ -1737,8 +1739,8 @@ msgstr "Befejezett kimenetek" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Vevői rendelés" @@ -1779,7 +1781,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:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Cél" @@ -2122,8 +2124,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "Milyen gyakran ellenőrizze van-e új frissítés (0=soha)" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "nap" @@ -2255,8 +2257,8 @@ msgstr "Kategória paraméter sablonok másolása" 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:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Sablon" @@ -2373,922 +2375,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" #: common/models.py:1253 +msgid "Enforce Parameter Units" +msgstr "" + +#: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 msgid "Minimum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek min. száma" -#: common/models.py:1254 +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek minimális száma az árak megjelenítésekor" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek max. száma" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek maximális száma az árak megjelenítésekor" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Beszállítói ársávok megjelenítése az általános árkalkulációkban" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Beszerzési árelőzmények felülírják a beszállítói ársávokat" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "A kézzel bevitt készlet tétel árak használata az árszámításokhoz" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Az ennyi napnál régebbi készlet tételek kizárása az árszámításból" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "Alkatrészváltozat árak megjelenítése az általános árkalkulációkban" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "Csak az aktív alkatrészváltozatok használata az árazásban" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Belső árak" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "Ha elérhetőek az árkalkulációkban a belső árak lesznek alapul véve" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Debug mód" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Lapméret" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Teszt riportok engedélyezése" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Teszt riportok előállításának engedélyezése" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "Teszt riportok hozzáadása" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Teszt riport nyomtatáskor egy másolat hozzáadása a készlet tételhez" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "Sorozatszámok automatikus kitöltése" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "Sorozatszámok automatikus kitöltése a formokon" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/models.py:1424 +#: common/models.py:1431 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:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/models.py:1444 +#: common/models.py:1451 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:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/models.py:1459 +#: common/models.py:1466 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:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "Beépített készlet tételek megjelenítése a készlet táblákban" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "Visszavételi utasítások engedélyezése a felületen" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "Visszavételi utasítás azonosító minta" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "Szükséges minta a visszavételi utasítás azonosító mező előállításához" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavételi utasítás szerkesztése" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "Visszavételi utasítások szerkesztésének engedélyezése befejezés után" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/models.py:1550 +#: common/models.py:1557 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:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése SSO-n keresztül a bejelentkező oldalon" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Email szükséges" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/models.py:1578 +#: common/models.py:1585 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:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "Email kétszer" -#: common/models.py:1585 +#: common/models.py:1592 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:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/models.py:1592 +#: common/models.py:1599 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:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Feliratkozás korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/models.py:1606 +#: common/models.py:1613 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:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/models.py:1629 +#: common/models.py:1636 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:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/models.py:1653 +#: common/models.py:1660 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:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/models.py:1661 +#: common/models.py:1668 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:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "Projektszámok engedélyezése" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "Projektszámok használatának engedélyezése a projektek követéséhez" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Leltár funkció engedélyezése a készlet mennyiség és érték számításhoz" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Hány naponta történjen automatikus leltár (nulla egyenlő tiltva)" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Régi leltár riportok törlése hány naponta történjen" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 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:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "Nincs nyomtató (nyomtatás PDF-be)" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Nem aktív alkatrészek elrejtése a kezdőlapon" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Értesítésre beállított alkatrészek megjelenítése" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Alkatrész értesítések megjelenítése a főoldalon" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "Értesítésre beállított kategóriák megjelenítése" -#: common/models.py:1766 +#: common/models.py:1773 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:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Legújabb alkatrészek megjelenítése" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Legújabb alkatrészek megjelenítése a főoldalon" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése" -#: common/models.py:1780 +#: common/models.py:1787 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:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "Legfrissebb készlet változások megjelenítése" -#: common/models.py:1787 +#: common/models.py:1794 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:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "Alacsony készlet megjelenítése" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Alacsony készletek megjelenítése a főoldalon" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "Kimerült készlet megjelenítése" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "Kimerült készletek megjelenítése a főoldalon" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Gyártáshoz szükséges készlet megjelenítése" -#: common/models.py:1808 +#: common/models.py:1815 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:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "Lejárt készlet megjelenítése" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "Lejárt készletek megjelenítése a főoldalon" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "Állott készlet megjelenítése" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "Álló készletek megjelenítése a főoldalon" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "Függő gyártások megjelenítése" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "Késésben lévő gyártások megjelenítése" -#: common/models.py:1836 +#: common/models.py:1843 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:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "Kintlévő beszerzési rendelések megjelenítése" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "Késésben lévő megrendelések megjelenítése" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "Késésben lévő megrendelések megjelenítése a főoldalon" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "Függő vevői rendelések megjelenítése" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "Függő vevői rendelések megjelenítése a főoldalon" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "Késésben lévő vevői rendelések megjelenítése" -#: common/models.py:1864 +#: common/models.py:1871 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:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "Függő vevői szállítmányok megjelenítése" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "Folyamatban lévő vevői szállítmányok megjelenítése a főoldalon" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "Hírek megjelenítése" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "Hírek megjelenítése a főoldalon" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "Beágyazott címke megjelenítés" -#: common/models.py:1885 +#: common/models.py:1892 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:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "Alapértelmezett címkenyomtató" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "Melyik címkenyomtató legyen az alapértelmezett" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "Beágyazott riport megjelenítés" -#: common/models.py:1899 +#: common/models.py:1906 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:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Alkatrészek keresése" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "Alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "Beszállítói alkatrészek keresése" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "Beszállítói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "Gyártói alkatrészek keresése" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "Gyártói alkatrészek megjelenítése a keresési előnézetben" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "Inaktív alkatrészek elrejtése" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "Inaktív alkatrészek kihagyása a keresési előnézet találataiból" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "Kategóriák keresése" -#: common/models.py:1934 +#: common/models.py:1941 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:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "Készlet keresése" -#: common/models.py:1941 +#: common/models.py:1948 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:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "Nem elérhető készlet tételek elrejtése" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "Nem elérhető készlet kihagyása a keresési előnézet találataiból" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "Helyek keresése" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "Készlet helyek megjelenítése a keresési előnézetben" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "Cégek keresése" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "Cégek megjelenítése a keresési előnézetben" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "Gyártási utasítások keresése" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "Gyártási utasítások megjelenítése a keresés előnézet ablakban" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "Beszerzési rendelések keresése" -#: common/models.py:1976 +#: common/models.py:1983 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:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "Inaktív beszerzési rendelések kihagyása" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inaktív beszerzési rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "Vevői rendelések keresése" -#: common/models.py:1990 +#: common/models.py:1997 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:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "Inaktív vevői rendelések kihagyása" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "Inaktív vevői rendelések kihagyása a keresési előnézet találataiból" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "Visszavételi utasítások keresése" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "Visszavételi utasítások megjelenítése a keresés előnézet ablakban" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "Inaktív visszavételi utasítások kihagyása" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "Inaktív visszavételi utasítások kihagyása a keresési előnézet találataiból" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "Keresési előnézet eredményei" -#: common/models.py:2018 +#: common/models.py:2025 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:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "Regex keresés" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "Reguláris kifejezések engedélyezése a keresésekben" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "Teljes szó keresés" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "A keresések csak teljes szóra egyező találatokat adjanak" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "Mennyiség megjelenítése a formokon" -#: common/models.py:2039 +#: common/models.py:2046 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:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "ESC billentyű zárja be a formot" -#: common/models.py:2046 +#: common/models.py:2053 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:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "Rögzített menüsor" -#: common/models.py:2053 +#: common/models.py:2060 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:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "Dátum formátum" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Alkatrész ütemezés" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "Alkatrész ütemezési információk megjelenítése" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "Táblázati szöveg hossz" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "Alapértelmezett alkatrész címke sablon" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott alkatrész címke sablon" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "Alapértelmezett készlet címke sablon" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlet címke sablon" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "Alapértelmezett készlethely címke sablon" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "Az alapértelmezetten kiválasztott készlethely címke sablon" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Ár" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3297,101 +3307,101 @@ msgstr "Webhook neve" msgid "Active" msgstr "Aktív" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "Token" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Titok" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "Fejléc" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "Törzs" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "Id" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Cím" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "Közzétéve" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Szerző" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "Elolvasva" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3401,7 +3411,7 @@ msgstr "Elolvasva?" msgid "Image" msgstr "Kép" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "Képfájl" @@ -3657,7 +3667,7 @@ msgstr "Válassz alkatrészt" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3672,13 +3682,13 @@ msgid "Select manufacturer" msgstr "Gyártó kiválasztása" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "MPN" @@ -3744,7 +3754,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3760,15 +3770,15 @@ msgid "Select supplier" msgstr "Beszállító kiválasztása" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "SKU" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -3785,10 +3795,11 @@ msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3819,8 +3830,8 @@ msgstr "Alkatrész csomagolás" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" @@ -3839,7 +3850,7 @@ msgstr "Többszörös rendelés" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3926,8 +3937,8 @@ msgstr "Kép törlése" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4014,7 +4025,7 @@ msgstr "Beszállítói készlet" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4037,7 +4048,7 @@ msgstr "Új beszerzési rendelés" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4152,7 +4163,7 @@ msgstr "Paraméterek" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Új paraméter" @@ -4240,12 +4251,12 @@ msgid "Supplier Part Stock" msgstr "Beszállítói készlet" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Új készlet tétel létrehozása" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Új készlet tétel" @@ -4279,9 +4290,9 @@ msgstr "Alkatrész elérhetőség frissítése" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4334,7 +4345,7 @@ msgstr "Címke" msgid "Label template file" msgstr "Címke sablon fájl" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Engedélyezve" @@ -4358,7 +4369,7 @@ msgstr "Magasság [mm]" msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Fájlnév minta" @@ -4372,8 +4383,8 @@ 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:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Szűrők" @@ -4394,8 +4405,8 @@ msgstr "QR kód" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Teljes ár" @@ -4421,12 +4432,12 @@ msgstr "Beszerzési rendelés" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Visszavételi utasítás" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Ismeretlen" @@ -4536,8 +4547,8 @@ msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Kiszállítás dátuma" @@ -4603,7 +4614,7 @@ msgstr "törölve" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "Rendelés" @@ -4614,8 +4625,8 @@ msgstr "Beszállítói alkatrész" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4664,7 +4675,7 @@ msgstr "Szállított mennyiség" msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "Szállítási dátum" @@ -4750,7 +4761,7 @@ msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "Tétel" @@ -4790,7 +4801,7 @@ msgstr "Visszavételi dátum" msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Kimenetel" @@ -5127,8 +5138,8 @@ msgstr "Kijelöltek másolása" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5191,7 +5202,7 @@ msgstr "Beszerzési rendelés tételei" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Sortétel hozzáadása" @@ -5241,8 +5252,8 @@ msgstr "Csomagolási lista nyomtatása" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "Vevői azonosító" @@ -5254,8 +5265,8 @@ msgstr "Vevői azonosító" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "Teljes költség" @@ -5308,7 +5319,7 @@ msgid "Sales Order Items" msgstr "Vevői rendelés tételek" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Függő szállítmányok" @@ -5343,12 +5354,12 @@ msgstr "A {part} egységára {price}-ra módosítva" 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/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Alkatrész ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Alkatrész neve" @@ -5358,13 +5369,14 @@ msgid "Part Description" msgstr "Alkatrész leírása" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Változat" @@ -5405,7 +5417,7 @@ msgid "In Stock" msgstr "Készleten" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5441,7 +5453,7 @@ msgstr "Szülő neve" msgid "Category Path" msgstr "Kategória elérési út" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5464,7 +5476,7 @@ msgstr "Alkatrészjegyzék tétel ID" msgid "Parent IPN" msgstr "Szülő IPN" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "Alkatrész IPN" @@ -5516,7 +5528,7 @@ msgid "Total Stock" msgstr "Teljes készlet" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "Elérhető készlet" @@ -5524,7 +5536,7 @@ msgstr "Elérhető készlet" msgid "Input quantity for price calculation" msgstr "Add meg a mennyiséget az árszámításhoz" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Alkatrész kategória" @@ -5599,7 +5611,7 @@ msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik." msgid "Parts cannot be assigned to structural part categories!" msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Alkatrész neve" @@ -5623,8 +5635,8 @@ msgstr "Alkatrész leírása (opcionális)" 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:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6028,176 +6040,176 @@ msgstr "Lehetőségek" msgid "Valid choices for this parameter (comma-separated)" msgstr "Választható lehetőségek (vesszővel elválasztva)" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Paraméter sablon" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "Adat" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Alapértelmezett érték" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "Szint" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Ez az alkatrészjegyzék tétel fogyóeszköz (készlete nincs követve a gyártásban)" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Többlet" -#: part/models.py:3842 +#: part/models.py:3843 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:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "Alkatrészjegyzék sor ellenőrző összeg" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "Ez a BOM tétel jóvá lett hagyva" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Öröklődött" -#: part/models.py:3864 +#: part/models.py:3865 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:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Változatok" -#: part/models.py:3870 +#: part/models.py:3871 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:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 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:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4104 +#: part/models.py:4105 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:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "Alkatrész kapcsolat nem hozható létre önmagával" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" @@ -6205,232 +6217,232 @@ msgstr "Már létezik duplikált alkatrész kapcsolat" msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Add meg a kezdeti készlet mennyiséget. Ha nulla akkor nem lesz készlet létrehozva." -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "Válassz beszállítót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "Helyettesítő alkatrészek másolása az alkatrészjegyzék tételek másolásakor" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "Meglévő alkatrészjegyzék tételek törlése a feltöltés előtt" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "Az alkatrész nem lett összetevőként jelölve" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "Legalább egy alkatrészjegyzék tétel szükséges" @@ -6445,7 +6457,7 @@ msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott mini #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "Teljes mennyiség" @@ -6537,6 +6549,7 @@ msgid "New Part" msgstr "Új alkatrész" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Alkatrész paraméterek" @@ -6768,7 +6781,7 @@ msgstr "Árinformációk megjelenítése" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Készlet műveletek" @@ -7060,7 +7073,7 @@ msgstr "Eladási ársáv hozzáadása" msgid "No Stock" msgstr "Nincs készlet" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Alacsony készlet" @@ -7358,107 +7371,111 @@ msgstr "Plugin aktiválása" msgid "Activate this plugin" msgstr "Plugin bekapcsolása" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "Nincs érvényes objektum megadva a sablonhoz" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "Teszt riport" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "Riport sablon fájl" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "Riport sablon leírása" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "Riport verziószáma (automatikusan nő)" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "Minta a riport fájlnevek előállításához" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "Riport sablon engedélyezve" -#: report/models.py:294 +#: report/models.py:299 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:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "Beépített tesztekkel együtt" -#: report/models.py:303 +#: report/models.py:308 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:364 +#: report/models.py:369 msgid "Build Filters" msgstr "Gyártás szűrők" -#: report/models.py:365 +#: report/models.py:370 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:406 +#: report/models.py:411 msgid "Part Filters" msgstr "Alkatrész szűrők" -#: report/models.py:407 +#: report/models.py:412 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:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "Megrendelés lekérdezés szűrők" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "Vevő rendelés lekérdezés szűrők" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "Visszavételi utasítás lekérdezés szűrők" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "Részlet" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "Eszköz" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "Asset fájl leírása" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Szükséges alapanyagok" @@ -7476,8 +7493,8 @@ msgstr "Beszállító törölve lett" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "Egységár" @@ -7489,8 +7506,8 @@ msgstr "Egyéb tételek" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "Összesen" @@ -7498,17 +7515,21 @@ msgstr "Összesen" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Sorozatszám" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Készlet tétel teszt riport" @@ -7562,8 +7583,8 @@ msgstr "Hely ID" msgid "Location Name" msgstr "Hely neve" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "Hely elérési út" @@ -7652,7 +7673,7 @@ msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész msgid "Stock Location" msgstr "Készlet hely" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8108,7 +8129,7 @@ msgid "Stock adjustment actions" msgstr "Készlet módosítási műveletek" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Leltározás" @@ -8127,7 +8148,7 @@ msgid "Serialize stock" msgstr "Sorozatszámok előállítása" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Készlet áthelyezése" @@ -8190,7 +8211,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "Úgytűnik nem vagy ennek a tételnek a tulajdonosa. Ezt így nem tudod módosítani." #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "Csak olvasható" @@ -8239,7 +8260,7 @@ msgid "Available Quantity" msgstr "Elérhető mennyiség" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "Nincs beállítva hely" @@ -8344,58 +8365,62 @@ msgstr "Készlet tároló bevételezése erre a helyre" msgid "Scan In Container" msgstr "Tároló vonalkód beolvasása" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "Hely műveletek" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Hely szerkesztése" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "Hely törlése" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "Legfelső szintű készlet hely" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "Hely tulajdonosa" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 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:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alhelyek" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "Új készlet hely létrehozása" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Új hely" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "készlet hely" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "Készlet tároló bevételezve erre a helyre" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "Készlet hely QR kódja" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "Vonalkód hozzárendelése a készlet helyhez" @@ -8489,51 +8514,51 @@ msgstr "Jóváhagyásra váró alkatrészjegyzék" msgid "Recently Updated" msgstr "Nemrég frissítve" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Kimerült készlet" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Gyártáshoz szükséges" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "Lejárt készlet" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Állott készlet" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "Folyamatban lévő gyártások" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Késésben lévő gyártások" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Kintlévő beszerzési rendelések" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Késésben lévő beszerzések" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Függő vevői rendelések" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Késésben lévő vevői rendelések" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "InvenTree hírek" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "Jelenlegi hírek" @@ -8669,7 +8694,7 @@ msgstr "Alkatrész importálás" msgid "Import Part" msgstr "Alkatrész importálása" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "Alkatrész paraméter sablonok" @@ -9494,7 +9519,7 @@ 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:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -9855,7 +9880,7 @@ msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz" msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" @@ -9875,25 +9900,25 @@ msgstr "Alkatrészjegyzék árazása nem teljes" msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "Fogyóeszköz tétel" @@ -9925,7 +9950,7 @@ msgstr "Alkatrészjegyzék megtekintése" msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "Szükséges alkatrész" @@ -10094,7 +10119,7 @@ msgstr "Gyártási kimenetek törlése" msgid "No build order allocations found" msgstr "Nincs gyártási utasításhoz történő foglalás" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "Lefoglalt mennyiség" @@ -10140,17 +10165,17 @@ msgstr "Szükséges tesztek" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "Kiválasztott alkatrészek" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 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:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" @@ -10163,7 +10188,7 @@ msgid "All selected parts have been fully allocated" msgstr "Minden kiválasztott alkatrész teljesen lefoglalva" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)" @@ -10172,12 +10197,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Készlet foglalása a gyártási utasításhoz" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "Nincs egyező készlethely" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "Nincs egyező készlet" @@ -10209,7 +10234,7 @@ msgstr "Készlet tételek foglalása" msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10231,78 +10256,78 @@ msgstr "Nincs felhasználói információ" msgid "group" msgstr "csoport" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "Foglalás szerkesztése" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "Foglalás törlése" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "gyártás sor" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "gyártás sorok" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "Nincsenek gyártási sorok" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "Mennyiségi egység" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "Nincs elegendő" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "Van elegendő" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "Fogyóeszköz tétel" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "Követett tétel" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "Gyártási készlet" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "Készlet foglalások törlése" @@ -10612,7 +10637,7 @@ msgstr "Megtekintés nem engedélyezett" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Törlés" @@ -10827,7 +10852,7 @@ msgid "Delete Line" msgstr "Sor törlése" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "Nem találhatók sortételek" @@ -11070,14 +11095,14 @@ msgid "No purchase orders found" msgstr "Nem található beszerzési rendelés" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "Ez a sortétel késésben van" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "Sortétel bevételezése" @@ -11392,7 +11417,7 @@ msgid "Select Line Items" msgstr "Sortételek kiválasztása" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "Legalább egy sortételt ki kell választani" @@ -11441,7 +11466,7 @@ msgid "Quantity to Receive" msgstr "Érkező mennyiség" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "Bevételezés megerősítése" @@ -11462,59 +11487,59 @@ msgid "Invalid barcode data" msgstr "Érvénytelen vonalkód adat" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "Rendelés késésben" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "Tételek" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "Az összes kijelölt sortétel törlésre kerül" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "Töröljük a kiválasztott sortételeket?" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "Sortétel törlése" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "Sortétel másolása" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "Sortétel szerkesztése" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "Sortétel törlése" @@ -11571,21 +11596,21 @@ msgstr "Visszavételi utasítás befejezése" msgid "No return orders found" msgstr "Nem található visszavételi utasítás" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "Érvénytelen vevő" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "Visszavételi utasítás tételeinek bevételezése" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "Nincs egyező sortétel" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "Tétel bevételezve" @@ -11657,112 +11682,112 @@ msgstr "Szállítmány létrehozása" msgid "No sales orders found" msgstr "Nem található vevői rendelés" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "Szállítmány kiszállítása" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "Szállítmány szerkesztése" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "Szállítmány törlése" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "Nincs egyező szállímány" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "Szállítmány azonosító" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "Nincs kiszállítva" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "Nyomkövetés" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "Számla" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "Szállítmány hozzáadása" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "Készlet foglalás megerősítése" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "Készlet foglalása a vevői rendeléshez" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "Nincs vevői rendeléshez történő foglalás" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "Készlet foglalások szerkesztése" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "Törlési művelet megerősítése" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "Készlet foglalások törlése" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Vevőnek kiszállítva" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "Készlethely nincs megadva" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "Készletrendelés" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "Árszámítás" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 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/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "Nem törölhető mivel tételek vannak lefoglalva" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "Sorozatszámok kiosztása" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "Egységár módosítása" @@ -11966,7 +11991,7 @@ msgstr "Kivesz" msgid "Add Stock" msgstr "Készlet növelése" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "Hozzáad" @@ -12799,35 +12824,35 @@ msgstr "Jogosultságok" msgid "Important dates" msgstr "Fontos dátumok" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "Jogosultságok" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Csoport" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Nézet" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Jogosultság tételek megtekintéséhez" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Jogosultság tételek hozzáadásához" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "Módosítás" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Jogosultság tételek szerkesztéséhez" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Jogosultság tételek törléséhez" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 005eb9c51f..b72243a06f 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -64,10 +64,10 @@ msgstr "Masukkan tanggal" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Catatan" @@ -251,7 +251,7 @@ msgstr "Lampiran" msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Pilih file untuk dilampirkan" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Tautan" @@ -282,9 +282,9 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar file" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Nama" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Nama" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Terjadi Kesalahan Server" msgid "An error has been logged by the server." msgstr "Sebuah kesalahan telah dicatat oleh server." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" @@ -611,7 +611,7 @@ msgstr "Vietnam" msgid "Chinese" msgstr "Cina" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Dikirim" @@ -839,27 +839,27 @@ msgstr "Kelebihan tidak boleh melebihi 100%" msgid "Invalid value for overage" msgstr "Nilai kelebihan tidak valid" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Ubah Informasi User" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Atur Kata Sandi" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Bidang kata sandi tidak cocok" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Kata sandi yang salah" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Informasi Sistem" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Tentang InvenTree" @@ -867,16 +867,16 @@ msgstr "Tentang InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "Order Produksi" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Referensi Order Produksi" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referensi" @@ -957,9 +957,9 @@ msgstr "Produksi induk dari produksi ini" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Produksi induk dari produksi ini" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Produksi induk dari produksi ini" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Order penjualan yang teralokasikan ke pesanan ini" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Lokasi Sumber" @@ -1067,8 +1068,8 @@ msgstr "Kode kelompok untuk hasil produksi ini" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Tanggal Pembuatan" @@ -1106,7 +1107,7 @@ msgstr "Pengguna yang menyerahkan order ini" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Penanggung Jawab" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Hasil produksi tidak sesuai dengan order produksi" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Jumlah harus 1 untuk stok dengan nomor seri" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Tujuan stok item" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "Lokasi hasil pesanan yang selesai" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Surel diperlukan" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "Item tagihan material" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 62d5969418..1311be69ea 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -64,10 +64,10 @@ msgstr "Inserisci la data" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Note" @@ -251,7 +251,7 @@ msgstr "Allegato" msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Seleziona file da allegare" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Collegamento" @@ -282,9 +282,9 @@ msgstr "Commento" msgid "File comment" msgstr "Commento del file" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Nome" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Nome" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Errore del server" msgid "An error has been logged by the server." msgstr "Un errore è stato loggato dal server." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Deve essere un numero valido" @@ -611,7 +611,7 @@ msgstr "Vietnamita" msgid "Chinese" msgstr "Cinese" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "In corso" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Spedito" @@ -839,27 +839,27 @@ msgstr "L'eccesso non deve superare il 100%" msgid "Invalid value for overage" msgstr "Valore non valido per eccedenza" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Modifica informazioni utente" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Imposta Password" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Le password devono coincidere" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Password inserita non corretta" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Informazioni sistema" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Informazioni Su InvenTree" @@ -867,16 +867,16 @@ msgstr "Informazioni Su InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "Monitorato" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "Allocato" @@ -908,7 +908,7 @@ msgstr "Ordine di Produzione" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Riferimento Ordine Di Produzione" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Riferimento" @@ -957,9 +957,9 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Ordine di vendita a cui questa produzione viene assegnata" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Posizione Di Origine" @@ -1067,8 +1068,8 @@ msgstr "Codice del lotto per questa produzione" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Data di creazione" @@ -1106,7 +1107,7 @@ msgstr "Utente che ha emesso questo ordine di costruzione" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Responsabile" @@ -1139,8 +1140,8 @@ msgstr "Priorità di questo ordine di produzione" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "L'output della produzione non corrisponde all'ordine di compilazione" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "La quantità deve essere 1 per lo stock serializzato" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Installa in" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "Posizione per gli output di build completati" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "Lo stock non è stato completamente assegnato a questo ordine di produzi #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Data scadenza" @@ -1736,8 +1738,8 @@ msgstr "Outputs Completati" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Ordini di Vendita" @@ -1778,7 +1780,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:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Destinazione" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "Quanto spesso controllare gli aggiornamenti (impostare a zero per disabilitare)" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "giorni" @@ -2254,8 +2256,8 @@ msgstr "Copia Template Parametri Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Modello" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Includere le discontinuità di prezzo del fornitore nei calcoli generali dei prezzi" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Cronologia dei prezzi dell'ordine di acquisto del fornitore superati con discontinuità di prezzo" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utilizzare i prezzi dei dati di magazzino inseriti manualmente per il calcolo dei prezzi" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Escludere dal calcolo dei prezzi gli articoli in giacenza più vecchi di questo numero di giorni" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "Utilizza solo articoli di varianti attive per calcolare i prezzi delle varianti" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "Numero di giorni prima che il prezzo dell'articolo venga aggiornato automaticamente" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "Se disponibile, i prezzi interni sostituiscono i calcoli della fascia di prezzo" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Risoluzione DPI quando si generano file di immagine da fornire ai plugin di stampa per etichette" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Abilita Rapporto di Prova" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Abilita generazione di stampe di prova" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "Allega Rapporto di Prova" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Quando si stampa un rapporto di prova, allegare una copia del rapporto di prova all'elemento di magazzino associato" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "I numeri di serie per gli articoli di magazzino devono essere univoci" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "Auto Riempimento Numeri Seriali" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "Auto riempimento numeri nel modulo" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina il comportamento predefinito quando un elemento stock è esaurito" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "Modello per la generazione di codici batch predefiniti per gli elementi stock" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/models.py:1444 +#: common/models.py:1451 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:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/models.py:1459 +#: common/models.py:1466 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:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di vendita dopo che sono stati spediti o completati" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di acquisto dopo che sono stati spediti o completati" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Abilita l'auto-registrazione tramite SSO per gli utenti nelle pagine di accesso" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Email richiesta" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/models.py:1578 +#: common/models.py:1585 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:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "Posta due volte" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "Al momento della registrazione chiedere due volte all'utente l'indirizzo di posta elettronica" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "Password due volte" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "Al momento della registrazione chiedere agli utenti due volte l'inserimento della password" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "Gruppo a cui i nuovi utenti vengono assegnati al momento della registrazione" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controlla che tutti i plugin siano installati all'avvio - abilita in ambienti contenitore" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Abilita la funzionalità d'inventario per la registrazione dei livelli di magazzino e il calcolo del valore di magazzino" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Numero di giorni tra la registrazione automatica dell'inventario (imposta 0 per disabilitare)" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "I rapporti d'inventario verranno eliminati dopo il numero specificato di giorni" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "Nessuna stampante (Esporta in PDF)" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Mostra articoli sottoscritti" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Mostra gli articoli sottoscritti nella homepage" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "Mostra le categorie sottoscritte" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "Mostra le categorie dei componenti sottoscritti nella homepage" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Mostra ultimi articoli" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Mostra gli ultimi articoli sulla homepage" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Mostra distinta base non convalidata" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "Mostra le distinte base che attendono la convalida sulla homepage" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "Mostra le modifiche recenti alle giacenze" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "Mostra le giacenze modificate di recente nella homepage" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "Mostra disponibilità scarsa delle giacenze" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Mostra disponibilità scarsa degli articoli sulla homepage" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "Mostra disponibilità scarsa delle scorte degli articoli sulla homepage" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Mostra scorte necessarie" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "Mostra le scorte degli articoli necessari per la produzione sulla homepage" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "Mostra scorte esaurite" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "Mostra gli articoli stock scaduti nella home page" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "Mostra scorte obsolete" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "Mostra gli elementi obsoleti esistenti sulla home page" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "Mostra produzioni in attesa" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "Mostra produzioni in attesa sulla homepage" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "Mostra produzioni in ritardo" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "Mostra produzioni in ritardo sulla home page" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "Mostra ordini di produzione inevasi" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "Mostra ordini di produzione inevasi sulla home page" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "Mostra Ordini di Produzione in ritardo" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "Mostra Ordini di Produzione in ritardo sulla home page" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "Mostra Ordini di Vendita inevasi" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "Mostra Ordini di Vendita inevasi sulla home page" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "Mostra Ordini di Vendita in ritardo" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "Mostra Ordini di Vendita in ritardo sulla home page" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "Mostra Notizie" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "Mostra notizie sulla home page" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1885 +#: common/models.py:1892 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:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "Stampante per etichette predefinita" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "Configura quale stampante di etichette deve essere selezionata per impostazione predefinita" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "Visualizzazione dell'etichetta in linea" -#: common/models.py:1899 +#: common/models.py:1906 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:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Cerca Articoli" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "Mostra articoli della ricerca nella finestra di anteprima" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "Mostra articoli del fornitore nella finestra di anteprima" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "Cerca Articoli Produttore" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "Mostra articoli del produttore nella finestra di anteprima" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "Nascondi Articoli Inattivi" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "Escludi articoli inattivi dalla finestra di anteprima della ricerca" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "Cerca Categorie" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "Mostra categorie articolo nella finestra di anteprima di ricerca" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "Cerca Giacenze" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "Mostra articoli in giacenza nella finestra di anteprima della ricerca" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "Nascondi elementi non disponibili" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "Escludi gli elementi stock che non sono disponibili dalla finestra di anteprima di ricerca" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "Cerca Ubicazioni" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "Mostra ubicazioni delle giacenze nella finestra di anteprima di ricerca" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "Cerca Aziende" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "Mostra le aziende nella finestra di anteprima di ricerca" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "Cerca Ordini Di Produzione" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "Mostra gli ordini di produzione nella finestra di anteprima di ricerca" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "Cerca Ordini di Acquisto" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "Mostra gli ordini di acquisto nella finestra di anteprima di ricerca" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "Escludi Ordini D'Acquisto Inattivi" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "Escludi ordini di acquisto inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "Cerca Ordini Di Vendita" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "Visualizzazione degli ordini di vendita nella finestra di anteprima della ricerca" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "Escludi Ordini Di Vendita Inattivi" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "Escludi ordini di vendita inattivi dalla finestra di anteprima di ricerca" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "Cerca Ordini Di Reso" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "Risultati Dell'Anteprima Di Ricerca" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "Numero di risultati da visualizzare in ciascuna sezione della finestra di anteprima della ricerca" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "Ricerca con regex" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "Mostra quantità nei moduli" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "Visualizzare la quantità di pezzi disponibili in alcuni moduli" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "Il tasto Esc chiude i moduli" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "Utilizzare il tasto Esc per chiudere i moduli modali" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "Barra di navigazione fissa" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "La posizione della barra di navigazione è fissata nella parte superiore dello schermo" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "Formato Data" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Programmazione Prodotto" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "Mostra informazioni sulla pianificazione del prodotto" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "Lunghezza Stringa Tabella" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste della tabella" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Prezzo" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "Nome per questa notifica" msgid "Active" msgstr "Attivo" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "Token" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Segreto" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "Host" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "Intestazione" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "Contenuto" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "Id" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Titolo" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "Pubblicato" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autore" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "Letto" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "Queste notizie sull'elemento sono state lette?" msgid "Image" msgstr "Immagine" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "File immagine" @@ -3656,7 +3666,7 @@ msgstr "Seleziona articolo" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Seleziona Produttore" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "Codice articolo produttore (MPN)" @@ -3743,7 +3753,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Seleziona fornitore" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "SKU" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "Descrizione articolo fornitore" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "Imballaggio del pezzo" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "Quantità Confezione" @@ -3838,7 +3849,7 @@ msgstr "Ordine multiplo" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "Elimina immagine" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "Giacenza Fornitore" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "Nuovo Ordine di Acquisto" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "Parametri" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Nuovo Parametro" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "Fornitore articolo in giacenza" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Crea nuova allocazione magazzino" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nuovo Elemento in giacenza" @@ -4278,9 +4289,9 @@ msgstr "Aggiorna Disponibilità Articolo" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "Etichetta" msgid "Label template file" msgstr "File modello etichetta" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Abilitato" @@ -4357,7 +4368,7 @@ msgstr "Altezza [mm]" msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Formato del nome file" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Filtri" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Prezzo Totale" @@ -4420,12 +4431,12 @@ msgstr "Ordine D'Acquisto" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Restituisci ordine" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Sconosciuto" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Data di spedizione" @@ -4602,7 +4613,7 @@ msgstr "eliminato" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "Ordine" @@ -4613,8 +4624,8 @@ msgstr "Articolo Fornitore" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "Quantità spedita" msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "Elemento" @@ -4789,7 +4800,7 @@ msgstr "Data di ricezione" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Risultati" @@ -5126,8 +5137,8 @@ msgstr "Duplica selezionati" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "Elementi D'Ordine D'Acquisto" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Aggiungi Elemento Riga" @@ -5240,8 +5251,8 @@ msgstr "Stampa lista d'imballaggio" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "Riferimento Cliente" @@ -5253,8 +5264,8 @@ msgstr "Riferimento Cliente" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "Costo Totale" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "Elementi Ordine di Vendita" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Spedizione in sospeso" @@ -5342,12 +5353,12 @@ msgstr "Aggiornato {part} prezzo unitario a {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Codice Articolo" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome Articolo" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "Descrizione Articolo" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN - Numero di riferimento interno" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisione" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "In magazzino" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "Nome Principale" msgid "Category Path" msgstr "Percorso Categoria" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "ID Elemento Distinta Base" msgid "Parent IPN" msgstr "IPN Principale" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "IPN Articolo" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "Giacenze Totali" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -5523,7 +5535,7 @@ msgstr "Disponibilità in magazzino" msgid "Input quantity for price calculation" msgstr "Digita la quantità per il calcolo del prezzo" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria Articoli" @@ -5598,7 +5610,7 @@ msgstr "Un articolo con questo Nome, IPN e Revisione esiste già." msgid "Parts cannot be assigned to structural part categories!" msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Nome articolo" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modello Parametro" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "Dati" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valore Predefinito" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "Livello" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Eccedenza" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Convalidato" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "La parte sostituita non può essere la stessa dell'articolo principale" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "Non si può creare una relazione tra l'articolo e sé stesso" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" @@ -6204,232 +6216,232 @@ msgstr "La relazione duplicata esiste già" msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità." -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "Almeno un elemento della distinta base è richiesto" @@ -6444,7 +6456,7 @@ msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo co #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "Quantità Totale" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "Nuovo articolo" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Parametri articolo" @@ -6767,7 +6780,7 @@ msgstr "Mostra informazioni sui prezzi" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Azioni magazzino" @@ -7059,7 +7072,7 @@ msgstr "Aggiungi Prezzo Ribassato di Vendita" msgid "No Stock" msgstr "Nessuna giacenza" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Disponibilità scarsa" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "Nessun oggetto valido fornito nel modello" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Il file del modello '{template}' è mancante o non esiste" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "Report test" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Nome modello" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "File modello di report" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "Descrizione del modello report" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "Numero di revisione del rapporto (auto-incrementi)" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "Sequenza per generare i nomi dei file report" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "Modello report abilitato" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Filtri di ricerca elementi di stock (elenco separato da virgole key=coppia di valori)" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "Includi Test Installati" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "Includi i risultati dei test per gli elementi stock installati all'interno dell'elemento assemblato" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "Filtri di produzione" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca produzione (elenco separato da virgole key=coppia di valori" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "Filtri Articolo" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtri di ricerca articolo (elenco separato da virgole key=coppia di valori" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "Ordine di Acquisto filtra la ricerca" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "Ordine di Vendita filtra la ricerca" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "Snippet" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "Risorsa" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "File risorsa descrizione" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Materiali necessari" @@ -7475,8 +7492,8 @@ msgstr "Il fornitore è stato eliminato" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "Prezzo Unitario" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "Totale" @@ -7497,17 +7514,21 @@ msgstr "Totale" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Numero Seriale" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Test Report Elemento Stock" @@ -7561,8 +7582,8 @@ msgstr "ID Posizione" msgid "Location Name" msgstr "Nome Ubicazione" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "Percorso Ubicazione" @@ -7651,7 +7672,7 @@ msgstr "I numeri di serie non possono essere forniti per un articolo non traccia msgid "Stock Location" msgstr "Ubicazione magazzino" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "Azioni adeguamento giacenza" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Conta giacenza" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "Serializza magazzino" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Trasferisci giacenza" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "Non sei nell'elenco dei proprietari di questo elemento. Questo elemento di magazzino non può essere modificato." #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "Sola lettura" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "Quantità Disponibile" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "Nessuna posizione impostata" @@ -8343,58 +8364,62 @@ msgstr "Scansiona il contenitore magazzino in questa posizione" msgid "Scan In Container" msgstr "Scansiona container" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "Azioni posizione" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Modifica la posizione" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "Elimina la posizione" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "Posizione stock di livello superiore" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "Proprietario Posizione" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 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:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "Crea nuova posizione di magazzino" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Nuova Posizione" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "Container magazzino scansionato in questa posizione" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "Codice QR Ubicazione Magazzino" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "Collega il Codice a Barre alla Posizione Magazzino" @@ -8488,51 +8513,51 @@ msgstr "Distinta base In Attesa Di Convalida" msgid "Recently Updated" msgstr "Aggiornamento Recente" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Stock esaurito" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Richiesto per gli Ordini di Produzione" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "Stock Scaduto" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Stock obsoleto" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "Ordini di Produzione Attivi" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Ordini Di Produzione Scaduti" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Ordini Di Acquisto In Corso" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Ordini Di Acquisto In Ritardo" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Ordini Di Vendita In Corso" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Ordini Di Vendita in ritardo" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "Novità InvenTree" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "Notizie Attuali" @@ -8668,7 +8693,7 @@ msgstr "Importa Articolo" msgid "Import Part" msgstr "Importa Articolo" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "Modelli parametro articolo" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "I seguenti articoli sono pochi nel magazzino richiesto" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -9854,7 +9879,7 @@ msgstr "Carica la Distinta Base per il sotto assemblaggio" msgid "Substitutes Available" msgstr "Sostituti Disponibili" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "Variante stock consentita" @@ -9874,25 +9899,25 @@ msgstr "I prezzi Distinta Base sono incompleti" msgid "No pricing available" msgstr "Nessun prezzo disponibile" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "Nessuna Scorta Disponibile" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "Include variante e scorte sostitutive" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Comprende varianti magazzino" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "Comprende le scorte sostitutive" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "Elementi consumabili" @@ -9924,7 +9949,7 @@ msgstr "Visualizza Distinta Base" msgid "No BOM items found" msgstr "Nessun elemento trovato in Distinta Base" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "Articolo richiesto" @@ -10093,7 +10118,7 @@ msgstr "Cancella l'output di produzione" msgid "No build order allocations found" msgstr "Nessuna allocazione per l'ordine di produzione trovato" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "Seleziona Articoli" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "È necessario selezionare almeno un articolo da assegnare" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "Specificare il quantitativo assegnato allo stock" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "Tutti gli articoli selezionati sono stati completamente assegnati" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 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)" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Assegna gli Elementi Stock all'Ordine di Produzione" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "Nessuna posizione di magazzino corrispondente" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "Nessun elemento corrispondente trovato" @@ -10208,7 +10233,7 @@ msgstr "Assegna Elementi di Magazzino" msgid "No builds matching query" msgstr "Nessuna produzione corrispondente alla ricerca" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "Nessuna informazione utente" msgid "group" msgstr "gruppo" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "Modifica allocazione magazzino" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "Modifica Posizione" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "Rimuovi Posizione" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Parte tracciabile" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "Scorte sufficienti disponibili" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "Produci scorta" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Ordina scorta" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "Assegna scorta" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "Mostra operazione non consentita" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Elimina" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "Cancella Linea" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "Nessuna linea elementi trovata" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "Nessun ordine d'acquisto trovato" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "Questo elemento è in ritardo" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "Ricevi linea elemento" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "Seleziona Linee Elementi" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "È necessario selezionare almeno una linea elemento" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "Quantità da Ricevere" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "Conferma la ricezione degli elementi" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "Dati codice a barre non validi" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "L'Ordine è in ritardo" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "Elementi" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "Duplica Linee Elementi" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "Modifica Linee Elementi" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "Cancella Linea Elemento" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "Duplica linea elemento" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "Modifica linea elemento" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "Cancella linea elemento" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "Cliente non valido" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "Nessun elemento di riga corrispondente" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "Crea Nuova Spedizione" msgid "No sales orders found" msgstr "Non sono state trovati ordini di vendita" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "Modifica spedizione" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "Completa spedizione" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "Elimina spedizione" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "Modifica spedizione" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "Elimina Spedizione" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "Nessuna spedizione corrispondente trovata" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "Riferimento della spedizione" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "Non spedito" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "Tracciamento" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "Fattura" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "Aggiungi Spedizione" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "Conferma l'assegnazione della giacenza" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "Assegna Elementi di Magazzino all'Ordine di Vendita" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "Nessun ordine di vendita trovato" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "Modifica posizione giacenza" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "Conferma Operazione Eliminazione" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "Elimina posizione giacenza" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Spedito al cliente" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "Nessun posizione specificata" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "Assegna Numeri di Serie" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "Prezzo d'acquisto" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "Calcola il prezzo" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "Non può essere eliminato perché gli elementi sono stati spediti" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "Non può essere eliminato perché gli elementi sono stati assegnati" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "Assegna Numeri di Serie" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "Aggiorna Prezzo Unitario" @@ -11965,7 +11990,7 @@ msgstr "Prendi" msgid "Add Stock" msgstr "Aggiungi giacenza" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "Aggiungi" @@ -12799,35 +12824,35 @@ msgstr "Permessi" msgid "Important dates" msgstr "Date Importanti" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "Impostazione autorizzazioni" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Gruppo" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Visualizza" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Autorizzazione a visualizzare gli articoli" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Autorizzazione ad aggiungere elementi" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "Modificare" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Permessi per modificare gli elementi" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Autorizzazione ad eliminare gli elementi" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index fdfdd2953e..875151e55a 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -64,10 +64,10 @@ msgstr "日付を入力する" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "メモ" @@ -251,7 +251,7 @@ msgstr "添付ファイル" msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "添付ファイルを選択" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "リンク" @@ -282,9 +282,9 @@ msgstr "コメント:" msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "お名前" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "お名前" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" @@ -611,7 +611,7 @@ msgstr "ベトナム語" msgid "Chinese" msgstr "中国語" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "処理中" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "発送済み" @@ -839,27 +839,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "ユーザー情報を編集" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "パスワードを設定" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "システム情報" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "InvenTree について" @@ -867,16 +867,16 @@ msgstr "InvenTree について" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "" @@ -957,9 +957,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1067,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "作成日時" @@ -1106,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "テンプレート" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "デバッグモード" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "新規パーツ" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "在庫切れ" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "期限切れ在庫" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "許可" msgid "Important dates" msgstr "重要な日付" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "パーミッション設定" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "グループ" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "表示" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "項目を表示する権限" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "項目を追加する権限" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "変更" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "項目を編集する権限" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "項目を削除する権限" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index df921eae1b..7c3a33da90 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -64,10 +64,10 @@ msgstr "날짜 입력" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "메모" @@ -251,7 +251,7 @@ msgstr "첨부파일" msgid "Select file to attach" msgstr "첨부할 파일을 선택하세요" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "첨부할 파일을 선택하세요" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "링크" @@ -282,9 +282,9 @@ msgstr "" msgid "File comment" msgstr "" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "이름" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "이름" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "유효한 숫자여야 합니다" @@ -611,7 +611,7 @@ msgstr "베트남어" msgid "Chinese" msgstr "중국어" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "" @@ -839,27 +839,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "사용자 정보 수정" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "비밀번호 설정" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "비밀번호가 일치해야 합니다" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "시스템 정보" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "" @@ -867,16 +867,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "" @@ -957,9 +957,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1067,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "" @@ -1106,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "수량 값은 0보다 커야 합니다" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "디버그 모드" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "페이지 크기" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "PDF 보고서 기본 페이지 크기" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "SSO 활성화" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "로그인 페이지에서 SSO 활성화" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "이메일 필요" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "두 번 보내기" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "작성자" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "이미지" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "높이 [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "데이터" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "이미지 복사" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "단가" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "일련번호" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "삭제" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 6dad813957..25e11c66ad 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -64,10 +64,10 @@ msgstr "Voer datum in" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Opmerkingen" @@ -251,7 +251,7 @@ msgstr "Bijlage" msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Bestand als bijlage selecteren" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Link" @@ -282,9 +282,9 @@ msgstr "Opmerking" msgid "File comment" msgstr "Bestand opmerking" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Naam" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Naam" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Serverfout" msgid "An error has been logged by the server." msgstr "Er is een fout gelogd door de server." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" @@ -611,7 +611,7 @@ msgstr "Vietnamees" msgid "Chinese" msgstr "Chinees" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "In Behandeling" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Verzonden" @@ -839,27 +839,27 @@ msgstr "Overschot mag niet groter zijn dan 100%" msgid "Invalid value for overage" msgstr "Ongeldige waarde voor overschot" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Wachtwoord instellen" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Onjuist wachtwoord opgegeven" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Systeeminformatie" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Over InvenTree" @@ -867,16 +867,16 @@ msgstr "Over InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "Gevolgd" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "Toegewezen" @@ -908,7 +908,7 @@ msgstr "Productieorder" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Productieorderreferentie" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referentie" @@ -957,9 +957,9 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Verkooporder waar deze productie aan is toegewezen" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Bronlocatie" @@ -1067,8 +1068,8 @@ msgstr "Batchcode voor deze productieuitvoer" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Aanmaakdatum" @@ -1106,7 +1107,7 @@ msgstr "Gebruiker die de productieorder heeft gegeven" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Verantwoordelijke" @@ -1139,8 +1140,8 @@ msgstr "Prioriteit van deze bouwopdracht" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Productuitvoer komt niet overeen met de Productieorder" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "Locatie van voltooide productieuitvoeren" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "Voorraad is niet volledig toegewezen aan deze productieorder" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Streefdatum" @@ -1736,8 +1738,8 @@ msgstr "Voltooide Uitvoeren" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Verkooporder" @@ -1778,7 +1780,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:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Bestemming" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "dagen" @@ -2254,8 +2256,8 @@ msgstr "Kopiëer Categorieparameter Sjablonen" msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Sjabloon" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Paginagrootte" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Activeer Testrapporten" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Activeer het genereren van testrapporten" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "Testrapporten Toevoegen" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Bij het afdrukken van een Testrapport, voeg een kopie van het Testrapport toe aan het bijbehorende Voorraadartikel" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "Groep waaraan nieuwe gebruikers worden toegewezen bij registratie" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Verberg inactieve delen bij items op de homepage" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Toon geabonneerde onderdelen" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Toon geabonneerde onderdelen op de homepage" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Toon laatste onderdelen" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Toon laatste onderdelen op de startpagina" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "Toon recente voorraadwijzigingen" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "Toon recent aangepaste voorraadartikelen op de startpagina" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "Toon lage voorraad" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Toon lage voorraad van artikelen op de startpagina" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "Toon lege voorraad" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "Toon lege voorraad van artikelen op de startpagina" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Toon benodigde voorraad" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "Toon benodigde voorraad van artikelen voor productie op de startpagina" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "Toon verlopen voorraad" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "Toon verlopen voorraad van artikelen op de startpagina" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "Toon verouderde voorraad" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "Toon verouderde voorraad van artikelen op de startpagina" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "Toon openstaande producties" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "Toon openstaande producties op de startpagina" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "Toon achterstallige productie" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "Toon achterstallige producties op de startpagina" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "Toon uitstaande PO's" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "Toon uitstaande PO's op de startpagina" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "Toon achterstallige PO's" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "Toon achterstallige PO's op de startpagina" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "Toon uitstaande SO's" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "Toon uitstaande SO's op de startpagina" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "Toon achterstallige SO's" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "Toon achterstallige SO's op de startpagina" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Zoek Onderdelen" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "Onderdelen weergeven in zoekscherm" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "Zoek leveranciersonderdelen" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "Leveranciersonderdelen weergeven in zoekscherm" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "Fabrikant onderdelen zoeken" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "Fabrikant onderdelen weergeven in zoekscherm" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "Inactieve Onderdelen Verbergen" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "Zoek in Voorraad" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "Inkooporders Zoeken" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "Toon inkooporders in het zoekvenster" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "Inactieve Inkooporders Weglaten" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "Inactieve inkooporders weglaten in het zoekvenster" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "Verkooporders zoeken" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "Toon verkooporders in het zoekvenster" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "Inactieve Verkooporders Weglaten" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "Inactieve verkooporders weglaten in het zoekvenster" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Onderdeel planning" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Prijs" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "Actief" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "Token" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Geheim" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "Host" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "Koptekst" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "Afbeelding" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "Onderdeel selecteren" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Fabrikant selecteren" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "MPN" @@ -3743,7 +3753,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Leverancier selecteren" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "SKU" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "Order meerdere" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "Nieuwe Inkooporder" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "Parameters" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Nieuwe Parameter" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Nieuw voorraadartikel aanmaken" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nieuw Voorraadartikel" @@ -4278,9 +4289,9 @@ msgstr "Beschikbaarheid van onderdeel bijwerken" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "Label" msgid "Label template file" msgstr "Label template bestand" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Ingeschakeld" @@ -4357,7 +4368,7 @@ msgstr "Hoogte [mm]" msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Filters" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Totaalprijs" @@ -4420,12 +4431,12 @@ msgstr "Inkooporder" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "Klant order referentiecode" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Verzenddatum" @@ -4602,7 +4613,7 @@ msgstr "verwijderd" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "Order" @@ -4613,8 +4624,8 @@ msgstr "Leveranciersonderdeel" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "Verzonden hoeveelheid" msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "Artikel" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "Inkooporder Artikelen" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Artikel toevoegen" @@ -5240,8 +5251,8 @@ msgstr "Pakbon afdrukken" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "Klantreferentie" @@ -5253,8 +5264,8 @@ msgstr "Klantreferentie" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "Verkoooporder Artikelen" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Verzendingen in behandeling" @@ -5342,12 +5353,12 @@ msgstr "{part} stukprijs bijgewerkt naar {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "{part} stukprijs bijgewerkt naar {price} en aantal naar {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Onderdeel-id" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Onderdeel naam" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "Onderdeel omschrijving" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "Totale Voorraad" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "Beschikbare Voorraad" @@ -5523,7 +5535,7 @@ msgstr "Beschikbare Voorraad" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Onderdeel Categorie" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Onderdeel naam" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parameter Template" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "Stuklijstartikel" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Onderdeel Parameters" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Voorraad acties" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "Filters inkooporder" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "Verkooporder zoekopdracht filters" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "Stukprijs" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "Totaal" @@ -7497,17 +7514,21 @@ msgstr "Totaal" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Serienummer" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "Voorraadlocatie" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Voorraad tellen" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Voorraad overzetten" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "Geen locatie ingesteld" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "Locatie acties" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Bewerk locatie" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "Verwijder locatie" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 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:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Sublocaties" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "Maak nieuwe voorraadlocatie" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Nieuwe Locatie" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Vereist voor Productieorder" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "Productieorders in Uitvoering" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Achterstallige Productieorders" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Openstaande Inkooporders" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Achterstallige Inkooporders" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Openstaande Verkooporders" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Achterstallige Verkooporders" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "De volgende onderdelen hebben een lage vereiste voorraad" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "Geen Voorraad Aanwezig" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "Verwijder Productieuitvoeren" msgid "No build order allocations found" msgstr "Geen productieordertoewijzingen gevonden" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "Onderdelen selecteren" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 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:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "Specificeer voorraadtoewijzingshoeveelheid" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "Voorraadartikelen toewijzen aan Productieorder" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "Geen overeenkomende voorraadlocaties" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "Geen overeenkomende voorraadartikelen" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "Voorraadtoewijzing bewerken" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "Voorraadtoewijzing verwijderen" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "Genoeg voorraad beschikbaar" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "Productie voorraad" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "Voorraad order" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "Voorraad toewijzen" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Verwijderen" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "Verwijder Regel" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "Geen artikelen gevonden" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "Geen inkooporder gevonden" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "Dit artikel is achterstallig" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "Artikel ontvangen" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "Selecteer artikelen" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "Ten minste één artikel moet worden geselecteerd" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "Order is achterstallig" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "Artikelen" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "Artikel dupliceren" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "Artikel wijzigen" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "Artikel verwijderen" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "Artikel dupliceren" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "Artikel bewerken" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "Artikel verwijderen" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "Ongeldige Klant" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "Geen overeenkomende artikelen" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "Geen verkooporder gevonden" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "Verzending bewerken" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "Verzending Voltooien" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "Verzending bewerken" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "Verzending verwijderen" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "Geen overeenkomende verzending gevonden" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "Verzendingsreferentie" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "Niet verzonden" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "Volgen" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "Factuur" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "Voeg Verzending toe" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "Bevestig de voorraadtoewijzing" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "Voorraadartikel toewijzen aan Verkooporder" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "Geen verkooporder toewijzingen gevonden" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "Bewerk Voorraadtoewijzing" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "Bevestig Verwijderen" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "Verwijder Voorraadtoewijzing" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "Verzonden aan klant" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "Voorraadlocatie niet gespecificeerd" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "Wijs serienummers toe" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "Koop voorraad" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "Bereken prijs" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "Kan niet worden verwijderd omdat artikelen verzonden zijn" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "Kan niet worden verwijderd omdat artikelen toegewezen zijn" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "Wijs Serienummers Toe" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "Werk Stukprijs Bij" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index b35c88f152..391cd54c5e 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -64,10 +64,10 @@ msgstr "Oppgi dato" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notater" @@ -251,7 +251,7 @@ msgstr "Vedlegg" msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Velg fil å legge ved" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Lenke" @@ -282,9 +282,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Navn" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Navn" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Serverfeil" msgid "An error has been logged by the server." msgstr "En feil har blitt logget av serveren." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Må være et gyldig tall" @@ -611,7 +611,7 @@ msgstr "Vietnamesisk" msgid "Chinese" msgstr "Kinesisk" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "Pågående" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Sendt" @@ -839,27 +839,27 @@ msgstr "Svinn kan ikke overstige 100%" msgid "Invalid value for overage" msgstr "Ugyldig verdi for svinn" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Rediger brukerinformasjon" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Velg passord" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Passordfeltene må samsvare" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Feil passord angitt" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformasjon" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" @@ -867,16 +867,16 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Bygningen må avbrytes før den kan slettes" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "Spores" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "Tildelt" @@ -908,7 +908,7 @@ msgstr "Build ordre" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Bygg ordrereferanse" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referanse" @@ -957,9 +957,9 @@ msgstr "Build order som denne build er tildelt til" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Build order som denne build er tildelt til" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Build order som denne build er tildelt til" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Salgsordren denne produksjonen er tildelt til" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Kildeplassering" @@ -1067,8 +1068,8 @@ msgstr "Batchkode for denne produksjonsartikkelen" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Opprettelsesdato" @@ -1106,7 +1107,7 @@ msgstr "Brukeren som utstede denne prosjekt order" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Ansvarlig" @@ -1139,8 +1140,8 @@ msgstr "Produksjonsordrens prioritet" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" @@ -1186,17 +1187,18 @@ msgstr "Kvantitet kan ikke være større enn utgangsantallet" msgid "Build object" msgstr "Bygg objekt" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "Bygg objekt" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "Bygg objekt" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Mengden må være 1 for serialisert lagervare" msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Lagervare for montering" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "Plassering for ferdige produksjonsartikler" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "Lagerbeholdning er ikke fullt tildelt til denne Produksjonsordren" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Måldato" @@ -1736,8 +1738,8 @@ msgstr "Fullførte byggeresultater" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Salgsordre" @@ -1778,7 +1780,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:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Destinasjon" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "Tidsintervall for å se etter oppdateringer(sett til null for å skru av)" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "dager" @@ -2254,8 +2256,8 @@ msgstr "Kopier designmaler for kategoriparametere" msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Mal" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)" #: common/models.py:1253 +msgid "Enforce Parameter Units" +msgstr "" + +#: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 msgid "Minimum Pricing Decimal Places" msgstr "Minimum antall desimalplasser for priser" -#: common/models.py:1254 +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimum antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalt antall desimalplasser for priser" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maksimalt antall desimalplasser som skal vises når man gjengir prisdata" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "Bruk leverandørpriser" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "Innkjøpshistorikkoverstyring" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "Bruk lagervarepriser" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "Lagervare prisalder" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Unnta lagervarer som er eldre enn dette antall dager fra prisberegninger" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "Bruk Variantpriser" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "Inkluder variantpriser i beregninger av totale priser" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "Kun aktive varianter" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "Bruk kun aktive variantdeler til beregning av variantprising" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "Intervall for rekalkulering av priser" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "Antall dager før delpriser blir automatisk oppdatert" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Interne Priser" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "Aktiver interne priser for deler" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "Intern prisoverstyring" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Aktiver etikettutskrift" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Aktiver utskrift av etiketter fra nettleseren" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "Etikettbilde-DPI" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-oppløsning når når det genereres bildefiler for sending til utvidelser for etikettutskrift" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Aktiver Rapporter" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "Aktiver generering av rapporter" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Feilsøkingsmodus" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Sidestørrelse" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Aktiver Testrapporter" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Aktiver generering av testrapporter" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "Legg ved testrapporter" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Når det skrives ut en Testrapport, legg ved en kopi av Testrapporten på den assosierte Lagervaren" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "Automatisk tildeling av Serienummer" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "Aumatisk fyll ut serienummer i skjemaer" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "Bestemmer standard oppførsel når en lagervare er oppbrukt" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "Antall dager før lagervarer er ansett som foreldet før utløp" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "Påkrevd mønster for å generere returordrereferansefelt" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "E-postadresse kreves" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "E-post to ganger" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "Passord to ganger" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "Gruppe nye brukere blir tilknyttet ved registrering" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle utvidelser er installert ved oppstart - aktiver i containermiljøer" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "Tillat utvidelser å legge til URL-ruter" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrasjon" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "Tillat utvidelser å integrere mot navigasjon" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "Aktiver app-integrasjon" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "Tillat utvidelser å legge til apper" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "Aktiver tidsplanintegrasjon" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "Tillat utvidelser å kjøre planlagte oppgaver" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrasjon" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "Tillat utvidelser å reagere på interne hendelser" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "Aktiver prosjektkoder" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "Aktiver prosjektkoder for å spore prosjekter" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "Varetellingsfunksjonalitet" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Aktiver varetellingsfunksjonalitet for å registrere lagernivåer og regne ut lagerverdi" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "Automatisk varetellingsperiode" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Antall dager mellom automatisk varetellingsregistrering (sett til null for å deaktivere)" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "Rapportslettingsintervall" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "Innstillingsnøkkel (må være unik - ufølsom for store og små bokstaver" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "Ingen skriver (Eksporter til PDF)" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "Skjul inaktive elementer" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Skjul inaktive deler i resultater som vises på hjemmesiden" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Vis abonnerte deler" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Vis abonnerte deler på startsiden" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "Vis abonnerte kategorier" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "Vis abonnerte delkatekorier på startsiden" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Vis nyeste deler" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Vis nyeste deler på startsiden" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Vis uvaliderte stykklister" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "Vis stykklister som venter på validering på startsiden" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "Vis nylige lagerendringer" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "Vis nylig endrede lagervarer på startsiden" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "Vis lav lagerbeholdning" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Vis lave lagervarer på startsiden" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "Vis tomme lagervarer" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "Vis tom lagerbeholdning på startsiden" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Vis nødvendig lagerbeholdning" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "Vis lagervarer som trengs for produksjon på startsiden" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "Vis utløpt lagerbeholdning" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "Vis utløpte lagervarer på startsiden" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "Vis foreldet lagerbeholdning" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "Vis foreldet lagerbeholdning på startsiden" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "Vis ventende produksjoner" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "Vi ventende produksjoner på startsiden" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "Vis forfalte produksjoner" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "Vis forfalte produksjoner på startsiden" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "Vis utestående Innkjøpsordrer" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "Vis utestående Innkjøpsordrer på startsiden" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "Vis forfalte Innkjøpsordrer" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "Vis forfalte Innkjøpsordrer på startsiden" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "Vis utestående Salgsordrer" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "Vis utestående Salgsordrer på startsiden" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "Vis forfalte SOer" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "Vis forfalte SOer på startsiden" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "Vis ventende SO-forsendelser" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "Vis ventende SO-forsendelser på startsiden" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "Vis Nyheter" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "Vis nyheter på startsiden" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "Innebygd etikettvisning" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Vis PDF-etiketter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "Standard etikettskriver" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "Konfigurer hvilken etikettskriver som skal være valgt som standard" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "Innebygd rapportvisning" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Vis PDF-rapporter i nettleseren fremfor å lastes ned som en fil" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Søk i Deler" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "Vis deler i forhåndsvsningsvinduet for søk" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "Søk i Leverandørdeler" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "Vis leverandørdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "Søk i Produsentdeler" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "Vis produsentdeler i forhåndsvisningsvinduet for søk" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "Skjul Inaktive Deler" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "Ekskluder inaktive deler fra forhåndsvisningsvinduet for søk" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "Søk i kategorier" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "Vis delkategorier i forhåndsvisningsvinduet for søk" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "Søk i lagerbeholdning" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "Vis lagervarer i forhåndsvisningsvinduet for søk" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "Skjul utilgjengelige Lagervarer" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "Ekskluder lagervarer som ikke er tilgjengelige fra forhåndsvisningsvinduet for søk" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "Søk i Plasseringer" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "Vis lagerplasseringer i forhåndsvisningsvinduet for søk" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "Søk i Firma" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "Vis firma i forhåndsvsningsvinduet for søk" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "Søk i Produksjonsordrer" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "Vis produksjonsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "Søk i Innkjøpsordrer" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "Vis innkjøpsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "Ekskluder inaktive Innkjøpsordrer" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "Ekskluder inaktive innkjøpsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "Søk i Salgsordrer" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "Vis salgsordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "Ekskluder Inaktive Salgsordrer" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "Ekskluder inaktive salgsordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "Søk i Returordrer" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "Vis returordrer i forhåndsvisningsvinduet for søk" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "Ekskluder Inaktive Returordrer" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "Ekskluder inaktive returordrer fra forhåndsvisningsvinduet for søk" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "Forhåndsvisning av søkeresultater" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "Antall resultater å vise i hver seksjon av søkeresultatsforhåndsvisningen" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "Regex-søk" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "Aktiver regulære uttrykk i søkeord" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "Helordsøk" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "Søk returnerer resultater for treff med hele ord" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "Vis antall i skjemaer" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "Vis antall tilgjengelige deler i noen skjemaer" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "Escape-knappen lukker skjemaer" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "Bruk Escape-knappen for å lukke modal-skjemaer" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "Fast navigasjonsbar" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "Navigasjonsbarens posisjon er fast på toppen av skjermen" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "Datoformat" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Delplanlegging" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "Vis delplanleggingsinformasjon" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "Tabellstrenglengde" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "Maksimal lengdegrense for strenger vist i tabeller" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "Standard del etikett mal" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "Del etikett malen skal velges automatsik" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "Standard lagervarer mal" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "Lagervarer etikett mal skal valges automatisk" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "Standard lagervarer lokasjon etikett mal" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "Lagervarer lokasjon etikett malen skal valges automatisk" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Pris" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "Navn for webhooken" msgid "Active" msgstr "Aktiv" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "Sjetong" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "Vert" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "Tittel" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "Brødtekst" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "Id" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Tittel" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "Publisert" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Forfatter" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "Les" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "Er dette nyhetselementet lest?" msgid "Image" msgstr "Bilde" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "Bildefil" @@ -3656,7 +3666,7 @@ msgstr "Velg del" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Velg produsent" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "MPN" @@ -3743,7 +3753,7 @@ msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Velg leverandør" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "SKU-kode" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "Delemballasje" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "Pakkeantall" @@ -3838,7 +3849,7 @@ msgstr "Bestill flere" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "Slett bilde" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "Leverandørs lagerbeholdning" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "Ny innkjøpsordre" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "Parametere" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Nytt Parameter" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "Leverandørs lagerbeholdning" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Opprett ny lagervare" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Ny Lagervare" @@ -4278,9 +4289,9 @@ msgstr "Oppdater Delens Tilgjengelighet" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "Etikett" msgid "Label template file" msgstr "Etikett-malfil" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Aktivert" @@ -4357,7 +4368,7 @@ msgstr "Høyde [mm]" msgid "Label height, specified in mm" msgstr "Etiketthøyde, spesifisert i mm" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Filnavnmønster" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "Søkefiltre (kommaseparert liste over nøkkel=verdi-par)" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Filtre" @@ -4393,8 +4404,8 @@ msgstr "QR-kode" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Total pris" @@ -4420,12 +4431,12 @@ msgstr "Innkjøpsordre" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Returordre" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Ukjent" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "Kundens ordrereferanse" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Leveringsdato" @@ -4602,7 +4613,7 @@ msgstr "slettet" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "Ordre" @@ -4613,8 +4624,8 @@ msgstr "Leverandørdel" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "Sendt antall" msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "Leveringsdato" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "Artikkel" @@ -4789,7 +4800,7 @@ msgstr "Mottatt Dato" msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Utfall" @@ -5126,8 +5137,8 @@ msgstr "Duplikatvalg" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "Innkjøpsordreartikler" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Legg til linjeelement" @@ -5240,8 +5251,8 @@ msgstr "Skriv ut pakkeliste" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "Kundereferanse" @@ -5253,8 +5264,8 @@ msgstr "Kundereferanse" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "Total kostnad" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "Salgsordreartikler" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Ventende forsendelser" @@ -5342,12 +5353,12 @@ msgstr "Oppdaterte {part} enhetspris to {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Del-ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Delnavn" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "Delbeskrivelse" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisjon" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "På lager" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "Overordnet navn" msgid "Category Path" msgstr "Sti til kategori" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "BOM artikkel-ID" msgid "Parent IPN" msgstr "Overodnet IPN" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "Del IPN" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "Total lagerbeholdning" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" @@ -5523,7 +5535,7 @@ msgstr "Tilgjengelig lagerbeholdning" msgid "Input quantity for price calculation" msgstr "Sett inn antall for prisberegning" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Delkategori" @@ -5598,7 +5610,7 @@ msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede. msgid "Parts cannot be assigned to structural part categories!" msgstr "Deler kan ikke tilordnes strukturelle delkategorier!" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Delnavn" @@ -5622,8 +5634,8 @@ msgstr "Delbeskrivelse (valgfritt)" msgid "Part keywords to improve visibility in search results" msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "Valg" msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametermal" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "Data" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Standardverdi" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "Nivå" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "BOM-artikkel" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Denne BOM-artikkelen er forbruksvare (den spores ikke i produksjonsordrer)" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Svinn" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Godkjent" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "Denne BOM-artikkelen er godkjent" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Arves" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Denne BOM-artikkelen er arvet fra stykkliste for variantdeler" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Tillat Varianter" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagervarer for variantdeler kan brukes for denne BOM-artikkelen" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Antall må være heltallsverdi for sporbare deler" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "Erstatningsdel kan ikke være samme som hoveddelen" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" @@ -6204,232 +6216,232 @@ msgstr "Duplikatforhold eksisterer allerede" msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Angi initiell lagermengde for denne delen. Hvis antall er null, er ingen lagerbeholdning lagt til." -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "Inkluder arvet" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM elementer dupliseres" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "Flere matchende deler funnet" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "Ingen matchende delere funnet" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" @@ -6444,7 +6456,7 @@ msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigur #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "Totalt Antall" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "Ny Del" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Delparametere" @@ -6767,7 +6780,7 @@ msgstr "Vis prisinformasjon" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Lagerhandlinger" @@ -7059,7 +7072,7 @@ msgstr "Legg til salgsprisbrudd" msgid "No Stock" msgstr "Ingen lagerbeholdning" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Lav lagerbeholdning" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "Ingen gyldige objekter angitt for mal" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Malfil '{template}' mangler eller eksisterer ikke" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "Testrapport" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Malnavn" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "Rapportmalfil" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "Beskrivelse av rapportmal" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "Rapportrevisjonsnummer (øker automatisk)" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "Mønster for å generere rapportfilnavn" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "Rapportmal er aktiver" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Lagervare-søkefilter (kommaseparert liste over nøkkel=verdi-par)" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "Inkluder installerte tester" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "Inkluder testresultater for lagervarer installert i sammenstilt artikkel" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "Produksjonsfiltre" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Produksjons-søkefilter (kommaseparert liste over nøkkel=verdi-par" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "Delfiltre" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Del-søkefilter (kommaseparert liste over nøkkel=verdi-par" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "Innkjøpsordre-søkefilter" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "Salgsordre-søkefilter" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "Returordre-søkefilter" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "Snutt" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "Rapportsnuttfil" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "Filbeskrivelse for snutt" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "Ressurs" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "Rapportressursfil" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "Ressursfilbeskrivelse" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Nødvendige materialer" @@ -7475,8 +7492,8 @@ msgstr "Leverandør ble slettet" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "Enhetspris" @@ -7488,8 +7505,8 @@ msgstr "Ekstra linjeelementer" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "Total" @@ -7497,17 +7514,21 @@ msgstr "Total" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Serienummer" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Testrapport for lagervare" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "Serienumre kan ikke angis for en ikke-sporbar del" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "Lagerjusteringshandlinger" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "Tilgjengelig antall" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "Ingen plassering satt" @@ -8343,58 +8364,62 @@ msgstr "Skann lagerbeholder til denne plasseringen" msgid "Scan In Container" msgstr "Skann inn beholder" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "Plasseringshandlinger" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Rediger plassering" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "Slett plassering" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "Toppnivå-lagerplassering" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "Plasseringens Eier" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "Du er ikke i listen over eiere av denne plasseringen. Denne lagerplasseringen kan ikke redigeres." -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Underplasseringer" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "Opprett ny lagerplassering" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Ny plassering" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "Skannet lagerbeholder til denne plasseringen" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "Lagerplassering-QR-kode" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "Koble strekkode til Lagerplassering" @@ -8488,51 +8513,51 @@ msgstr "BOM venter godkjenning" msgid "Recently Updated" msgstr "Nylig oppdatert" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "Utløpt lagerbeholdning" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Forfalte Produksjonsordre" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Utestående innkjøpsordre" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Forfalte innkjøpsordre" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Utestående salgsordre" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Forfalte salgsordre" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "InvenTree-nyheter" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "Aktuelle nyheter" @@ -8668,7 +8693,7 @@ msgstr "Import av Del" msgid "Import Part" msgstr "Importér Del" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "Mal for Delparameter" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "Følgende deler har for lav lagerbeholdning" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "Antall som kreves" @@ -9854,7 +9879,7 @@ msgstr "Last inn BOM for undersammenstillinger" msgid "Substitutes Available" msgstr "Erstatninger tilgjengelig" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "Variantbeholdning tillatt" @@ -9874,25 +9899,25 @@ msgstr "BOM-prising er ufullstendig" msgid "No pricing available" msgstr "Ingen prising tilgjengelig" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "Ingen lagerbeholdning tilgjengelig" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "Inkluderer variant- og erstatningsbeholdning" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "Inkluderer variantbeholdning" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "Inkluderer erstatningsbeholdning" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "Forbruksvare" @@ -9924,7 +9949,7 @@ msgstr "Vis stykkliste" msgid "No BOM items found" msgstr "Ingen BOM-artikler funnet" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "Påkrevd del" @@ -10093,7 +10118,7 @@ msgstr "Slett Produksjonsartikler" msgid "No build order allocations found" msgstr "Ingen tildelinger til produksjonsordre funnet" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "Rediger lagertildeling" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "Slett lagertildeling" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "Rediger tildeling" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "Slett tildeling" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Sporbar del" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "Utilstrekkelig lagerbeholdning" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "Tilstrekkelig lagerbeholdning" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "Forbruksvare" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "Vis-operasjon ikke tillatt" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Slett" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "Ingen innkjøpsordrer funnet" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "Antall å motta" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "Bekreft mottak av varer" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index dff661560f..1643c1981e 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:43\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -64,10 +64,10 @@ msgstr "Wprowadź dane" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Uwagi" @@ -251,7 +251,7 @@ msgstr "Załącznik" msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Wybierz plik do załączenia" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Łącze" @@ -282,9 +282,9 @@ msgstr "Komentarz" msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Nazwa" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Nazwa" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Błąd serwera" msgid "An error has been logged by the server." msgstr "Błąd został zapisany w logach serwera." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" @@ -611,7 +611,7 @@ msgstr "Wietnamski" msgid "Chinese" msgstr "Chiński" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Wysłane" @@ -839,27 +839,27 @@ msgstr "Przedawnienie nie może przekroczyć 100 %" msgid "Invalid value for overage" msgstr "Nieprawidłowa wartość przedawnienia" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Podano nieprawidłowe hasło" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Informacja systemowa" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" @@ -867,16 +867,16 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "Przydzielono" @@ -908,7 +908,7 @@ msgstr "Zlecenie Budowy" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Odwołanie do zamówienia wykonania" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referencja" @@ -957,9 +957,9 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Lokalizacja źródła" @@ -1067,8 +1068,8 @@ msgstr "Kod partii dla wyjścia budowy" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Data utworzenia" @@ -1106,7 +1107,7 @@ msgstr "Użytkownik, który wydał to zamówienie" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Odpowiedzialny" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Data docelowa" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Przeznaczenie" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "dni" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Szablon" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/models.py:1550 +#: common/models.py:1557 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:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/models.py:1585 +#: common/models.py:1592 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:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Pokaż obserwowane części" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Pokaż obserwowane części na stronie głównej" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "Pokaż obserwowane kategorie" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "Pokaż obserwowane kategorie części na stronie głównej" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Pokaż najnowsze części" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Pokaż najnowsze części na stronie głównej" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "Pokaż niski stan magazynowy" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Pokaż elementy o niskim stanie na stronie głównej" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Pokaż wymagany stan zapasów" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Szukaj części" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "Ukryj nieaktywne części" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "Stały pasek nawigacyjny" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "Format daty" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Planowanie komponentów" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Cena" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "Aktywny" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Sekret" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "Nagłówek" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "Zawartość" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "Obraz" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "Wybierz część" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Wybierz producenta" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Wybierz dostawcę" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "Opakowanie części" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "Zapasy dostawcy" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "Nowe zamówienie zakupu" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "Parametry" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Nowy parametr" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Utwórz nowy towar" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Nowy towar" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "Etykieta" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Aktywne" @@ -4357,7 +4368,7 @@ msgstr "Wysokość [mm]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Filtry" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Cena całkowita" @@ -4420,12 +4431,12 @@ msgstr "Zlecenie zakupu" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Data wysyłki" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "Zamówienie" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "Wysłana ilość" msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "Komponent" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "Duplikuj wybrane" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Dodaj element zamówienia" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "Całkowity Koszt" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Oczekujące przesyłki" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID komponentu" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nazwa komponentu" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Wersja" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "Na stanie" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "Ścieżka kategorii" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "IPN komponentu" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "Dostępna ilość" @@ -5523,7 +5535,7 @@ msgstr "Dostępna ilość" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Kategoria komponentu" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Nazwa komponentu" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "Dane" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "Poziom" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "Element BOM" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Zatwierdzone" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "Nowy komponent" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Parametry części" @@ -6767,7 +6780,7 @@ msgstr "Pokaż informacje o cenach" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Akcje magazynowe" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "Brak w magazynie" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Mała ilość w magazynie" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "Filtr części" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "Cena jednostkowa" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "Razem" @@ -7497,17 +7514,21 @@ msgstr "Razem" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Numer Seryjny" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "ID lokalizacji" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "Ścieżka lokalizacji" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "Przelicz stan magazynowy" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Przenieś stan magazynowy" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "Tylko do odczytu" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "Lokacje nie są ustawione" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Edytuj lokację" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Nowa lokalizacja" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "Wyczerpane stany magazynowe" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "Zaległe zlecenia budowy" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "Trwające zlecenia zakupu" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "Zaległe zlecenia zakupu" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "Trwające zlecenia sprzedaży" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "Zaległe zlecenia sprzedaży" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "Import części" msgid "Import Part" msgstr "Import części" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "Zobacz BOM" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "Wybierz części" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "Brak informacji o użytkowniku" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "Operacja przeglądania nie jest dozwolona" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Usuń" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "Ilość do otrzymania" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "Potwierdź odbiór elementów" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "Przedmioty" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "Nieprawidłowy klient" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "Nie znaleziono zamówień sprzedaży" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "Kompletna wysyłka" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "Edytuj wysyłkę" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "Usuń wysyłkę" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "Nie odnaleziono pasujących przesyłek" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "Numer referencyjny przesyłki" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "Nie wysłano" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "Śledzenie" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "Potwierdź przydział zapasów" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "Cena zakupu" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "Oblicz cenę" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" @@ -11965,7 +11990,7 @@ msgstr "Weź" msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "Dodaj" @@ -12798,35 +12823,35 @@ msgstr "Uprawnienia" msgid "Important dates" msgstr "Ważne daty" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "Uprawnienia nadane" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Grupa" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Widok" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Uprawnienie do wyświetlania przedmiotów" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Uprawnienie do dodawania przedmiotów" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "Zmień" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Uprawnienie do edycji przedmiotów" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Uprawnienie do usuwania przedmiotów" diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po index a1b522ec79..9c7afed755 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -64,10 +64,10 @@ msgstr "Insira uma Data" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Anotações" @@ -111,7 +111,7 @@ msgstr "Confirmação do endereço de email" #: InvenTree/forms.py:206 msgid "You must type the same email each time." -msgstr "Voce precisa digital o mesmo email." +msgstr "Você deve digitar o mesmo e-mail todas as vezes." #: InvenTree/forms.py:237 InvenTree/forms.py:243 msgid "The provided primary email address is not valid." @@ -127,11 +127,11 @@ msgstr "Cadastro está desativado." #: InvenTree/helpers.py:462 order/models.py:455 order/models.py:624 msgid "Invalid quantity provided" -msgstr "Quantidade invalida" +msgstr "Quantidade fornecida inválida" #: InvenTree/helpers.py:470 msgid "Empty serial number string" -msgstr "Numero serial em branco" +msgstr "Número serial em branco" #: InvenTree/helpers.py:500 msgid "Duplicate serial" @@ -140,7 +140,7 @@ msgstr "Número de série duplicado" #: InvenTree/helpers.py:533 InvenTree/helpers.py:568 #, python-brace-format msgid "Invalid group range: {g}" -msgstr "Numero de grupo invalido:{g}" +msgstr "Número de grupo inválido:{g}" #: InvenTree/helpers.py:562 #, python-brace-format @@ -150,16 +150,16 @@ msgstr "Intervalo de grupos {g} excede a quantidade permitida ({q})" #: InvenTree/helpers.py:586 InvenTree/helpers.py:593 InvenTree/helpers.py:608 #, python-brace-format msgid "Invalid group sequence: {g}" -msgstr "Sequencia de grupo invalida:{g}" +msgstr "Sequência de grupo inválida:{g}" #: InvenTree/helpers.py:618 msgid "No serial numbers found" -msgstr "Nenhum numero serial encontrado" +msgstr "Nenhum número de série foi encontrado" #: InvenTree/helpers.py:621 #, python-brace-format msgid "Number of unique serial numbers ({s}) must match quantity ({q})" -msgstr "Numero de numeros seriais ({s}) precisa bater com quantidade ({q})" +msgstr "O número de números de série únicos ({s}) deve corresponder à quantidade ({q})" #: InvenTree/helpers.py:751 msgid "Remove HTML tags from this value" @@ -235,11 +235,11 @@ msgstr "O número de referência é muito grande" #: InvenTree/models.py:465 msgid "Missing file" -msgstr "Arquivo nao encontrado" +msgstr "Arquivo ausente" #: InvenTree/models.py:466 msgid "Missing external link" -msgstr "Link externo nao encontrado" +msgstr "Link externo não encontrado" #: InvenTree/models.py:486 stock/models.py:2262 #: templates/js/translated/attachment.js:119 @@ -251,7 +251,7 @@ msgstr "Anexo" msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Selecione arquivo para anexar" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Link" @@ -282,9 +282,9 @@ msgstr "Comentario" msgid "File comment" msgstr "Comentario sobre arquivo" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental" msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Nome" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Nome" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Erro de servidor" msgid "An error has been logged by the server." msgstr "Log de erro salvo pelo servidor." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" @@ -611,7 +611,7 @@ msgstr "Vietnamita" msgid "Chinese" msgstr "Chinês" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Falha em verificar o histórico do trabalhador" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "Em Progresso" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Enviado" @@ -839,27 +839,27 @@ msgstr "Excedente não deve exceder 100%" msgid "Invalid value for overage" msgstr "Valor de excedente inválido" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Editar informações do usuário" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Definir senha" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Os campos de senha devem coincidir" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Senha incorreta fornecida" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Informação do Sistema" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Sobre o InvenTree" @@ -867,16 +867,16 @@ msgstr "Sobre o InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Consumível" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "Monitorado" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "Alocado" @@ -908,7 +908,7 @@ msgstr "Ondem de Produção" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Referência do pedido de produção" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referência" @@ -957,9 +957,9 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Ordem de produção para qual este serviço está alocado" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Ordem de Venda para qual esta produção está alocada" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Local de Origem" @@ -1067,8 +1068,8 @@ msgstr "Código do lote para esta saída de produção" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Criado em" @@ -1106,7 +1107,7 @@ msgstr "Usuário que emitiu esta ordem de produção" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Responsável" @@ -1139,8 +1140,8 @@ msgstr "Prioridade desta ordem de produção" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Saída da produção não corresponde à Ordem de Produção" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" @@ -1186,17 +1187,18 @@ msgstr "Quantidade não pode ser maior do que a quantidade de saída" msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "Objeto de produção" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "Objeto de produção" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Quantidade deve ser 1 para estoque serializado" msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Destino do Item do Estoque" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "Local para saídas de produção concluídas" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "Estoque não foi totalmente alocado para este Pedido de Produção" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Data alvo" @@ -1736,8 +1738,8 @@ msgstr "Saídas Concluídas" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Pedido de Venda" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "O estoque pode ser tirado de qualquer local disponível." #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Destino" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "Frequência para verificar atualizações (defina como zero para desativar)" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "dias" @@ -2254,8 +2256,8 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria" msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Modelo" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)" #: common/models.py:1253 +msgid "Enforce Parameter Units" +msgstr "" + +#: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de Casas Decimais do Preço" -#: common/models.py:1254 +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "Máximo Casas Decimais de Preço" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "Usar Preços do Fornecedor" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "Sobrescrever histórico de compra" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "Usar Preços do Item em Estoque" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar preço inserido manualmente no estoque para cálculos de valores" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "Idade do preço do Item em Estoque" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "Usar Preço Variável" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir preços variáveis nos cálculos de valores gerais" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "Apenas Ativar Variáveis" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "Intervalo de Reconstrução de Preços" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "Número de dias antes da atualização automática dos preços das peças" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Preços Internos" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "Habilitar preços internos para peças" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "Sobrepor Valor Interno" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "Se disponível, preços internos sobrepõe variação de cálculos de preço" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Ativar impressão de etiquetas" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Ativar impressão de etiqueta pela interface da internet" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "DPI da Imagem na Etiqueta" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Habilitar Relatórios" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "Ativar geração de relatórios" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Modo de depuração" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "Gerar relatórios em modo de depuração (saída HTML)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Tamanho da página" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Tamanho padrão da página PDF para relatórios" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Ativar Relatórios Teste" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "Ativar geração de relatórios de teste" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "Anexar Relatórios de Teste" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "Quando imprimir um Relatório de Teste, anexar uma cópia do mesmo ao item de estoque associado" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "Seriais Únicos Globais" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "Números de série para itens de estoque devem ser globalmente únicos" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "Preenchimento automático de Números Seriais" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "Preencher números de série automaticamente no formulário" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "Excluir Estoque Esgotado" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "Determina o comportamento padrão quando um item de estoque é esgotado" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "Modelo de Código de Lote" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "Modelo para gerar códigos de lote padrão para itens de estoque" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "Validade do Estoque" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "Ativar função de validade de estoque" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "Vender estoque expirado" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "Permitir venda de estoque expirado" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "Tempo de Estoque Inativo" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "Produzir Estoque Vencido" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "Permitir produção com estoque vencido" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "Controle de propriedade do estoque" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "Ativar controle de propriedade sobre locais e itens de estoque" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "Ícone padrão do local de estoque" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "Mostrar Itens de Estoque Instalados" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "Exibir itens de estoque instalados nas tabelas de estoque" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Produção" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "Ativar Pedidos de Devolução" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Devolução" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Devolução" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "Editar os Pedidos de Devolução Concluídos" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Venda" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "Envio Padrão de Pedidos de Venda" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "Editar os Pedidos de Vendas concluídos" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Compras" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "Editar Pedidos de Compra Concluídos" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "Habitar esquecer senha" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "Habilitar cadastro" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "Ativar auto-registro para usuários na página de entrada" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "Ativar SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "Ativar SSO na página de acesso" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "Ativar registro SSO" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Ativar auto-registro por SSO para usuários na página de entrada" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Email obrigatório" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "Exigir do usuário o e-mail no cadastro" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "Auto-preencher usuários SSO" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "Enviar email duplo" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "No registro pedir aos usuários duas vezes pelo email" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "Senha duas vezes" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "No registro pedir aos usuários duas vezes pela senha" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "Domínios permitidos" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "Grupo no cadastro" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "Grupo ao qual novos usuários são atribuídos no registro" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "Forçar AMF" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "Os usuários devem usar uma segurança multifator." -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "Checar extensões no início" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "Ativar integração URL" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "Ativar extensão para adicionar rotas URL" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "Ativar integração de navegação" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "Ativar extensões para integrar à navegação" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "Ativa integração com aplicativo" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "Ativar extensões para adicionar aplicativos" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "Ativar integração do calendário" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "Ativar extensões para executar tarefas agendadas" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "Ativar integração de eventos" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "Ativar extensões para responder a eventos internos" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "Habilitar códigos de projeto" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "Ativar códigos de projeto para rastrear projetos" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "Funcionalidade de Balanço do Inventário" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Ativar funcionalidade de balanço para gravar níveis de estoque e calcular seu valor" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "Período de Balanço Automático" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Número de dias entre gravação do balanço de estoque (coloque zero para desativar)" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "Intervalo para Excluir o Relatório" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Relatórios de balanço serão apagados após um número de dias especificado" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "Senha de configurações (deve ser única — diferencia maiúsculas de minúsculas" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "Nenhuma impressora (Exportar para PDF)" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "Ocultar peças inativas" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "Ocultar peças inativas nos resultados exibidos na página inicial" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Mostrar peças subscritas" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Mostrar peças subscritas na tela inicial" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "Mostrar categorias subscritas" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "Mostrar categorias de peças subscritas na tela inicial" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Mostrar peças mais recentes" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Mostrar as peças mais recentes na página inicial" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Mostrar LDMs não validadas" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "Mostrar LDMs que aguardam validação na página inicial" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "Mostrar alterações recentes de estoque" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "Mostrar itens de estoque alterados recentemente na página inicial" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" -msgstr "Mostrar baixo estoque" +msgstr "Mostrar estoque baixo" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Mostrar itens de baixo estoque na página inicial" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "Mostrar estoque esgotado" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "Mostrar itens sem estoque na página inicial" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Mostrar estoque necessário" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "Mostrar itens de estoque necessários para produções na tela inicial" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "Mostrar estoque expirado" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "Mostrar expirados itens em estoque na tela inicial" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "Mostrar estoque inativo" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "Mostrar estoque inativo na tela inicial" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "Mostrar produções pendentes" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "Mostrar produções pendentes na tela inicial" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "Mostrar produções atrasadas" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "Mostrar produções atrasadas na tela inicial" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "Mostrar pedidos de compra pendentes" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "Mostrar os Pedidos de Compras pendentes na página inicial" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "Mostrar Pedidos de Compra atrasados" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "Mostrar os Pedidos de Compras atrasadas na tela inicial" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "Mostrar pedidos de vendas pendentes" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas pendentes na página inicial" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "Mostrar Pedidos de Venda atrasados" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "Mostrar os Pedidos de Vendas atrasadas na tela inicial" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "Mostrar remessas de OV pendentes" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "Mostrar envios OV pendentes na tela inicial" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "Mostrar notícias" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "Mostrar notícias na tela inicial" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "Mostrar etiqueta em linha" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "Mostrar etiquetas em PDF no navegador, ao invés de baixar o arquivo" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "Impressora de etiquetas padrão" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "Configurar qual impressora de etiqueta deve ser selecionada por padrão" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "Mostrar relatório em linha" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "Mostrar relatórios em PDF no navegador, ao invés de baixar o arquivo" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Procurar Peças" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "Mostrar peças na janela de visualização de pesquisa" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "Buscar Peças do Fornecedor" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "Mostrar fornecedor de peças na janela de visualização de pesquisa" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "Buscar peças do fabricante" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "Mostrar fabricante de peças na janela de visualização de pesquisa" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "Ocultar peças inativas" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "Não incluir peças inativas na janela de visualização de pesquisa" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "Pesquisar Categorias" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "Mostrar categoria das peças na janela de visualização de pesquisa" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "Pesquisar Estoque" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "Mostrar itens do estoque na janela de visualização de pesquisa" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "Ocultar itens do estoque indisponíveis" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "Não incluir itens de estoque que não estão disponíveis na janela de visualização de pesquisa" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "Procurar Locais" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "Mostrar locais de estoque na janela de visualização de pesquisa" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "Pesquisar empresas" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "Mostrar empresas na janela de visualização de pesquisa" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "Procurar Pedidos de Produção" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "Mostrar pedidos de produção na janela de visualização de pesquisa" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "Mostrar Pedido de Compras" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "Mostrar pedidos de compra na janela de visualização de pesquisa" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "Não incluir Pedidos de Compras Inativos" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "Não incluir pedidos de compras inativos na janela de visualização de pesquisa" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "Procurar Pedidos de Vendas" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "Mostrar pedidos de vendas na janela de visualização de pesquisa" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "Não Incluir Pedidos de Compras Inativas" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "Não incluir pedidos de vendas inativos na janela de visualização de pesquisa" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "Procurar Pedidos de Devolução" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "Mostrar pedidos de devolução na janela de visualização de pesquisa" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "Não Incluir Pedidos de Devolução Inativas" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "Não incluir pedidos de devolução inativos na janela de visualização de pesquisa" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "Mostrar Resultados Anteriores" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "Número de resultados mostrados em cada seção da janela de visualização de pesquisa" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "Pesquisa de Regex" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "Permitir expressôes comuns nas conultas de pesquisas" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "Busca de Palavras Inteira" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "Pesquisa retorna que palavra inteira coincide" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "Mostrar Quantidade nos Formulários" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "Mostrar a quantidade de peças disponíveis em alguns formulários" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "Tecla Esc Fecha Formulários" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "Usar a tecla Esc para fechar fomulários modais" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "Fixar Navbar" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "A posição do Navbar é fixa no topo da tela" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "Formato da data" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Agendamento de peças" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "Mostrar informações de agendamento de peças" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "Comprimento da Tabela de Frases" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "Limite máximo de comprimento para frases exibidas nas visualizações de tabela" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "Modelo de rótulo padrão da peça" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "O modelo de rótulo da peça a ser selecionado automaticamente" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "Modelo padrão de item de estoque" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "O modelo de rótulo do item a ser selecionado automaticamente" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "Modelo de rótulo de localização do estoque padrão" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "O modelo de rótulo do local de estoque a ser selecionado automaticamente" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Preço" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "Nome para este webhook" msgid "Active" msgstr "Ativo" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "Token" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "Segredo" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "Servidor" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "Corpo" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "Id" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "Título" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "Publicado" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "Autor" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "Resumo" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "Lida" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "Esta notícia do item foi lida?" msgid "Image" msgstr "Imagem" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "Arquivo de imagem" @@ -3656,7 +3666,7 @@ msgstr "Selecionar peça" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Selecionar fabricante" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "NPF" @@ -3743,7 +3753,7 @@ msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Selecione o fornecedor" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "Código (SKU)" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "Descrição da peça fornecedor" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "Embalagem de peças" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "Quantidade de embalagens" @@ -3838,7 +3849,7 @@ msgstr "Pedir múltiplos" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "Excluir imagem" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "Estoque do Fornecedor" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "Novo Pedido de Compra" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "Parâmetros" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Novo parâmetro" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "Estoque de Peça do Fornecedor" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Criar novo item de estoque" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Novo item de estoque" @@ -4278,9 +4289,9 @@ msgstr "Atualizar disponibilidade de peças" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "Etiqueta" msgid "Label template file" msgstr "Arquivo de modelo de etiqueta" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Habilitado" @@ -4357,7 +4368,7 @@ msgstr "Altura [mm]" msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Padrão de Nome de Arquivo" @@ -4368,11 +4379,11 @@ msgstr "Padrão para gerar nomes do arquivo das etiquetas" #: label/models.py:250 label/models.py:291 label/models.py:319 #: label/models.py:355 msgid "Query filters (comma-separated list of key=value pairs)" -msgstr "" +msgstr "Filtros de consulta (lista de valores separados por vírgula)" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Filtros" @@ -4381,7 +4392,7 @@ msgstr "Filtros" #: label/templates/label/stocklocation/qr.html:21 #: templates/allauth_2fa/setup.html:18 msgid "QR Code" -msgstr "" +msgstr "Código QR" #: label/templates/label/part/part_label_code128.html:31 #: label/templates/label/stocklocation/qr_and_text.html:31 @@ -4393,8 +4404,8 @@ msgstr "Código QR" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Preço Total" @@ -4420,12 +4431,12 @@ msgstr "Pedido de Compra" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "Devolver pedido" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "Desconhecido" @@ -4475,7 +4486,7 @@ msgstr "Ponto de contato para este pedido" #: order/models.py:280 msgid "Company address for this order" -msgstr "" +msgstr "Endereço da empresa para este pedido" #: order/models.py:373 order/models.py:779 msgid "Order reference" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "Código de Referência do pedido do cliente" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "Data de Envio" @@ -4578,7 +4589,7 @@ msgstr "Data alvo para este item de linha (deixe em branco para usar a data alvo #: order/models.py:1131 msgid "Line item description (optional)" -msgstr "" +msgstr "Descrição item de linha (opcional)" #: order/models.py:1136 msgid "Context" @@ -4602,7 +4613,7 @@ msgstr "excluído" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "Pedido" @@ -4613,8 +4624,8 @@ msgstr "Fornecedor da Peça" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,13 +4674,13 @@ msgstr "Quantidade enviada" msgid "Date of shipment" msgstr "Data do envio" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" -msgstr "" +msgstr "Data de Entrega" #: order/models.py:1428 msgid "Date of delivery of shipment" -msgstr "" +msgstr "Data da entrega do envio" #: order/models.py:1435 msgid "Checked By" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "Referência de remessa do pedido de venda" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "Item" @@ -4789,7 +4800,7 @@ msgstr "Data de Recebimento" msgid "The date this this return item was received" msgstr "Data que o pedido a ser devolvido foi recebido" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "Despesa/gastos" @@ -5014,7 +5025,7 @@ msgstr "Completar Pedido" #: order/templates/order/order_base.html:91 msgid "Supplier part thumbnail" -msgstr "" +msgstr "Miniatura da peça do fornecedor" #: order/templates/order/order_base.html:106 #: order/templates/order/return_order_base.html:102 @@ -5126,8 +5137,8 @@ msgstr "Duplicar seleção" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "Itens do Pedido de Compra" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "Adicionar item de linha" @@ -5227,7 +5238,7 @@ msgstr "Notas do Pedido" #: order/templates/order/return_order_base.html:18 #: order/templates/order/sales_order_base.html:18 msgid "Customer logo thumbnail" -msgstr "" +msgstr "Miniatura logotipo do cliente" #: order/templates/order/return_order_base.html:61 msgid "Print return order report" @@ -5240,8 +5251,8 @@ msgstr "Imprimir lista de pacotes" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "Referência do Cliente" @@ -5253,8 +5264,8 @@ msgstr "Referência do Cliente" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "Custo Total" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "Itens do Pedido de Venda" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "Envios Pendentes" @@ -5342,12 +5353,12 @@ msgstr "Atualizado {part} unid.-preço para {price}" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "ID da Peça" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Nome da Peça" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "Descrição da Peça" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "IPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revisão" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "Em Estoque" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "Nome Paternal" msgid "Category Path" msgstr "Caminho da Categoria" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "ID Item LDM" msgid "Parent IPN" msgstr "IPN Paternal" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "IPN da Peça" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "Estoque Total" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "Estoque Disponível" @@ -5523,7 +5535,7 @@ msgstr "Estoque Disponível" msgid "Input quantity for price calculation" msgstr "Quantidade para o cálculo de preço" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Categoria da Peça" @@ -5598,7 +5610,7 @@ msgstr "Uma parte com este Nome, IPN e Revisão já existe." msgid "Parts cannot be assigned to structural part categories!" msgstr "Peças não podem ser atribuídas a categorias estruturais!" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Nome da peça" @@ -5622,8 +5634,8 @@ msgstr "Descrição da peça (opcional)" msgid "Part keywords to improve visibility in search results" msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5984,15 +5996,15 @@ msgstr "Este teste requer um anexo ao adicionar um resultado de teste?" #: part/models.py:3383 msgid "Checkbox parameters cannot have units" -msgstr "" +msgstr "Parâmetros da caixa de seleção não podem ter unidades" #: part/models.py:3388 msgid "Checkbox parameters cannot have choices" -msgstr "" +msgstr "Os parâmetros da caixa de seleção não podem ter escolhas" #: part/models.py:3406 msgid "Choices must be unique" -msgstr "" +msgstr "Escolhas devem ser únicas" #: part/models.py:3422 msgid "Parameter template name must be unique" @@ -6004,7 +6016,7 @@ msgstr "Nome do Parâmetro" #: part/models.py:3444 msgid "Physical units for this parameter" -msgstr "" +msgstr "Unidades físicas para este parâmetro" #: part/models.py:3454 msgid "Parameter description" @@ -6013,190 +6025,190 @@ msgstr "Descrição do Parâmetro" #: part/models.py:3460 templates/js/translated/part.js:1599 #: templates/js/translated/table_filters.js:756 msgid "Checkbox" -msgstr "" +msgstr "Caixa de seleção" #: part/models.py:3461 msgid "Is this parameter a checkbox?" -msgstr "" +msgstr "Este parâmetro é uma caixa de seleção?" #: part/models.py:3466 templates/js/translated/part.js:1608 msgid "Choices" -msgstr "" +msgstr "Escolhas" #: part/models.py:3467 msgid "Valid choices for this parameter (comma-separated)" -msgstr "" +msgstr "Opções válidas para este parâmetro (separadas por vírgulas)" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" -msgstr "" +msgstr "Escolha inválida para valor do parâmetro" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "Peça Paternal" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Modelo de parâmetro" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "Dados" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "Valor Padrão" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "ID da peça ou nome da peça" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "Valor exclusivo do ID de peça" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "Valor da parte IPN" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "Nível" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "Nível da LDM" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "Item LDM" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "Selecione a Peça Parental" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "Sub peça" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "Selecionar peça a ser usada na LDM" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "Quantidade de LDM para este item LDM" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "Este item LDM é opcional" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Excedente" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "Referência do Item LDM" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "Notas do Item LDM" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "Soma de verificação" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "Soma de Verificação da LDM da linha" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "Validado" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "O item da LDM foi validado" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "Obtém herdados" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "Este item da LDM é herdado por LDMs para peças variáveis" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Permitir variações" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Quantidade deve ser valor inteiro para peças rastreáveis" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "Sub peça deve ser especificada" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "Substituir Item da LDM" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "A peça de substituição não pode ser a mesma que a peça mestre" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "Item LDM Parental" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "Substituir peça" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "Parte 1" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "Parte 2" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "Selecionar Peça Relacionada" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "Relacionamento da peça não pode ser criada com ela mesma" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" @@ -6204,232 +6216,232 @@ msgstr "Relação duplicada já existe" msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" -msgstr "" +msgstr "Nenhuma parte selecionada" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" -msgstr "" +msgstr "Selecionar categoria" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "Atualizar Peças" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "Atualizar peças especificadas com dados de estoque calculados" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "Função de Balanço de Estoque não está ativada" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluir itens LDM que são herdados de peças modelo" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "Limpar LDM Existente" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "Apagar itens LDM existentes antes de carregar" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "Nenhuma coluna de peça especificada" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "Múltiplas peças correspondentes encontradas" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "Nenhuma peça correspondente encontrada" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "Peça não está designada como componente" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "Quantidade não foi fornecida" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "Quantidade Inválida" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "Pelo menos um item LDM é necessário" @@ -6444,7 +6456,7 @@ msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo def #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "Quantidade Total" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "Nova Peça" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Parâmetros da Peça" @@ -6767,7 +6780,7 @@ msgstr "Mostrar informações de preços" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Ações de Estoque" @@ -7059,7 +7072,7 @@ msgstr "Adicionar intervalo de preço de venda" msgid "No Stock" msgstr "Sem Estoque" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Estoque Baixo" @@ -7194,7 +7207,7 @@ msgstr "Notificações do InvenTree" #: plugin/builtin/integration/core_notifications.py:35 msgid "Integrated outgoing notification methods" -msgstr "" +msgstr "Métodos de envio de notificação integrados" #: plugin/builtin/integration/core_notifications.py:40 #: plugin/builtin/integration/core_notifications.py:81 @@ -7351,113 +7364,117 @@ msgstr "Qualquer nome do pacote URL deve ser fornecido" #: plugin/serializers.py:193 msgid "Activate Plugin" -msgstr "" +msgstr "Ativar Extensão" #: plugin/serializers.py:194 msgid "Activate this plugin" -msgstr "" +msgstr "Ativar esta extensão" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "Nenhum objeto válido fornecido para o modelo" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "Arquivo modelo '{template}' perdido ou não existe" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "Relatório de teste" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Nome do modelo" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "Arquivo modelo de relatório" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "Descrição do modelo de relatório" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "Relatar número de revisão (auto-incrementos)" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "Padrão para gerar nomes de arquivo de relatórios" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "Modelo de relatório Habilitado" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "Filtros de consulta de itens de estoque(lista de valores separados por vírgula)" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "Incluir testes instalados" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "Incluir resultados de testes para itens de estoque instalados dentro de item montado" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "Filtros de Produção" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta de produção (lista de valores separados por vírgula" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "Filtros de Peças" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "Filtros de consulta de peças (lista de valores separados por vírgula" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "Filtros de consultas de pedidos de compra" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "Filtros de consultas de pedidos de venda" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "Filtrar pesquisa de itens devolvidos" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "Recorte" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "Relatar arquivo de recorte" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "Descrição do arquivo de recorte" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "Patrimônio" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "Reportar arquivo de ativos" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "Descrição do arquivo de ativos" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "Materiais necessários" @@ -7475,8 +7492,8 @@ msgstr "Fornecedor foi excluído" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "Preço unitário" @@ -7488,8 +7505,8 @@ msgstr "Extra Itens de Linha" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "Total" @@ -7497,17 +7514,21 @@ msgstr "Total" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Número de Sério" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Relatório Teste do Item em Estoque" @@ -7561,8 +7582,8 @@ msgstr "ID do local" msgid "Location Name" msgstr "Nome do Local" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "Caminho do local" @@ -7635,11 +7656,11 @@ msgstr "Uma peça válida deve ser fornecida" #: stock/api.py:665 msgid "The given supplier part does not exist" -msgstr "" +msgstr "A peça do fornecedor informado não existe" #: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" -msgstr "" +msgstr "A peça do fornecedor tem um tamanho de pacote definido, mas o item use_pack_size não foi definida" #: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" @@ -7651,7 +7672,7 @@ msgstr "Números de série não podem ser fornecidos para uma parte não rastre msgid "Stock Location" msgstr "Localizacao do estoque" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -7762,11 +7783,11 @@ msgstr "Produção para este item de estoque" #: stock/models.py:761 stock/templates/stock/item_base.html:364 msgid "Consumed By" -msgstr "" +msgstr "Consumido por" #: stock/models.py:763 msgid "Build order which consumed this stock item" -msgstr "" +msgstr "Pedido de produção que consumiu este item de estoque" #: stock/models.py:774 msgid "Source Purchase Order" @@ -7907,11 +7928,11 @@ msgstr "Número de série é muito grande" #: stock/serializers.py:215 msgid "Use pack size when adding: the quantity defined is the number of packs" -msgstr "" +msgstr "Usar tamanho do pacote ao adicionar: a quantidade definida é o número de pacotes" #: stock/serializers.py:316 msgid "Purchase price of this stock item, per unit or pack" -msgstr "" +msgstr "Preço de compra para este item de estoque, por unidade ou pacote" #: stock/serializers.py:373 msgid "Enter number of stock items to serialize" @@ -7973,11 +7994,11 @@ msgstr "Local de destino para item retornado" #: stock/serializers.py:663 msgid "Select stock items to change status" -msgstr "" +msgstr "Selecionar itens de estoque para mudar estados" #: stock/serializers.py:670 msgid "No stock items selected" -msgstr "" +msgstr "Nenhum item de estoque selecionado" #: stock/serializers.py:904 msgid "Part must be salable" @@ -8001,23 +8022,23 @@ msgstr "A empresa selecionada não é um cliente" #: stock/serializers.py:957 msgid "Stock assignment notes" -msgstr "" +msgstr "Nodas atribuídas a estoque" #: stock/serializers.py:967 stock/serializers.py:1198 msgid "A list of stock items must be provided" -msgstr "" +msgstr "Uma lista de item de estoque deve ser providenciada" #: stock/serializers.py:1056 msgid "Stock merging notes" -msgstr "" +msgstr "Notas de fusão de estoque" #: stock/serializers.py:1061 msgid "Allow mismatched suppliers" -msgstr "" +msgstr "Permitir fornecedores divergentes" #: stock/serializers.py:1062 msgid "Allow stock items with different supplier parts to be merged" -msgstr "" +msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes" #: stock/serializers.py:1067 msgid "Allow mismatched status" @@ -8029,44 +8050,44 @@ msgstr "Permitir a fusão de itens de estoque com estado diferentes" #: stock/serializers.py:1078 msgid "At least two stock items must be provided" -msgstr "" +msgstr "Ao menos dois itens de estoque devem ser providenciados" #: stock/serializers.py:1160 msgid "StockItem primary key value" -msgstr "" +msgstr "Valor da chave primária do Item Estoque" #: stock/serializers.py:1188 msgid "Stock transaction notes" -msgstr "" +msgstr "Notas da transação de estoque" #: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" -msgstr "" +msgstr "Informações de Rastrrio de Estoque" #: stock/templates/stock/item.html:63 msgid "Child Stock Items" -msgstr "" +msgstr "Itens de Estoque Filhos" #: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" -msgstr "" +msgstr "Este item de estoque não possuí nenhum filho" #: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" -msgstr "" +msgstr "Dados de teste" #: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" -msgstr "" +msgstr "Relatório do teste" #: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" -msgstr "" +msgstr "Excluir dados de teste" #: stock/templates/stock/item.html:93 msgid "Add Test Data" -msgstr "" +msgstr "Adicionar dados de teste" #: stock/templates/stock/item.html:125 msgid "Stock Item Notes" @@ -8074,42 +8095,42 @@ msgstr "Notas de Item Estoque" #: stock/templates/stock/item.html:140 msgid "Installed Stock Items" -msgstr "" +msgstr "Itens de Estoque Instalados" #: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" -msgstr "" +msgstr "Instalar Item de Estoque" #: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" -msgstr "" +msgstr "Excluir todos os resultados de teste deste item de estoque" #: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" -msgstr "" +msgstr "Adicionar Resultado de Teste" #: stock/templates/stock/item_base.html:34 msgid "Locate stock item" -msgstr "" +msgstr "Localizar item de estoque" #: stock/templates/stock/item_base.html:52 msgid "Scan to Location" -msgstr "" +msgstr "Escanear a Localização" #: stock/templates/stock/item_base.html:60 #: stock/templates/stock/location.html:69 #: templates/js/translated/filters.js:431 msgid "Printing actions" -msgstr "" +msgstr "Ações de Impressão" #: stock/templates/stock/item_base.html:76 msgid "Stock adjustment actions" -msgstr "" +msgstr "Ações de ajuste de estoque" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" -msgstr "" +msgstr "Contagem de estoque" #: stock/templates/stock/item_base.html:82 #: templates/js/translated/stock.js:1736 @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "Serializar estoque" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "Transferir estoque" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "Você não está autorizado a editar esse item." #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "Somente leitura" @@ -8207,63 +8228,63 @@ msgstr "Edite este item usando o formulário de construçao." #: stock/templates/stock/item_base.html:288 msgid "This stock item is allocated to Sales Order" -msgstr "" +msgstr "Este item de estoque está alocado a uma ordem de venda" #: stock/templates/stock/item_base.html:296 msgid "This stock item is allocated to Build Order" -msgstr "" +msgstr "Este item de estoque está alocado a uma ordem de produção" #: stock/templates/stock/item_base.html:312 msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" -msgstr "" +msgstr "Este item de estoque é serializado. Tem um único número de série e a quantidade não pode ser ajustada" #: stock/templates/stock/item_base.html:318 msgid "previous page" -msgstr "" +msgstr "página anterior" #: stock/templates/stock/item_base.html:318 msgid "Navigate to previous serial number" -msgstr "" +msgstr "Navegar para o número de série anterior" #: stock/templates/stock/item_base.html:327 msgid "next page" -msgstr "" +msgstr "próxima página" #: stock/templates/stock/item_base.html:327 msgid "Navigate to next serial number" -msgstr "" +msgstr "Navegar para o próximo número de série" #: stock/templates/stock/item_base.html:341 msgid "Available Quantity" -msgstr "" +msgstr "Quantidade Disponível" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" -msgstr "" +msgstr "Nenhum local definido" #: stock/templates/stock/item_base.html:409 msgid "Tests" -msgstr "" +msgstr "Testes" #: stock/templates/stock/item_base.html:415 msgid "This stock item has not passed all required tests" -msgstr "" +msgstr "Este item de estoque não passou todos os testes necessários" #: stock/templates/stock/item_base.html:433 #, python-format msgid "This StockItem expired on %(item.expiry_date)s" -msgstr "" +msgstr "Este Item do Estoque expirou em %(item.expiry_date)s" #: stock/templates/stock/item_base.html:433 #: templates/js/translated/table_filters.js:387 msgid "Expired" -msgstr "" +msgstr "Expirado" #: stock/templates/stock/item_base.html:435 #, python-format msgid "This StockItem expires on %(item.expiry_date)s" -msgstr "" +msgstr "Este Item do Estoque expira em %(item.expiry_date)s" #: stock/templates/stock/item_base.html:435 #: templates/js/translated/table_filters.js:393 @@ -8277,7 +8298,7 @@ msgstr "Nenhum balanço feito" #: stock/templates/stock/item_base.html:503 #: templates/js/translated/stock.js:1884 msgid "stock item" -msgstr "" +msgstr "item de estoque" #: stock/templates/stock/item_base.html:528 msgid "Edit Stock Status" @@ -8285,39 +8306,39 @@ msgstr "Editar Situação do Estoque" #: stock/templates/stock/item_base.html:537 msgid "Stock Item QR Code" -msgstr "" +msgstr "QR Code do Item de Estoque" #: stock/templates/stock/item_base.html:548 msgid "Link Barcode to Stock Item" -msgstr "" +msgstr "Ligar Código de barras ao item de estoque" #: stock/templates/stock/item_base.html:612 msgid "Select one of the part variants listed below." -msgstr "" +msgstr "Selecione uma das peças variantes listada abaixo." #: stock/templates/stock/item_base.html:615 msgid "Warning" -msgstr "" +msgstr "Atenção" #: stock/templates/stock/item_base.html:616 msgid "This action cannot be easily undone" -msgstr "" +msgstr "Esta ação não pode ser facilmente desfeita" #: stock/templates/stock/item_base.html:624 msgid "Convert Stock Item" -msgstr "" +msgstr "Converter Item de Estoque" #: stock/templates/stock/item_base.html:654 msgid "Return to Stock" -msgstr "" +msgstr "Retornar ao estoque" #: stock/templates/stock/item_serialize.html:5 msgid "Create serialized items from this stock item." -msgstr "" +msgstr "Criar itens serializados deste item de estoque." #: stock/templates/stock/item_serialize.html:7 msgid "Select quantity to serialize, and unique serial numbers." -msgstr "" +msgstr "Selecione a quantidade para serializar e números de série único." #: stock/templates/stock/location.html:37 msgid "Perform stocktake for this stock location" @@ -8325,115 +8346,119 @@ msgstr "Fazer balanço para o estoque deste local" #: stock/templates/stock/location.html:44 msgid "Locate stock location" -msgstr "" +msgstr "Localizar o local de estoque" #: stock/templates/stock/location.html:62 msgid "Scan stock items into this location" -msgstr "" +msgstr "Buscar itens de estoque neste local" #: stock/templates/stock/location.html:62 msgid "Scan In Stock Items" -msgstr "" +msgstr "Buscar nos Itens de Estoque" #: stock/templates/stock/location.html:63 msgid "Scan stock container into this location" -msgstr "" +msgstr "Buscar recipiente do estoque neste local" #: stock/templates/stock/location.html:63 msgid "Scan In Container" +msgstr "Buscar no recipiente" + +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:103 msgid "Location actions" -msgstr "" +msgstr "Ações de Locais" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" -msgstr "" +msgstr "Editar Local" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" -msgstr "" +msgstr "Excluir Local" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" -msgstr "" +msgstr "Local de estoque de alto nível" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" -msgstr "" +msgstr "Dono do Local" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." -msgstr "" +msgstr "Você não está na lista de donos deste local. Este local de estoque não pode ser editado." -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" -msgstr "" - -#: stock/templates/stock/location.html:215 -msgid "Create new stock location" -msgstr "" +msgstr "Sub-locais" #: stock/templates/stock/location.html:216 -msgid "New Location" -msgstr "" +msgid "Create new stock location" +msgstr "Criar novo local de estoque" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:217 +msgid "New Location" +msgstr "Novo local" + +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" -msgstr "" +msgstr "local de estoque" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" -msgstr "" +msgstr "Escaneado o recipiente de estoque neste local" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" -msgstr "" +msgstr "Código QR do Local de Estoque" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" -msgstr "" +msgstr "Ligar Código de barras ao Local de Estoque" #: stock/templates/stock/stock_app_base.html:16 msgid "Loading..." -msgstr "" +msgstr "Carregando..." #: stock/templates/stock/stock_sidebar.html:5 msgid "Stock Tracking" -msgstr "" +msgstr "Rastreamento de estoque" #: stock/templates/stock/stock_sidebar.html:8 msgid "Allocations" -msgstr "" +msgstr "Alocações" #: stock/templates/stock/stock_sidebar.html:20 msgid "Child Items" -msgstr "" +msgstr "Itens Filhos" #: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 msgid "Permission Denied" -msgstr "" +msgstr "Permissão Negada" #: templates/403.html:15 msgid "You do not have permission to view this page." -msgstr "" +msgstr "Você não tem permissão para visualizar esta página." #: templates/403_csrf.html:11 msgid "Authentication Failure" -msgstr "" +msgstr "Falha na Autenticação" #: templates/403_csrf.html:14 msgid "You have been logged out from InvenTree." -msgstr "" +msgstr "Você foi desconectado do InvenTree." #: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 #: templates/navbar.html:147 msgid "Login" -msgstr "" +msgstr "Iniciar sessão" #: templates/404.html:6 templates/404.html:12 msgid "Page Not Found" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "Estoque Inativo" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8658,19 +8683,19 @@ msgstr "" #: templates/InvenTree/settings/part.html:7 msgid "Part Settings" -msgstr "" +msgstr "Configurações de Peça" #: templates/InvenTree/settings/part.html:42 msgid "Part Import" -msgstr "" +msgstr "Peça importada" #: templates/InvenTree/settings/part.html:46 msgid "Import Part" -msgstr "" +msgstr "Importar Peça" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" -msgstr "" +msgstr "Modelo de Parâmetro da Peça" #: templates/InvenTree/settings/part_stocktake.html:7 msgid "Stocktake Settings" @@ -8683,200 +8708,200 @@ msgstr "Relatório de Balanço" #: templates/InvenTree/settings/plugin.html:9 #: templates/InvenTree/settings/sidebar.html:62 msgid "Plugin Settings" -msgstr "" +msgstr "Configurações da Extensão" #: templates/InvenTree/settings/plugin.html:15 msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." -msgstr "" +msgstr "Alterar as configurações abaixo requer que você reinicie imediatamente o servidor. Não altere isso enquanto estiver em uso." #: templates/InvenTree/settings/plugin.html:35 #: templates/InvenTree/settings/sidebar.html:64 msgid "Plugins" -msgstr "" +msgstr "Extensões" #: templates/InvenTree/settings/plugin.html:41 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" -msgstr "" +msgstr "Instalar extensão" #: templates/InvenTree/settings/plugin.html:49 msgid "External plugins are not enabled for this InvenTree installation" -msgstr "" +msgstr "Extensões externos não estão ativados para esta instalação do InvenTree" #: templates/InvenTree/settings/plugin.html:64 msgid "Plugin Error Stack" -msgstr "" +msgstr "Erro da Pilha da Extensão" #: templates/InvenTree/settings/plugin.html:73 msgid "Stage" -msgstr "" +msgstr "Fase" #: templates/InvenTree/settings/plugin.html:75 #: templates/js/translated/notification.js:75 msgid "Message" -msgstr "" +msgstr "Mensagem" #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" -msgstr "" +msgstr "Informações da extensões" #: templates/InvenTree/settings/plugin_settings.html:42 #: templates/js/translated/plugin.js:89 msgid "Version" -msgstr "" +msgstr "Versão" #: templates/InvenTree/settings/plugin_settings.html:47 msgid "no version information supplied" -msgstr "" +msgstr "nenhuma informação de versão fornecida" #: templates/InvenTree/settings/plugin_settings.html:61 msgid "License" -msgstr "" +msgstr "Licença" #: templates/InvenTree/settings/plugin_settings.html:70 msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." -msgstr "" +msgstr "A informação de código é retirada do último git commit para esta extensão. Pode não refletir números de versão ou informações oficiais, mas sim o código em execução." #: templates/InvenTree/settings/plugin_settings.html:76 msgid "Package information" -msgstr "" +msgstr "Informações do pacote" #: templates/InvenTree/settings/plugin_settings.html:82 msgid "Installation method" -msgstr "" +msgstr "Método de instalação" #: templates/InvenTree/settings/plugin_settings.html:85 msgid "This plugin was installed as a package" -msgstr "" +msgstr "Esta extensão foi instalada como um pacote" #: templates/InvenTree/settings/plugin_settings.html:87 msgid "This plugin was found in a local server path" -msgstr "" +msgstr "Esta extensão foi encontrada no caminho do servidor local" #: templates/InvenTree/settings/plugin_settings.html:93 msgid "Installation path" -msgstr "" +msgstr "Caminho de instalação" #: templates/InvenTree/settings/plugin_settings.html:100 #: templates/js/translated/plugin.js:77 msgid "Builtin" -msgstr "" +msgstr "Embutido" #: templates/InvenTree/settings/plugin_settings.html:101 msgid "This is a builtin plugin which cannot be disabled" -msgstr "" +msgstr "Esse é uma extensão embutida que não pode ser desativado" #: templates/InvenTree/settings/plugin_settings.html:106 msgid "Commit Author" -msgstr "" +msgstr "Autor do Commit" #: templates/InvenTree/settings/plugin_settings.html:110 #: templates/about.html:36 msgid "Commit Date" -msgstr "" +msgstr "Data do commit" #: templates/InvenTree/settings/plugin_settings.html:114 #: templates/about.html:29 msgid "Commit Hash" -msgstr "" +msgstr "Hash do Commit" #: templates/InvenTree/settings/plugin_settings.html:118 msgid "Commit Message" -msgstr "" +msgstr "Mensagem do Commit" #: templates/InvenTree/settings/po.html:7 msgid "Purchase Order Settings" -msgstr "" +msgstr "Configurações do Pedido de Compra" #: templates/InvenTree/settings/pricing.html:7 msgid "Pricing Settings" -msgstr "" +msgstr "Configurações de preços" #: templates/InvenTree/settings/pricing.html:34 msgid "Exchange Rates" -msgstr "" +msgstr "Taxas de Câmbio" #: templates/InvenTree/settings/pricing.html:38 msgid "Update Now" -msgstr "" +msgstr "Atualizar agora" #: templates/InvenTree/settings/pricing.html:46 #: templates/InvenTree/settings/pricing.html:50 msgid "Last Update" -msgstr "" +msgstr "Última Atualização" #: templates/InvenTree/settings/pricing.html:50 msgid "Never" -msgstr "" +msgstr "Nunca" #: templates/InvenTree/settings/project_codes.html:8 msgid "Project Code Settings" -msgstr "" +msgstr "Configurações de código do projeto" #: templates/InvenTree/settings/project_codes.html:21 #: templates/InvenTree/settings/sidebar.html:33 msgid "Project Codes" -msgstr "" +msgstr "Códigos de Projeto" #: templates/InvenTree/settings/project_codes.html:25 #: templates/InvenTree/settings/settings_staff_js.html:120 msgid "New Project Code" -msgstr "" +msgstr "Novo Código de Projeto" #: templates/InvenTree/settings/report.html:8 #: templates/InvenTree/settings/user_reporting.html:9 msgid "Report Settings" -msgstr "" +msgstr "Configurações de relatórios" #: templates/InvenTree/settings/returns.html:7 msgid "Return Order Settings" -msgstr "" +msgstr "Configurações de Pedido de Devolução" #: templates/InvenTree/settings/setting.html:31 msgid "No value set" -msgstr "" +msgstr "Nenhum valor definido" #: templates/InvenTree/settings/setting.html:44 msgid "Edit setting" -msgstr "" +msgstr "Editar configurações" #: templates/InvenTree/settings/settings_js.html:58 msgid "Edit Plugin Setting" -msgstr "" +msgstr "Editar configurações da extensão" #: templates/InvenTree/settings/settings_js.html:60 msgid "Edit Notification Setting" -msgstr "" +msgstr "Editar Configurações de Notificação" #: templates/InvenTree/settings/settings_js.html:63 msgid "Edit Global Setting" -msgstr "" +msgstr "Editar Configurações Globais" #: templates/InvenTree/settings/settings_js.html:65 msgid "Edit User Setting" -msgstr "" +msgstr "Editar Configurações de Usuário" #: templates/InvenTree/settings/settings_staff_js.html:49 msgid "Rate" -msgstr "" +msgstr "Taxa" #: templates/InvenTree/settings/settings_staff_js.html:64 msgid "No project codes found" -msgstr "" +msgstr "Nenhum código de projetos encontrado" #: templates/InvenTree/settings/settings_staff_js.html:80 #: templates/InvenTree/settings/settings_staff_js.html:94 msgid "Edit Project Code" -msgstr "" +msgstr "Editar Código do Projeto" #: templates/InvenTree/settings/settings_staff_js.html:81 #: templates/InvenTree/settings/settings_staff_js.html:107 msgid "Delete Project Code" -msgstr "" +msgstr "Excluir Código do Projeto" #: templates/InvenTree/settings/settings_staff_js.html:189 msgid "No category parameter templates found" -msgstr "" +msgstr "Nenhum modelo de parâmetro de categoria encontrado" #: templates/InvenTree/settings/settings_staff_js.html:212 #: templates/js/translated/part.js:1617 @@ -9094,24 +9119,24 @@ msgstr "" #: templates/InvenTree/settings/user.html:204 #, python-format msgid "%(time)s ago (this session)" -msgstr "" +msgstr "%(time)s atrás (esta sessão)" #: templates/InvenTree/settings/user.html:206 #, python-format msgid "%(time)s ago" -msgstr "" +msgstr "%(time)s atrás" #: templates/InvenTree/settings/user.html:218 msgid "Do you really want to remove the selected email address?" -msgstr "" +msgstr "Você realmente deseja remover o endereço de e-mail selecionado?" #: templates/InvenTree/settings/user_display.html:9 msgid "Display Settings" -msgstr "" +msgstr "Definições de Exibição" #: templates/InvenTree/settings/user_display.html:29 msgid "Theme Settings" -msgstr "" +msgstr "Configurações de tema" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Excluir" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Grupo" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po index 00ba88cd0e..697fb1a053 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: 2023-06-26 07:13+0000\n" +"POT-Creation-Date: 2023-07-04 21:22+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -65,11 +65,11 @@ msgstr "" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "" @@ -261,11 +261,11 @@ msgstr "" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "" @@ -289,7 +289,7 @@ msgstr "" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "" @@ -332,7 +332,7 @@ msgstr "" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -343,7 +343,7 @@ msgstr "" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "" @@ -356,8 +356,8 @@ msgstr "" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -366,18 +366,18 @@ msgstr "" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "" @@ -390,7 +390,7 @@ msgid "parent" msgstr "" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "" @@ -426,7 +426,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3935 msgid "Must be a valid number" msgstr "" @@ -612,7 +612,7 @@ msgstr "" msgid "Chinese" msgstr "" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -662,9 +662,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "" @@ -752,7 +752,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "" @@ -772,7 +772,7 @@ msgstr "" msgid "Build order output rejected" msgstr "" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "" @@ -840,27 +840,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "" @@ -868,16 +868,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3827 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -890,8 +890,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -901,7 +901,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "" @@ -909,7 +909,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -926,17 +926,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "" @@ -958,9 +958,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3583 +#: part/models.py:3706 part/models.py:3801 part/models.py:4115 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -979,27 +979,27 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "" @@ -1017,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1068,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "" @@ -1107,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1140,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1151,48 +1151,48 @@ msgstr "" msgid "Project code for this build order" msgstr "" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1260 +#: build/models.py:1265 msgid "Build object" msgstr "" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1209,7 +1209,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1219,79 +1219,79 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "" -#: build/models.py:1275 +#: build/models.py:1280 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1449 +#: build/models.py:1454 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1544 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1565 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1566 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1346,7 +1346,7 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1355,22 +1355,22 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "" @@ -1401,10 +1401,10 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "" @@ -1697,11 +1697,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1737,9 +1737,9 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1779,7 +1779,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -1796,8 +1796,8 @@ msgstr "" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1897,7 +1897,7 @@ msgstr "" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "" @@ -1906,11 +1906,11 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 msgid "All lines have been fully allocated" msgstr "" @@ -2255,8 +2255,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3588 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -3268,7 +3268,7 @@ msgstr "" #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" @@ -3657,7 +3657,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3672,13 +3672,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3709,7 +3709,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "" @@ -3744,7 +3744,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3760,15 +3760,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3785,7 +3785,7 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3806,7 +3806,7 @@ msgstr "" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "" @@ -3819,8 +3819,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3839,8 +3839,8 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -3926,9 +3926,9 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "" @@ -4014,7 +4014,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4037,7 +4037,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4190,7 +4190,7 @@ msgstr "" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "" @@ -4272,7 +4272,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4284,7 +4284,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "" @@ -4334,7 +4334,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "" @@ -4358,7 +4358,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "" @@ -4372,8 +4372,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "" @@ -4394,8 +4394,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4413,7 +4413,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4421,12 +4421,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/return_order.js:278 +#: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4536,8 +4536,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4603,7 +4603,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4614,8 +4614,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4627,7 +4627,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "" @@ -4664,7 +4664,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4750,7 +4750,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4790,7 +4790,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5127,8 +5127,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5191,7 +5191,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5241,8 +5241,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5254,8 +5254,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5308,7 +5308,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5343,12 +5343,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3710 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3714 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5359,12 +5359,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5405,7 +5405,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5441,7 +5441,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5464,7 +5464,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3718 msgid "Part IPN" msgstr "" @@ -5516,7 +5516,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5524,7 +5524,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3659 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5539,7 +5539,7 @@ msgstr "" msgid "Default location for parts in this category" msgstr "" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5599,7 +5599,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3715 msgid "Part name" msgstr "" @@ -5623,8 +5623,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3658 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -5882,7 +5882,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6028,176 +6028,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3539 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3583 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3588 part/models.py:3664 part/models.py:3665 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3593 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3593 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3669 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3670 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3707 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3711 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3719 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3722 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3723 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3729 part/models.py:4107 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3848 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3849 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3947 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4095 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4135 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4135 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4153 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4157 msgid "Duplicate relationship already exists" msgstr "" @@ -6205,232 +6205,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6445,7 +6445,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6593,7 +6593,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -6959,7 +6959,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "" @@ -6992,7 +6992,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7060,7 +7060,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7371,91 +7371,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7476,8 +7476,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7489,8 +7489,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7498,13 +7498,13 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" @@ -7518,7 +7518,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7550,7 +7550,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7618,7 +7618,7 @@ msgstr "" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7626,23 +7626,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7671,7 +7671,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8048,44 +8048,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8108,17 +8108,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8127,12 +8127,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8239,7 +8239,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8276,7 +8276,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 msgid "stock item" msgstr "" @@ -8383,7 +8383,7 @@ msgid "New Location" msgstr "" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" @@ -8489,51 +8489,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -9494,7 +9494,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9855,7 +9855,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9875,25 +9875,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9925,7 +9925,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10094,7 +10094,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10140,17 +10140,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10163,7 +10163,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10172,12 +10172,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10209,9 +10209,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10223,7 +10223,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "" @@ -10231,78 +10231,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10669,11 +10669,11 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 msgid "No parts required for builds" msgstr "" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -10827,7 +10827,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11070,14 +11070,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11114,7 +11114,7 @@ msgid "No category" msgstr "" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11126,7 +11126,7 @@ msgstr "" msgid "No subcategories found" msgstr "" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11142,12 +11142,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11392,7 +11392,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11441,7 +11441,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11462,59 +11462,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11571,21 +11571,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11657,112 +11657,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11982,7 +11982,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "" @@ -11990,264 +11990,264 @@ msgstr "" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 msgid "stock items" msgstr "" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 msgid "Scan to location" msgstr "" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 msgid "Stock Actions" msgstr "" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 msgid "Load installed items" msgstr "" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 msgid "Stock item has been consumed by a build order" msgstr "" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 msgid "Stock Value" msgstr "" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 msgid "stock locations" msgstr "" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 msgid "No changes" msgstr "" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 msgid "Build order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 msgid "Sales Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 msgid "Select one or more stock items" msgstr "" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 msgid "Selected stock items" msgstr "" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 msgid "Change Stock Status" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index d81e0ac946..fd1c663f23 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -64,10 +64,10 @@ msgstr "Введите дату" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Заметки" @@ -251,7 +251,7 @@ msgstr "Вложения" msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Выберите файл для вложения" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Ссылка" @@ -282,9 +282,9 @@ msgstr "Комментарий" msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "Повторяющиеся имена не могут существов msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Название" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Название" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Ошибка сервера" msgid "An error has been logged by the server." msgstr "Сервер зарегистрировал ошибку." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Должно быть действительным номером" @@ -611,7 +611,7 @@ msgstr "Вьетнамский" msgid "Chinese" msgstr "Китайский" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "Выполняется" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Доставлено" @@ -839,27 +839,27 @@ msgstr "Перегрузка не может превысить 100%" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Указан неверный пароль" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Информация о системе" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "О программе InvenTree" @@ -867,16 +867,16 @@ msgstr "О программе InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Сборка должна быть отменена перед удалением" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "Расходники" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "Отслеживается" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "Выделено" @@ -908,7 +908,7 @@ msgstr "Порядок сборки" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Ссылка на заказ" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Отсылка" @@ -957,9 +957,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Расположение источника" @@ -1067,8 +1068,8 @@ msgstr "Код партии для этого вывода сборки" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Дата создания" @@ -1106,7 +1107,7 @@ msgstr "Пользователь, выпустивший этот заказ н #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Ответственный" @@ -1139,12 +1140,12 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" -msgstr "" +msgstr "Код проекта" #: build/models.py:310 msgid "Project code for this build order" @@ -1173,7 +1174,7 @@ msgstr "Вывод сборки не совпадает с порядком сб #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "Построить объект" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "Построить объект" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "Построить объект" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Количество должно быть 1 для сериализов msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Предметы на складе" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Исходный складской предмет" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Установить в" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Целевая дата" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Заказ покупателя" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Назначение" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "дней" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Шаблон" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Режим отладки" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" -msgstr "" +msgstr "Редактировать завершенные заказы на покупку" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "Показывать детали, на которые включены уведомления" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "Показывать детали, на которые включены уведомления, на главной странице" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "Показывать категории, на которые включены уведомления" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "Показывать категории, на которые включены уведомления, на главной странице" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Показывать последние детали" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "Показывать последние детали на главной странице" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "Показывать непроверенные BOMы" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "Показывать BOMы, ожидающие проверки, на главной странице" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "Показывать изменившиеся складские запасы" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "Показывать низкие складские запасы" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "Показывать закончившиеся детали" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "Показывать закончившиеся на складе единицы хранения на главной странице" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "Показывать требуемые детали" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "Показывать требуемые для сборки единицы хранения на главной странице" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "Показывать просрочку" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "Показывать залежалые" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "Показывать залежалые единицы хранения на главной странице" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "Показывать незавершённые сборки" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "Показывать незавершённые сборки на главной странице" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "Показывать просроченные сборки" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "Показывать просроченные сборки на главной странице" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" -msgstr "" +msgstr "Поиск заказов на продажу" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" -msgstr "" +msgstr "Поиск возвращенных заказов" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "Планирование деталей" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "Запасы деталей" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Цена" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "Активный" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "Изображение" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3559,7 +3569,7 @@ msgstr "" #: company/models.py:329 msgid "Select company" -msgstr "" +msgstr "Выберите компанию" #: company/models.py:332 msgid "Address title" @@ -3656,7 +3666,7 @@ msgstr "Выберите деталь" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Выберите производителя" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,21 +3769,21 @@ msgid "Select supplier" msgstr "Выберите поставщика" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "Код поставщика" #: company/models.py:728 msgid "Select manufacturer part" -msgstr "" +msgstr "Выберите производителя части" #: company/models.py:734 msgid "URL for external supplier part link" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3846,7 +3857,7 @@ msgstr "" #: templates/js/translated/table_filters.js:292 #: templates/js/translated/table_filters.js:510 msgid "Available" -msgstr "" +msgstr "Доступно" #: company/models.py:782 msgid "Quantity available from supplier" @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "Склад поставщика" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "Новый заказ на закупку" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "Параметры" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "Новый параметр" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "Создать единицу хранения" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "Новая единица хранения" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "Высота [мм]" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Фильтры" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "Общая стоимость" @@ -4420,12 +4431,12 @@ msgstr "Заказ на закупку" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4443,15 +4454,15 @@ msgstr "" #: order/models.py:210 msgid "Contact does not match selected company" -msgstr "" +msgstr "Контакт не соответствует выбранной компании" #: order/models.py:232 msgid "Order description (optional)" -msgstr "" +msgstr "Описание заказа (дополнительно)" #: order/models.py:237 msgid "Select project code for this order" -msgstr "" +msgstr "Выберите код проекта для этого заказа" #: order/models.py:240 order/models.py:1107 order/models.py:1467 msgid "Link to external page" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4578,15 +4589,15 @@ msgstr "" #: order/models.py:1131 msgid "Line item description (optional)" -msgstr "" +msgstr "Описание товара (необязательно)" #: order/models.py:1136 msgid "Context" -msgstr "" +msgstr "Контекст" #: order/models.py:1137 msgid "Additional context for this line" -msgstr "" +msgstr "Дополнительный контекст для этой строки" #: order/models.py:1146 msgid "Unit price" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4694,7 +4705,7 @@ msgstr "" #: order/models.py:1453 msgid "Shipment tracking information" -msgstr "" +msgstr "Информация об отслеживании доставки" #: order/models.py:1460 msgid "Invoice Number" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4779,7 +4790,7 @@ msgstr "" #: order/models.py:1930 msgid "Select item to return from customer" -msgstr "" +msgstr "Выберите товар возврата от клиента" #: order/models.py:1935 msgid "Received Date" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -4848,7 +4859,7 @@ msgstr "" #: order/serializers.py:494 order/serializers.py:613 order/serializers.py:1595 msgid "Select destination location for received items" -msgstr "" +msgstr "Выберите место назначения для полученных товаров" #: order/serializers.py:513 templates/js/translated/purchase_order.js:1115 msgid "Enter batch code for incoming stock items" @@ -5026,7 +5037,7 @@ msgstr "" #: order/templates/order/return_order_base.html:107 #: order/templates/order/sales_order_base.html:112 msgid "Order Description" -msgstr "" +msgstr "Описание заказа" #: order/templates/order/order_base.html:118 #: order/templates/order/return_order_base.html:114 @@ -5078,14 +5089,14 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:9 #: templates/patterns/wizard/match_fields.html:8 msgid "Missing selections for the following required columns" -msgstr "" +msgstr "Отсутствует выбор для следующих обязательных столбцов" #: order/templates/order/order_wizard/match_fields.html:20 #: part/templates/part/import_wizard/ajax_match_fields.html:20 #: part/templates/part/import_wizard/match_fields.html:20 #: templates/patterns/wizard/match_fields.html:19 msgid "Duplicate selections found, see below. Fix them then retry submitting." -msgstr "" +msgstr "Найдены дубликаты выделений, смотрите ниже. Исправьте их и попробуйте повторить отправку." #: order/templates/order/order_wizard/match_fields.html:29 #: order/templates/order/order_wizard/match_parts.html:21 @@ -5093,7 +5104,7 @@ msgstr "" #: part/templates/part/import_wizard/match_references.html:21 #: templates/patterns/wizard/match_fields.html:28 msgid "Submit Selections" -msgstr "" +msgstr "Отправить выбранные" #: order/templates/order/order_wizard/match_fields.html:35 #: part/templates/part/import_wizard/ajax_match_fields.html:28 @@ -5114,7 +5125,7 @@ msgstr "" #: part/templates/part/import_wizard/match_fields.html:60 #: templates/patterns/wizard/match_fields.html:59 msgid "Duplicate selection" -msgstr "" +msgstr "Дублировать выбранное" #: order/templates/order/order_wizard/match_fields.html:71 #: order/templates/order/order_wizard/match_parts.html:52 @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "Артикул" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "Наименование детали" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "Описание детали" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Версия" @@ -5404,11 +5416,11 @@ msgid "In Stock" msgstr "На складе" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" -msgstr "" +msgstr "В заказе" #: part/admin.py:63 part/templates/part/part_sidebar.html:27 msgid "Used In" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "Путь к категории" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "IPN" @@ -5503,7 +5515,7 @@ msgstr "" #: part/api.py:780 msgid "This option must be selected" -msgstr "" +msgstr "Необходимо выбрать эту опцию" #: part/bom.py:175 part/models.py:128 part/models.py:927 #: part/templates/part/category.html:115 part/templates/part/part_base.html:369 @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "Доступный запас" @@ -5523,7 +5535,7 @@ msgstr "Доступный запас" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Категория детали" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Наименование детали" @@ -5622,8 +5634,8 @@ msgstr "Описание детали (необязательно)" msgid "Part keywords to improve visibility in search results" msgstr "Ключевые слова для улучшения видимости в результатах поиска" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Шаблон параметра" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "Артикул или наименование детали" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "BOM Компонент" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "Для отслеживаемых деталей количество должно быть целым числом" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" -msgstr "" +msgstr "Выберите связанную часть" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "Валюта покупки этой единицы хранения" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" -msgstr "" +msgstr "Не выбран ни один элемент" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "Новая деталь" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Параметры детали" @@ -6741,7 +6754,7 @@ msgstr "" #: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 #: templates/js/translated/order.js:130 msgid "Select file format" -msgstr "" +msgstr "Выбрать формат файла" #: part/templates/part/part_app_base.html:12 msgid "Part List" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Действия со складом" @@ -6977,7 +6990,7 @@ msgstr "Протестировать шаблон" #: part/templates/part/part_thumb.html:11 msgid "Select from existing images" -msgstr "" +msgstr "Выбрать из существующих изображений" #: part/templates/part/prices.html:11 msgid "Pricing Overview" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "Файл шаблона отчёта" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Серийный номер" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "Тестовый отчет по единице хранения на складе" @@ -7561,8 +7582,8 @@ msgstr "Код места хранения" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "Место хранения" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -7664,7 +7685,7 @@ msgstr "" #: stock/models.py:119 stock/models.py:829 msgid "Select Owner" -msgstr "" +msgstr "Выберите владельца" #: stock/models.py:126 msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." @@ -7726,7 +7747,7 @@ msgstr "Базовая деталь" #: stock/models.py:685 msgid "Select a matching supplier part for this stock item" -msgstr "" +msgstr "Выберите соответствующего поставщика части для этого товара на складе" #: stock/models.py:695 msgid "Where is this stock item located?" @@ -7940,7 +7961,7 @@ msgstr "" #: stock/serializers.py:480 msgid "Select stock item to install" -msgstr "" +msgstr "Выберите товар на складе для установки" #: stock/serializers.py:485 stock/serializers.py:543 stock/serializers.py:624 #: stock/serializers.py:682 @@ -7973,11 +7994,11 @@ msgstr "" #: stock/serializers.py:663 msgid "Select stock items to change status" -msgstr "" +msgstr "Выберите товары на складе для изменения статуса" #: stock/serializers.py:670 msgid "No stock items selected" -msgstr "" +msgstr "Не выбрано ни одного товара на складе" #: stock/serializers.py:904 msgid "Part must be salable" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "Действия с местом хранения" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Редактировать место хранения" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "Удалить место хранения" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "Склад верхнего уровня" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "Ответственный за место хранения" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Места хранения" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "Создать новое место хранения" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Новое место хранения" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "BOM для проверки" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "Шаблон параметра детали" @@ -9115,7 +9140,7 @@ msgstr "Настройки темы" #: templates/InvenTree/settings/user_display.html:39 msgid "Select theme" -msgstr "" +msgstr "Выберите тему" #: templates/InvenTree/settings/user_display.html:50 msgid "Set Theme" @@ -9127,7 +9152,7 @@ msgstr "Настройки языка" #: templates/InvenTree/settings/user_display.html:67 msgid "Select language" -msgstr "" +msgstr "Выберите язык" #: templates/InvenTree/settings/user_display.html:83 #, python-format @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9577,7 +9602,7 @@ msgstr "Код ошибки" #: templates/js/translated/attachment.js:114 msgid "All selected attachments will be deleted" -msgstr "" +msgstr "Все выбранные вложения будут удалены" #: templates/js/translated/attachment.js:129 msgid "Delete Attachments" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "Элементы BOM не найдены" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "Операция просмотра не разрешена" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "Удалить" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "Заказов на закупку не найдено" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "Заказы на продажу не найдены" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "Подтвердите выделение запасов" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "Права доступа" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "Права доступа" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Вид" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Разрешение на просмотр элементов" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Разрешение на добавление элементов" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Разрешение на редактирование элементов" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Разрешение на удаление элементов" diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po index 570e15a23b..adc759d625 100644 --- a/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -64,10 +64,10 @@ msgstr "Vnesi datum" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Zapiski" @@ -251,7 +251,7 @@ msgstr "Priloga" msgid "Select file to attach" msgstr "Izberite prilogo" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Izberite prilogo" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Povezava" @@ -282,9 +282,9 @@ msgstr "Komentar" msgid "File comment" msgstr "Komentar datoteke" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Ime" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Ime" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Napaka strežnika" msgid "An error has been logged by the server." msgstr "Zaznana napaka na strežniku." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" @@ -611,7 +611,7 @@ msgstr "Vietnamščina" msgid "Chinese" msgstr "Kitajščina" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Poslano" @@ -839,27 +839,27 @@ msgstr "Prestarost ne sme presegati 100%" msgid "Invalid value for overage" msgstr "Neveljavna vrednost za prestarost" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Uredite informacije o uporabniku" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Nastavite geslo" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Polja z geslom se morajo ujemati" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Vnešeno nepravilno geslo" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Sistemske informacije" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "O InvenTree" @@ -867,16 +867,16 @@ msgstr "O InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "Nalog izgradnje" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Referenca naloga izgradnje" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referenca" @@ -957,9 +957,9 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Dobavnica na katero se navezuje ta izgradnja" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Lokacija vira" @@ -1067,8 +1068,8 @@ msgstr "Številka serije za to izgradnjo" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Datum ustvarjenja" @@ -1106,7 +1107,7 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Odgovoren" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Izgradnja se ne ujema s nalogom izdelave" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Količina za zalogo s serijsko številko mora biti 1" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index ce7171bab5..549d0e512f 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -64,10 +64,10 @@ msgstr "Ange datum" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Anteeckningar" @@ -251,7 +251,7 @@ msgstr "Bilaga" msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Välj fil att bifoga" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Länk" @@ -282,9 +282,9 @@ msgstr "Kommentar" msgid "File comment" msgstr "Fil kommentar" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Namn" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Namn" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "Serverfel" msgid "An error has been logged by the server." msgstr "Ett fel har loggats av servern." -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" @@ -611,7 +611,7 @@ msgstr "Vietnamesiska" msgid "Chinese" msgstr "Kinesiska" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Skickad" @@ -839,27 +839,27 @@ msgstr "Överskott får inte överstiga 100%" msgid "Invalid value for overage" msgstr "Ogiltigt värde för överskott" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Redigera användarinformation" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Ställ in lösenord" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Lösenorden måste matcha" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "Felaktigt lösenord angivet" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Systeminformation" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Om InvenTree" @@ -867,16 +867,16 @@ msgstr "Om InvenTree" msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "Byggorder" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Byggorderreferens" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referens" @@ -957,9 +957,9 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Försäljningsorder till vilken detta bygge allokeras" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Källa Plats" @@ -1067,8 +1068,8 @@ msgstr "Batch-kod för denna byggutdata" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Skapad" @@ -1106,7 +1107,7 @@ msgstr "Användare som utfärdade denna byggorder" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Ansvarig" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Byggutgång matchar inte bygg order" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Antal måste vara 1 för serialiserat lager" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Installera till" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Destination lagervara" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Måldatum" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Försäljningsorder" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Mål" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "Interna priser" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Debugläge" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Sidstorlek" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "Aktivera testrapporter" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "Sök efter artiklar" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "Sök efter leverantörsartikel" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "Sök efter tillverkarartikel" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "Välj artiklar" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 2755452836..68ddfa3ab5 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -64,10 +64,10 @@ msgstr "ป้อนวันที่" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "หมายเหตุ" @@ -251,7 +251,7 @@ msgstr "ไฟล์แนบ" msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "ลิงก์" @@ -282,9 +282,9 @@ msgstr "ความคิดเห็น" msgid "File comment" msgstr "ความเห็นของไฟล์" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "ชื่อ" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "ชื่อ" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" @@ -611,7 +611,7 @@ msgstr "ภาษาเวียดนาม" msgid "Chinese" msgstr "ภาษาจีน" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "จัดส่งแล้ว" @@ -839,27 +839,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "แก้ไขข้อมูลสมาชิก" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "ตั้งรหัสผ่าน" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "รหัสผ่านต้องตรงกัน" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "ป้อนรหัสผ่านไม่ถูกต้อง" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "ข้อมูลระบบ" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "เกี่ยวกับ Inventree" @@ -867,16 +867,16 @@ msgstr "เกี่ยวกับ Inventree" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "" @@ -957,9 +957,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1067,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "" @@ -1106,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index f79b5843c9..a187ac516a 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -64,10 +64,10 @@ msgstr "Tarih giriniz" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Notlar" @@ -251,7 +251,7 @@ msgstr "Ek" msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Eklenecek dosyayı seç" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Bağlantı" @@ -282,9 +282,9 @@ msgstr "Yorum" msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "Adı" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "Adı" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" @@ -611,7 +611,7 @@ msgstr "Vietnamca" msgid "Chinese" msgstr "Çince" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "Sevk edildi" @@ -839,27 +839,27 @@ msgstr "Fazlalık %100'ü geçmemelidir" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Kullanıcı Bilgisini Düzenle" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Şifre Belirle" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Parola alanları eşleşmelidir" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Sistem Bilgisi" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "InvenTree Hakkında" @@ -867,16 +867,16 @@ msgstr "InvenTree Hakkında" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "Yapım İşi Emri" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "Yapım İşi Emri Referansı" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Referans" @@ -957,9 +957,9 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "Bu yapım işinin tahsis edildiği satış emri" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "Kaynak Konum" @@ -1067,8 +1068,8 @@ msgstr "Yapım işi çıktısı için sıra numarası" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Oluşturulma tarihi" @@ -1106,7 +1107,7 @@ msgstr "Bu yapım işi emrini veren kullanıcı" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "Sorumlu" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "Seri numaralı stok için miktar bir olmalı" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "Hedef stok kalemi" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1778,7 +1780,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:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "Hedef" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "günler" @@ -2254,8 +2256,8 @@ msgstr "Kategori Paremetre Sablonu Kopyala" msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "Şablon" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "Fiyat" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "Aktif" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "Resim" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "Parça seçin" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "Üretici seçin" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "ÜPN" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "Tedarikçi seçin" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "Tedarikçi Stoku" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "Yeni Satın Alma Emri" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "Tedarikçi Parça Stoku" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "Etiket" msgid "Label template file" msgstr "Etiket şablon listesi" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "Etkin" @@ -4357,7 +4368,7 @@ msgstr "Yükseklik [mm]" msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "Filtreler" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "Toplam Maliyet" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "DPN" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "Revizyon" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "Parça adı" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 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:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:3870 +#: part/models.py:3871 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:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "Stok işlemleri" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "Stok Yok" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Düşük Stok" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "Şablon için geçerli bir nesne sağlanmadı" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "Rapor şablon dosyası" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "Rapor şablon tanımı" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "Revizyon numarası raporla (otomatik artış)" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "Rapor şablonu etkin" -#: report/models.py:294 +#: report/models.py:299 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:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "Seri Numara" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "Stok ayarlama işlemleri" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "Stoku seri numarala" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "Konum ayarlanmadı" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "Konum işlemleri" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "Konumu düzenle" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "Konumu sil" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 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:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "Yeni stok konumu oluştur" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "Yeni Konum" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "Yapım İşi Emirleri için Gerekli" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "Parça Parametre Şablonu" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "Gerekli Parça" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "Parçaları Seçin" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "Ürünler" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "Stok tahsisini onayla" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "Silme İşlemini Onayla" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "Seri Numaralarını Tahsis Et" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "Yetkiler" msgid "Important dates" msgstr "Önemli tarihler" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "İzinleri ayarla" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "Grup" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "Görünüm" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "Parçayı görüntüleme izni" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "Parça ekleme izni" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "Değiştir" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "Parçaları düzenleme izni" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "Parçaları silme izni" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index a5a2fb21d4..900ca8971d 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -64,10 +64,10 @@ msgstr "Nhập ngày" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "Ghi chú" @@ -251,7 +251,7 @@ msgstr "Đính kèm" msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "Chọn file đính kèm" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "Liên kết" @@ -282,9 +282,9 @@ msgstr "Bình luận" msgid "File comment" msgstr "Bình luận tệp tin" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "" msgid "An error has been logged by the server." msgstr "" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "" @@ -611,7 +611,7 @@ msgstr "Tiếng Việt" msgid "Chinese" msgstr "Tiếng Trung" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "" @@ -839,27 +839,27 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "Sửa thông tin người dùng" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "Đặt Mật khẩu" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "Mật khẩu phải trùng khớp" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "Thông tin hệ thống" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "Giới thiệu" @@ -867,16 +867,16 @@ msgstr "Giới thiệu" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -908,7 +908,7 @@ msgstr "Tạo đơn hàng" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "Tham chiếu" @@ -957,9 +957,9 @@ msgstr "" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "" @@ -1067,8 +1068,8 @@ msgstr "" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "Ngày tạo" @@ -1106,7 +1107,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "" @@ -1139,8 +1140,8 @@ msgstr "" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "" @@ -1736,8 +1738,8 @@ msgstr "" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "" @@ -2254,8 +2256,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "Hiển thị nguyên liệu mới nhất" -#: common/models.py:1773 +#: common/models.py:1780 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:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3838,7 +3849,7 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "Thông số" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "" @@ -4278,9 +4289,9 @@ msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "" msgid "Label template file" msgstr "" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "" @@ -4357,7 +4368,7 @@ msgstr "" msgid "Label height, specified in mm" msgstr "" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "Đơn hàng" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "" @@ -5523,7 +5535,7 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "Thông số phụ tùng" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "Hàng còn ít" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "Kho hàng" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "" msgid "Import Part" msgstr "" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "" @@ -12798,35 +12823,35 @@ msgstr "" msgid "Important dates" msgstr "" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 671995347d..6343acb225 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: 2023-07-02 23:57+0000\n" -"PO-Revision-Date: 2023-07-03 21:44\n" +"POT-Creation-Date: 2023-07-05 01:12+0000\n" +"PO-Revision-Date: 2023-07-05 21:44\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -64,10 +64,10 @@ msgstr "输入日期" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 #: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "备注" @@ -251,7 +251,7 @@ msgstr "附件" msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:493 common/models.py:2681 company/models.py:128 +#: InvenTree/models.py:493 common/models.py:2688 company/models.py:128 #: company/models.py:381 company/models.py:455 company/models.py:733 #: order/models.py:240 order/models.py:1106 order/models.py:1466 #: part/admin.py:39 part/models.py:905 @@ -260,11 +260,11 @@ msgstr "选择附件" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "链接" @@ -282,9 +282,9 @@ msgstr "注释" msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2140 -#: common/models.py:2141 common/models.py:2354 common/models.py:2355 -#: common/models.py:2611 common/models.py:2612 part/models.py:3050 +#: InvenTree/models.py:503 InvenTree/models.py:504 common/models.py:2147 +#: common/models.py:2148 common/models.py:2361 common/models.py:2362 +#: common/models.py:2618 common/models.py:2619 part/models.py:3050 #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 @@ -329,9 +329,9 @@ msgstr "同一个主体下不能有相同名字" msgid "Invalid choice" msgstr "选择无效" -#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 +#: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2347 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:159 +#: part/models.py:3437 plugin/models.py:42 report/models.py:164 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -355,10 +355,10 @@ msgstr "名称" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:172 -#: report/models.py:575 report/models.py:619 +#: part/templates/part/part_scheduling.html:12 report/models.py:177 +#: report/models.py:580 report/models.py:624 #: report/templates/report/inventree_build_order_base.html:117 -#: stock/admin.py:41 stock/templates/stock/location.html:123 +#: stock/admin.py:41 stock/templates/stock/location.html:124 #: templates/InvenTree/settings/notifications.html:19 #: templates/InvenTree/settings/plugin_settings.html:27 #: templates/InvenTree/settings/settings_staff_js.html:75 @@ -371,10 +371,10 @@ msgstr "名称" #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 #: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 #: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" @@ -425,7 +425,7 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3945 msgid "Must be a valid number" msgstr "必须是有效数字" @@ -611,7 +611,7 @@ msgstr "越南语" msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -661,9 +661,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "已发货" @@ -839,27 +839,27 @@ msgstr "备损不能超过 100%" msgid "Invalid value for overage" msgstr "无效的备损值" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "编辑用户信息" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "设置密码" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "密码错误" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "系统信息" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "关于 InventTree" @@ -867,16 +867,16 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3837 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3831 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -889,8 +889,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "已分配" @@ -908,7 +908,7 @@ msgstr "生产订单" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -925,17 +925,17 @@ msgstr "相关生产订单" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3846 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "引用" @@ -957,9 +957,9 @@ msgstr "此次生产匹配的订单" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3593 +#: part/models.py:3716 part/models.py:3811 part/models.py:4125 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -968,6 +968,7 @@ msgstr "此次生产匹配的订单" #: report/templates/report/inventree_build_order_base.html:109 #: report/templates/report/inventree_po_report_base.html:27 #: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 #: report/templates/report/inventree_so_report_base.html:27 #: stock/serializers.py:205 stock/serializers.py:576 #: templates/InvenTree/search.html:82 @@ -978,7 +979,7 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 @@ -987,14 +988,14 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 #: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 #: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 @@ -1016,7 +1017,7 @@ msgstr "此次生产匹配的销售订单" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "来源地点" @@ -1067,8 +1068,8 @@ msgstr "此生产产出的批量代码" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "创建日期" @@ -1106,7 +1107,7 @@ msgstr "发布此生产订单的用户" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "责任人" @@ -1139,8 +1140,8 @@ msgstr "此构建订单的优先级" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 msgid "Project Code" @@ -1173,7 +1174,7 @@ msgstr "生产产出与订单不匹配" #: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" @@ -1186,17 +1187,18 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1279 build/models.py:1561 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 -#: build/templates/build/detail.html:34 common/models.py:2162 +#: build/templates/build/detail.html:34 common/models.py:2169 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3827 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_base.html:113 #: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 #: report/templates/report/inventree_so_report_base.html:29 #: report/templates/report/inventree_test_report_base.html:90 #: report/templates/report/inventree_test_report_base.html:170 @@ -1208,7 +1210,7 @@ msgstr "" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1218,14 +1220,14 @@ msgstr "" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 #: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 #: templates/js/translated/stock.js:2984 @@ -1261,36 +1263,36 @@ msgstr "序列化库存的数量必须是 1" msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1548 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 #: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1549 +#: build/models.py:1527 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1562 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1570 +#: build/models.py:1548 msgid "Install into" msgstr "安装到" -#: build/models.py:1571 +#: build/models.py:1549 msgid "Destination stock item" msgstr "目标库存项" @@ -1354,19 +1356,19 @@ msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 #: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 #: templates/js/translated/stock.js:2753 @@ -1400,8 +1402,8 @@ msgstr "已完成生产产出的仓储地点" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 #: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 #: templates/js/translated/stock.js:3000 msgid "Status" @@ -1696,11 +1698,11 @@ msgstr "库存尚未被完全分配到此构建订单" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "预计日期" @@ -1736,8 +1738,8 @@ msgstr "已完成输出" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 #: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "销售订单" @@ -1778,7 +1780,7 @@ msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "目的地" @@ -2121,8 +2123,8 @@ msgid "How often to check for updates (set to zero to disable)" msgstr "" #: common/models.py:1028 common/models.py:1046 common/models.py:1053 -#: common/models.py:1064 common/models.py:1075 common/models.py:1299 -#: common/models.py:1323 common/models.py:1446 common/models.py:1695 +#: common/models.py:1064 common/models.py:1075 common/models.py:1306 +#: common/models.py:1330 common/models.py:1453 common/models.py:1702 msgid "days" msgstr "天" @@ -2254,8 +2256,8 @@ msgstr "复制类别参数模板" msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:165 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3598 +#: report/models.py:170 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "模板" @@ -2372,922 +2374,930 @@ msgid "Part category default icon (empty means no icon)" msgstr "零件类别默认图标(留空表示没有图标)" #: common/models.py:1253 -msgid "Minimum Pricing Decimal Places" +msgid "Enforce Parameter Units" msgstr "" #: common/models.py:1254 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1260 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1261 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1264 +#: common/models.py:1271 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/models.py:1265 +#: common/models.py:1272 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/models.py:1275 +#: common/models.py:1282 msgid "Use Supplier Pricing" msgstr "使用供应商价格" -#: common/models.py:1276 +#: common/models.py:1283 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/models.py:1282 +#: common/models.py:1289 msgid "Purchase History Override" msgstr "覆盖购买记录" -#: common/models.py:1283 +#: common/models.py:1290 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/models.py:1289 +#: common/models.py:1296 msgid "Use Stock Item Pricing" msgstr "" -#: common/models.py:1290 +#: common/models.py:1297 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/models.py:1296 +#: common/models.py:1303 msgid "Stock Item Pricing Age" msgstr "" -#: common/models.py:1297 +#: common/models.py:1304 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/models.py:1307 +#: common/models.py:1314 msgid "Use Variant Pricing" msgstr "" -#: common/models.py:1308 +#: common/models.py:1315 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/models.py:1314 +#: common/models.py:1321 msgid "Active Variants Only" msgstr "" -#: common/models.py:1315 +#: common/models.py:1322 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/models.py:1321 +#: common/models.py:1328 msgid "Pricing Rebuild Interval" msgstr "" -#: common/models.py:1322 +#: common/models.py:1329 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/models.py:1332 +#: common/models.py:1339 msgid "Internal Prices" msgstr "内部价格" -#: common/models.py:1333 +#: common/models.py:1340 msgid "Enable internal prices for parts" msgstr "启用内部商品价格" -#: common/models.py:1339 +#: common/models.py:1346 msgid "Internal Price Override" msgstr "覆盖内部价格" -#: common/models.py:1340 +#: common/models.py:1347 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/models.py:1346 +#: common/models.py:1353 msgid "Enable label printing" msgstr "启用标签打印功能" -#: common/models.py:1347 +#: common/models.py:1354 msgid "Enable label printing from the web interface" msgstr "" -#: common/models.py:1353 +#: common/models.py:1360 msgid "Label Image DPI" msgstr "标签图像 DPI" -#: common/models.py:1354 +#: common/models.py:1361 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/models.py:1363 +#: common/models.py:1370 msgid "Enable Reports" msgstr "启用报告" -#: common/models.py:1364 +#: common/models.py:1371 msgid "Enable generation of reports" msgstr "启用报告生成" -#: common/models.py:1370 templates/stats.html:25 +#: common/models.py:1377 templates/stats.html:25 msgid "Debug Mode" msgstr "调试模式" -#: common/models.py:1371 +#: common/models.py:1378 msgid "Generate reports in debug mode (HTML output)" msgstr "在调试模式生成报告(HTML输出)" -#: common/models.py:1377 +#: common/models.py:1384 msgid "Page Size" msgstr "页面大小" -#: common/models.py:1378 +#: common/models.py:1385 msgid "Default page size for PDF reports" msgstr "PDF 报表默认页面大小" -#: common/models.py:1388 +#: common/models.py:1395 msgid "Enable Test Reports" msgstr "启用测试报告" -#: common/models.py:1389 +#: common/models.py:1396 msgid "Enable generation of test reports" msgstr "启用生成测试报表" -#: common/models.py:1395 +#: common/models.py:1402 msgid "Attach Test Reports" msgstr "添加测试报告" -#: common/models.py:1396 +#: common/models.py:1403 msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" msgstr "" -#: common/models.py:1402 +#: common/models.py:1409 msgid "Globally Unique Serials" msgstr "全局唯一序列号" -#: common/models.py:1403 +#: common/models.py:1410 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/models.py:1409 +#: common/models.py:1416 msgid "Autofill Serial Numbers" msgstr "自动填充序列号" -#: common/models.py:1410 +#: common/models.py:1417 msgid "Autofill serial numbers in forms" msgstr "以表格形式自动填写序列号" -#: common/models.py:1416 +#: common/models.py:1423 msgid "Delete Depleted Stock" msgstr "删除已耗尽的库存" -#: common/models.py:1417 +#: common/models.py:1424 msgid "Determines default behaviour when a stock item is depleted" msgstr "" -#: common/models.py:1423 +#: common/models.py:1430 msgid "Batch Code Template" msgstr "" -#: common/models.py:1424 +#: common/models.py:1431 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/models.py:1429 +#: common/models.py:1436 msgid "Stock Expiry" msgstr "库存到期" -#: common/models.py:1430 +#: common/models.py:1437 msgid "Enable stock expiry functionality" msgstr "启用库存到期功能" -#: common/models.py:1436 +#: common/models.py:1443 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/models.py:1437 +#: common/models.py:1444 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/models.py:1443 +#: common/models.py:1450 msgid "Stock Stale Time" msgstr "" -#: common/models.py:1444 +#: common/models.py:1451 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:1451 +#: common/models.py:1458 msgid "Build Expired Stock" msgstr "" -#: common/models.py:1452 +#: common/models.py:1459 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:1458 +#: common/models.py:1465 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/models.py:1459 +#: common/models.py:1466 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:1465 +#: common/models.py:1472 msgid "Stock Location Default Icon" msgstr "" -#: common/models.py:1466 +#: common/models.py:1473 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/models.py:1471 +#: common/models.py:1478 msgid "Show Installed Stock Items" msgstr "" -#: common/models.py:1472 +#: common/models.py:1479 msgid "Display installed stock items in stock tables" msgstr "" -#: common/models.py:1478 +#: common/models.py:1485 msgid "Build Order Reference Pattern" msgstr "" -#: common/models.py:1479 +#: common/models.py:1486 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/models.py:1485 +#: common/models.py:1492 msgid "Enable Return Orders" msgstr "" -#: common/models.py:1486 +#: common/models.py:1493 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/models.py:1492 +#: common/models.py:1499 msgid "Return Order Reference Pattern" msgstr "" -#: common/models.py:1493 +#: common/models.py:1500 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/models.py:1499 +#: common/models.py:1506 msgid "Edit Completed Return Orders" msgstr "" -#: common/models.py:1500 +#: common/models.py:1507 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/models.py:1506 +#: common/models.py:1513 msgid "Sales Order Reference Pattern" msgstr "" -#: common/models.py:1507 +#: common/models.py:1514 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/models.py:1513 +#: common/models.py:1520 msgid "Sales Order Default Shipment" msgstr "" -#: common/models.py:1514 +#: common/models.py:1521 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/models.py:1520 +#: common/models.py:1527 msgid "Edit Completed Sales Orders" msgstr "" -#: common/models.py:1521 +#: common/models.py:1528 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/models.py:1527 +#: common/models.py:1534 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/models.py:1528 +#: common/models.py:1535 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/models.py:1534 +#: common/models.py:1541 msgid "Edit Completed Purchase Orders" msgstr "编辑已完成的采购订单" -#: common/models.py:1535 +#: common/models.py:1542 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/models.py:1542 +#: common/models.py:1549 msgid "Enable password forgot" msgstr "启用忘记密码" -#: common/models.py:1543 +#: common/models.py:1550 msgid "Enable password forgot function on the login pages" msgstr "在登录页面启用忘记密码功能" -#: common/models.py:1549 +#: common/models.py:1556 msgid "Enable registration" msgstr "启用注册" -#: common/models.py:1550 +#: common/models.py:1557 msgid "Enable self-registration for users on the login pages" msgstr "在登录页面启用注册功能" -#: common/models.py:1556 +#: common/models.py:1563 msgid "Enable SSO" msgstr "启用 SSO" -#: common/models.py:1557 +#: common/models.py:1564 msgid "Enable SSO on the login pages" msgstr "在登录页面启用 SSO" -#: common/models.py:1563 +#: common/models.py:1570 msgid "Enable SSO registration" msgstr "启用 SSO 注册" -#: common/models.py:1564 +#: common/models.py:1571 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/models.py:1570 +#: common/models.py:1577 msgid "Email required" msgstr "需要邮箱" -#: common/models.py:1571 +#: common/models.py:1578 msgid "Require user to supply mail on signup" msgstr "" -#: common/models.py:1577 +#: common/models.py:1584 msgid "Auto-fill SSO users" msgstr "自动填充 SSO 用户" -#: common/models.py:1578 +#: common/models.py:1585 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/models.py:1584 +#: common/models.py:1591 msgid "Mail twice" msgstr "" -#: common/models.py:1585 +#: common/models.py:1592 msgid "On signup ask users twice for their mail" msgstr "" -#: common/models.py:1591 +#: common/models.py:1598 msgid "Password twice" msgstr "" -#: common/models.py:1592 +#: common/models.py:1599 msgid "On signup ask users twice for their password" msgstr "当注册时请用户两次输入密码" -#: common/models.py:1598 +#: common/models.py:1605 msgid "Allowed domains" msgstr "" -#: common/models.py:1599 +#: common/models.py:1606 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/models.py:1605 +#: common/models.py:1612 msgid "Group on signup" msgstr "" -#: common/models.py:1606 +#: common/models.py:1613 msgid "Group to which new users are assigned on registration" msgstr "" -#: common/models.py:1612 +#: common/models.py:1619 msgid "Enforce MFA" msgstr "强制启用 MFA" -#: common/models.py:1613 +#: common/models.py:1620 msgid "Users must use multifactor security." msgstr "" -#: common/models.py:1619 +#: common/models.py:1626 msgid "Check plugins on startup" msgstr "启动时检查插件" -#: common/models.py:1620 +#: common/models.py:1627 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/models.py:1628 +#: common/models.py:1635 msgid "Enable URL integration" msgstr "启用 URL 集成" -#: common/models.py:1629 +#: common/models.py:1636 msgid "Enable plugins to add URL routes" msgstr "" -#: common/models.py:1636 +#: common/models.py:1643 msgid "Enable navigation integration" msgstr "" -#: common/models.py:1637 +#: common/models.py:1644 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/models.py:1644 +#: common/models.py:1651 msgid "Enable app integration" msgstr "启用应用集成" -#: common/models.py:1645 +#: common/models.py:1652 msgid "Enable plugins to add apps" msgstr "" -#: common/models.py:1652 +#: common/models.py:1659 msgid "Enable schedule integration" msgstr "" -#: common/models.py:1653 +#: common/models.py:1660 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/models.py:1660 +#: common/models.py:1667 msgid "Enable event integration" msgstr "" -#: common/models.py:1661 +#: common/models.py:1668 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/models.py:1668 +#: common/models.py:1675 msgid "Enable project codes" msgstr "" -#: common/models.py:1669 +#: common/models.py:1676 msgid "Enable project codes for tracking projects" msgstr "" -#: common/models.py:1675 +#: common/models.py:1682 msgid "Stocktake Functionality" msgstr "" -#: common/models.py:1676 +#: common/models.py:1683 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "" -#: common/models.py:1682 +#: common/models.py:1689 msgid "Automatic Stocktake Period" msgstr "" -#: common/models.py:1683 +#: common/models.py:1690 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/models.py:1692 +#: common/models.py:1699 msgid "Report Deletion Interval" msgstr "" -#: common/models.py:1693 +#: common/models.py:1700 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/models.py:1710 common/models.py:2133 +#: common/models.py:1717 common/models.py:2140 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:1729 +#: common/models.py:1736 msgid "No Printer (Export to PDF)" msgstr "" -#: common/models.py:1751 +#: common/models.py:1758 msgid "Hide inactive parts" msgstr "" -#: common/models.py:1752 +#: common/models.py:1759 msgid "Hide inactive parts in results displayed on the homepage" msgstr "" -#: common/models.py:1758 +#: common/models.py:1765 msgid "Show subscribed parts" msgstr "查看订阅中的部件" -#: common/models.py:1759 +#: common/models.py:1766 msgid "Show subscribed parts on the homepage" msgstr "在主页上显示订阅中的部件" -#: common/models.py:1765 +#: common/models.py:1772 msgid "Show subscribed categories" msgstr "查看订阅中的类别" -#: common/models.py:1766 +#: common/models.py:1773 msgid "Show subscribed part categories on the homepage" msgstr "在主页上显示订阅中的部件类别" -#: common/models.py:1772 +#: common/models.py:1779 msgid "Show latest parts" msgstr "显示最近商品" -#: common/models.py:1773 +#: common/models.py:1780 msgid "Show latest parts on the homepage" msgstr "在主页上显示最近商品" -#: common/models.py:1779 +#: common/models.py:1786 msgid "Show unvalidated BOMs" msgstr "显示未验证的物料清单" -#: common/models.py:1780 +#: common/models.py:1787 msgid "Show BOMs that await validation on the homepage" msgstr "在主页上显示待验证的物料清单" -#: common/models.py:1786 +#: common/models.py:1793 msgid "Show recent stock changes" msgstr "显示最近的库存变化" -#: common/models.py:1787 +#: common/models.py:1794 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:1793 +#: common/models.py:1800 msgid "Show low stock" msgstr "显示低库存" -#: common/models.py:1794 +#: common/models.py:1801 msgid "Show low stock items on the homepage" msgstr "在主页上显示低库存的项目" -#: common/models.py:1800 +#: common/models.py:1807 msgid "Show depleted stock" msgstr "" -#: common/models.py:1801 +#: common/models.py:1808 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:1807 +#: common/models.py:1814 msgid "Show needed stock" msgstr "" -#: common/models.py:1808 +#: common/models.py:1815 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:1814 +#: common/models.py:1821 msgid "Show expired stock" msgstr "显示过期库存" -#: common/models.py:1815 +#: common/models.py:1822 msgid "Show expired stock items on the homepage" msgstr "在主页上显示过期的库存项目" -#: common/models.py:1821 +#: common/models.py:1828 msgid "Show stale stock" msgstr "" -#: common/models.py:1822 +#: common/models.py:1829 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:1828 +#: common/models.py:1835 msgid "Show pending builds" msgstr "" -#: common/models.py:1829 +#: common/models.py:1836 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:1835 +#: common/models.py:1842 msgid "Show overdue builds" msgstr "显示逾期生产" -#: common/models.py:1836 +#: common/models.py:1843 msgid "Show overdue builds on the homepage" msgstr "在主页上显示逾期的生产" -#: common/models.py:1842 +#: common/models.py:1849 msgid "Show outstanding POs" msgstr "" -#: common/models.py:1843 +#: common/models.py:1850 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:1849 +#: common/models.py:1856 msgid "Show overdue POs" msgstr "" -#: common/models.py:1850 +#: common/models.py:1857 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:1856 +#: common/models.py:1863 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:1857 +#: common/models.py:1864 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:1863 +#: common/models.py:1870 msgid "Show overdue SOs" msgstr "" -#: common/models.py:1864 +#: common/models.py:1871 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:1870 +#: common/models.py:1877 msgid "Show pending SO shipments" msgstr "" -#: common/models.py:1871 +#: common/models.py:1878 msgid "Show pending SO shipments on the homepage" msgstr "" -#: common/models.py:1877 +#: common/models.py:1884 msgid "Show News" msgstr "" -#: common/models.py:1878 +#: common/models.py:1885 msgid "Show news on the homepage" msgstr "" -#: common/models.py:1884 +#: common/models.py:1891 msgid "Inline label display" msgstr "内嵌标签显示" -#: common/models.py:1885 +#: common/models.py:1892 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: common/models.py:1891 +#: common/models.py:1898 msgid "Default label printer" msgstr "" -#: common/models.py:1892 +#: common/models.py:1899 msgid "Configure which label printer should be selected by default" msgstr "" -#: common/models.py:1898 +#: common/models.py:1905 msgid "Inline report display" msgstr "" -#: common/models.py:1899 +#: common/models.py:1906 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: common/models.py:1905 +#: common/models.py:1912 msgid "Search Parts" msgstr "搜索部件" -#: common/models.py:1906 +#: common/models.py:1913 msgid "Display parts in search preview window" msgstr "" -#: common/models.py:1912 +#: common/models.py:1919 msgid "Search Supplier Parts" msgstr "搜索供应商部件" -#: common/models.py:1913 +#: common/models.py:1920 msgid "Display supplier parts in search preview window" msgstr "" -#: common/models.py:1919 +#: common/models.py:1926 msgid "Search Manufacturer Parts" msgstr "搜索制造商部件" -#: common/models.py:1920 +#: common/models.py:1927 msgid "Display manufacturer parts in search preview window" msgstr "在搜索预览窗口中显示制造商部件" -#: common/models.py:1926 +#: common/models.py:1933 msgid "Hide Inactive Parts" msgstr "" -#: common/models.py:1927 +#: common/models.py:1934 msgid "Excluded inactive parts from search preview window" msgstr "" -#: common/models.py:1933 +#: common/models.py:1940 msgid "Search Categories" msgstr "搜索分类" -#: common/models.py:1934 +#: common/models.py:1941 msgid "Display part categories in search preview window" msgstr "在搜索预览窗口中显示部件类别" -#: common/models.py:1940 +#: common/models.py:1947 msgid "Search Stock" msgstr "搜索库存" -#: common/models.py:1941 +#: common/models.py:1948 msgid "Display stock items in search preview window" msgstr "在搜索预览窗口中显示库存项目" -#: common/models.py:1947 +#: common/models.py:1954 msgid "Hide Unavailable Stock Items" msgstr "隐藏不可用的库存项目" -#: common/models.py:1948 +#: common/models.py:1955 msgid "Exclude stock items which are not available from the search preview window" msgstr "在搜索预览窗口中排除不可用的库存项目" -#: common/models.py:1954 +#: common/models.py:1961 msgid "Search Locations" msgstr "搜索位置" -#: common/models.py:1955 +#: common/models.py:1962 msgid "Display stock locations in search preview window" msgstr "在搜索预览窗口中显示库存位置" -#: common/models.py:1961 +#: common/models.py:1968 msgid "Search Companies" msgstr "搜索公司" -#: common/models.py:1962 +#: common/models.py:1969 msgid "Display companies in search preview window" msgstr "在搜索预览窗口中显示公司" -#: common/models.py:1968 +#: common/models.py:1975 msgid "Search Build Orders" msgstr "" -#: common/models.py:1969 +#: common/models.py:1976 msgid "Display build orders in search preview window" msgstr "" -#: common/models.py:1975 +#: common/models.py:1982 msgid "Search Purchase Orders" msgstr "搜索采购订单" -#: common/models.py:1976 +#: common/models.py:1983 msgid "Display purchase orders in search preview window" msgstr "" -#: common/models.py:1982 +#: common/models.py:1989 msgid "Exclude Inactive Purchase Orders" msgstr "排除不活动的采购订单" -#: common/models.py:1983 +#: common/models.py:1990 msgid "Exclude inactive purchase orders from search preview window" msgstr "" -#: common/models.py:1989 +#: common/models.py:1996 msgid "Search Sales Orders" msgstr "" -#: common/models.py:1990 +#: common/models.py:1997 msgid "Display sales orders in search preview window" msgstr "" -#: common/models.py:1996 +#: common/models.py:2003 msgid "Exclude Inactive Sales Orders" msgstr "" -#: common/models.py:1997 +#: common/models.py:2004 msgid "Exclude inactive sales orders from search preview window" msgstr "" -#: common/models.py:2003 +#: common/models.py:2010 msgid "Search Return Orders" msgstr "" -#: common/models.py:2004 +#: common/models.py:2011 msgid "Display return orders in search preview window" msgstr "" -#: common/models.py:2010 +#: common/models.py:2017 msgid "Exclude Inactive Return Orders" msgstr "" -#: common/models.py:2011 +#: common/models.py:2018 msgid "Exclude inactive return orders from search preview window" msgstr "" -#: common/models.py:2017 +#: common/models.py:2024 msgid "Search Preview Results" msgstr "搜索预览结果" -#: common/models.py:2018 +#: common/models.py:2025 msgid "Number of results to show in each section of the search preview window" msgstr "" -#: common/models.py:2024 +#: common/models.py:2031 msgid "Regex Search" msgstr "" -#: common/models.py:2025 +#: common/models.py:2032 msgid "Enable regular expressions in search queries" msgstr "" -#: common/models.py:2031 +#: common/models.py:2038 msgid "Whole Word Search" msgstr "" -#: common/models.py:2032 +#: common/models.py:2039 msgid "Search queries return results for whole word matches" msgstr "" -#: common/models.py:2038 +#: common/models.py:2045 msgid "Show Quantity in Forms" msgstr "在表格中显示数量" -#: common/models.py:2039 +#: common/models.py:2046 msgid "Display available part quantity in some forms" msgstr "在某些表格中显示可用的商品数量" -#: common/models.py:2045 +#: common/models.py:2052 msgid "Escape Key Closes Forms" msgstr "" -#: common/models.py:2046 +#: common/models.py:2053 msgid "Use the escape key to close modal forms" msgstr "" -#: common/models.py:2052 +#: common/models.py:2059 msgid "Fixed Navbar" msgstr "固定导航栏" -#: common/models.py:2053 +#: common/models.py:2060 msgid "The navbar position is fixed to the top of the screen" msgstr "" -#: common/models.py:2059 +#: common/models.py:2066 msgid "Date Format" msgstr "日期格式" -#: common/models.py:2060 +#: common/models.py:2067 msgid "Preferred format for displaying dates" msgstr "" -#: common/models.py:2074 part/templates/part/detail.html:41 +#: common/models.py:2081 part/templates/part/detail.html:41 msgid "Part Scheduling" msgstr "" -#: common/models.py:2075 +#: common/models.py:2082 msgid "Display part scheduling information" msgstr "" -#: common/models.py:2081 part/templates/part/detail.html:62 +#: common/models.py:2088 part/templates/part/detail.html:62 msgid "Part Stocktake" msgstr "" -#: common/models.py:2082 +#: common/models.py:2089 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/models.py:2088 +#: common/models.py:2095 msgid "Table String Length" msgstr "" -#: common/models.py:2089 +#: common/models.py:2096 msgid "Maximimum length limit for strings displayed in table views" msgstr "" -#: common/models.py:2098 +#: common/models.py:2105 msgid "Default part label template" msgstr "" -#: common/models.py:2099 +#: common/models.py:2106 msgid "The part label template to be automatically selected" msgstr "" -#: common/models.py:2107 +#: common/models.py:2114 msgid "Default stock item template" msgstr "" -#: common/models.py:2108 +#: common/models.py:2115 msgid "The stock item label template to be automatically selected" msgstr "" -#: common/models.py:2116 +#: common/models.py:2123 msgid "Default stock location label template" msgstr "" -#: common/models.py:2117 +#: common/models.py:2124 msgid "The stock location label template to be automatically selected" msgstr "" -#: common/models.py:2163 +#: common/models.py:2170 msgid "Price break quantity" msgstr "" -#: common/models.py:2170 company/serializers.py:491 order/admin.py:43 +#: common/models.py:2177 company/serializers.py:491 order/admin.py:43 #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "价格" -#: common/models.py:2171 +#: common/models.py:2178 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:2331 common/models.py:2509 +#: common/models.py:2338 common/models.py:2516 msgid "Endpoint" msgstr "" -#: common/models.py:2332 +#: common/models.py:2339 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:2341 +#: common/models.py:2348 msgid "Name for this webhook" msgstr "" -#: common/models.py:2346 part/admin.py:50 part/models.py:1027 +#: common/models.py:2353 part/admin.py:50 part/models.py:1027 #: plugin/models.py:48 templates/js/translated/table_filters.js:111 #: templates/js/translated/table_filters.js:195 #: templates/js/translated/table_filters.js:440 @@ -3296,101 +3306,101 @@ msgstr "" msgid "Active" msgstr "" -#: common/models.py:2347 +#: common/models.py:2354 msgid "Is this webhook active" msgstr "" -#: common/models.py:2361 +#: common/models.py:2368 msgid "Token" msgstr "令牌" -#: common/models.py:2362 +#: common/models.py:2369 msgid "Token for access" msgstr "" -#: common/models.py:2369 +#: common/models.py:2376 msgid "Secret" msgstr "" -#: common/models.py:2370 +#: common/models.py:2377 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:2476 +#: common/models.py:2483 msgid "Message ID" msgstr "" -#: common/models.py:2477 +#: common/models.py:2484 msgid "Unique identifier for this message" msgstr "该消息的唯一标识符" -#: common/models.py:2485 +#: common/models.py:2492 msgid "Host" msgstr "" -#: common/models.py:2486 +#: common/models.py:2493 msgid "Host from which this message was received" msgstr "" -#: common/models.py:2493 +#: common/models.py:2500 msgid "Header" msgstr "" -#: common/models.py:2494 +#: common/models.py:2501 msgid "Header of this message" msgstr "" -#: common/models.py:2500 +#: common/models.py:2507 msgid "Body" msgstr "" -#: common/models.py:2501 +#: common/models.py:2508 msgid "Body of this message" msgstr "" -#: common/models.py:2510 +#: common/models.py:2517 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:2515 +#: common/models.py:2522 msgid "Worked on" msgstr "" -#: common/models.py:2516 +#: common/models.py:2523 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:2670 +#: common/models.py:2677 msgid "Id" msgstr "" -#: common/models.py:2676 templates/js/translated/company.js:996 +#: common/models.py:2683 templates/js/translated/company.js:996 #: templates/js/translated/news.js:44 msgid "Title" msgstr "标题" -#: common/models.py:2686 templates/js/translated/news.js:60 +#: common/models.py:2693 templates/js/translated/news.js:60 msgid "Published" msgstr "" -#: common/models.py:2691 templates/InvenTree/settings/plugin_settings.html:32 +#: common/models.py:2698 templates/InvenTree/settings/plugin_settings.html:32 #: templates/js/translated/news.js:56 templates/js/translated/plugin.js:106 msgid "Author" msgstr "作者" -#: common/models.py:2696 templates/js/translated/news.js:52 +#: common/models.py:2703 templates/js/translated/news.js:52 msgid "Summary" msgstr "概述" -#: common/models.py:2701 +#: common/models.py:2708 msgid "Read" msgstr "" -#: common/models.py:2702 +#: common/models.py:2709 msgid "Was this news item read?" msgstr "" -#: common/models.py:2722 company/models.py:139 part/models.py:918 +#: common/models.py:2729 company/models.py:139 part/models.py:918 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report_base.html:35 @@ -3400,7 +3410,7 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:2723 +#: common/models.py:2730 msgid "Image file" msgstr "" @@ -3656,7 +3666,7 @@ msgstr "选择商品" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3671,13 +3681,13 @@ msgid "Select manufacturer" msgstr "选择制造商" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3743,7 +3753,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3759,15 +3769,15 @@ msgid "Select supplier" msgstr "选择供应商" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3784,10 +3794,11 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3849 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 #: report/templates/report/inventree_so_report_base.html:32 #: stock/serializers.py:484 msgid "Note" @@ -3818,8 +3829,8 @@ msgstr "商品打包" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "包装数量" @@ -3838,7 +3849,7 @@ msgstr "订购多个" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 @@ -3925,8 +3936,8 @@ msgstr "删除图片" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 #: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" @@ -4013,7 +4024,7 @@ msgstr "供货商库存" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4036,7 +4047,7 @@ msgstr "新建采购订单" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4151,7 +4162,7 @@ msgstr "参数" #: company/templates/company/manufacturer_part.html:160 #: part/templates/part/detail.html:200 #: templates/InvenTree/settings/category.html:12 -#: templates/InvenTree/settings/part_parameters.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 msgid "New Parameter" msgstr "新建参数" @@ -4239,12 +4250,12 @@ msgid "Supplier Part Stock" msgstr "供货商商品库存" #: company/templates/company/supplier_part.html:210 -#: part/templates/part/detail.html:24 stock/templates/stock/location.html:197 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:198 msgid "Create new stock item" msgstr "新建库存物品" #: company/templates/company/supplier_part.html:211 -#: part/templates/part/detail.html:25 stock/templates/stock/location.html:198 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:199 #: templates/js/translated/stock.js:503 msgid "New Stock Item" msgstr "新库存物品" @@ -4278,9 +4289,9 @@ msgstr "更新部件可用性" #: company/templates/company/supplier_part_sidebar.html:5 part/tasks.py:293 #: part/templates/part/category.html:182 #: part/templates/part/category_sidebar.html:17 stock/admin.py:47 -#: stock/serializers.py:662 stock/templates/stock/location.html:168 -#: stock/templates/stock/location.html:182 -#: stock/templates/stock/location.html:194 +#: stock/serializers.py:662 stock/templates/stock/location.html:169 +#: stock/templates/stock/location.html:183 +#: stock/templates/stock/location.html:195 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 #: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 @@ -4333,7 +4344,7 @@ msgstr "标签" msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:133 report/models.py:272 +#: label/models.py:133 report/models.py:277 msgid "Enabled" msgstr "已启用" @@ -4357,7 +4368,7 @@ msgstr "高度 [mm]" msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:153 report/models.py:265 +#: label/models.py:153 report/models.py:270 msgid "Filename Pattern" msgstr "文件名样式" @@ -4371,8 +4382,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:293 report/models.py:440 -#: report/models.py:478 report/models.py:516 +#: label/models.py:356 report/models.py:298 report/models.py:445 +#: report/models.py:483 report/models.py:521 report/models.py:645 msgid "Filters" msgstr "筛选器" @@ -4393,8 +4404,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4420,12 +4431,12 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 +#: templates/js/translated/return_order.js:278 #: templates/js/translated/stock.js:2823 msgid "Return Order" msgstr "" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "未知" @@ -4535,8 +4546,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "发货日期" @@ -4602,7 +4613,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4613,8 +4624,8 @@ msgstr "供应商商品" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4663,7 +4674,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4749,7 +4760,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "物品" @@ -4789,7 +4800,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5126,8 +5137,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5190,7 +5201,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5240,8 +5251,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5253,8 +5264,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "总成本" @@ -5307,7 +5318,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5342,12 +5353,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3720 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3724 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "部件名称" @@ -5357,13 +5368,14 @@ msgid "Part Description" msgstr "部件描述" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 +#: report/templates/report/inventree_slr_report.html:103 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 #: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:178 templates/js/translated/part.js:1204 +#: report/models.py:183 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "版本号" @@ -5404,7 +5416,7 @@ msgid "In Stock" msgstr "有库存" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5440,7 +5452,7 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5463,7 +5475,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3728 msgid "Part IPN" msgstr "" @@ -5515,7 +5527,7 @@ msgid "Total Stock" msgstr "总库存" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "可用库存" @@ -5523,7 +5535,7 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "输入数量以计算价格" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3669 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -5598,7 +5610,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3725 msgid "Part name" msgstr "商品名称" @@ -5622,8 +5634,8 @@ msgstr "" msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3668 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6027,176 +6039,176 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3549 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3592 +#: part/models.py:3593 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3598 part/models.py:3674 part/models.py:3675 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3603 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3679 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3679 +#: part/models.py:3680 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3717 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3721 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3729 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3732 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3733 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3739 part/models.py:4117 msgid "BOM Item" msgstr "BOM项" -#: part/models.py:3811 +#: part/models.py:3812 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3820 msgid "Sub part" msgstr "子部件" -#: part/models.py:3820 +#: part/models.py:3821 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3827 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3832 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3838 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3842 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3843 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3846 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3849 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3853 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3858 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3859 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3864 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3865 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3870 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3871 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3957 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3966 part/models.py:3968 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4084 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4105 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4118 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4126 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4141 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4145 msgid "Select Related Part" msgstr "选择相关的部件" -#: part/models.py:4162 +#: part/models.py:4163 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4167 msgid "Duplicate relationship already exists" msgstr "" @@ -6204,232 +6216,232 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 msgid "No parts selected" msgstr "" -#: part/serializers.py:321 +#: part/serializers.py:332 msgid "Select category" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "复制图像" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "从原部件复制图像" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "更新" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "未提供数量" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6444,7 +6456,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "总数量" @@ -6536,6 +6548,7 @@ msgid "New Part" msgstr "新商品" #: part/templates/part/category.html:191 +#: templates/InvenTree/settings/part_parameters.html:7 #: templates/InvenTree/settings/sidebar.html:47 msgid "Part Parameters" msgstr "商品参数" @@ -6767,7 +6780,7 @@ msgstr "" #: part/templates/part/part_base.html:65 #: stock/templates/stock/item_base.html:111 -#: stock/templates/stock/location.html:81 +#: stock/templates/stock/location.html:82 msgid "Stock actions" msgstr "" @@ -7059,7 +7072,7 @@ msgstr "" msgid "No Stock" msgstr "无库存" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "低库存" @@ -7357,107 +7370,111 @@ msgstr "" msgid "Activate this plugin" msgstr "" -#: report/api.py:171 +#: report/api.py:173 msgid "No valid objects provided to template" msgstr "没有为模板提供有效对象" -#: report/api.py:207 report/api.py:243 +#: report/api.py:209 report/api.py:245 #, python-brace-format msgid "Template file '{template}' is missing or does not exist" msgstr "" -#: report/api.py:310 +#: report/api.py:312 msgid "Test report" msgstr "" -#: report/models.py:160 +#: report/models.py:165 msgid "Template name" msgstr "" -#: report/models.py:166 +#: report/models.py:171 msgid "Report template file" msgstr "" -#: report/models.py:173 +#: report/models.py:178 msgid "Report template description" msgstr "" -#: report/models.py:179 +#: report/models.py:184 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:273 +#: report/models.py:278 msgid "Report template is enabled" msgstr "" -#: report/models.py:294 +#: report/models.py:299 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:302 +#: report/models.py:307 msgid "Include Installed Tests" msgstr "" -#: report/models.py:303 +#: report/models.py:308 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:364 +#: report/models.py:369 msgid "Build Filters" msgstr "" -#: report/models.py:365 +#: report/models.py:370 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:406 +#: report/models.py:411 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:407 +#: report/models.py:412 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:441 +#: report/models.py:446 msgid "Purchase order query filters" msgstr "" -#: report/models.py:479 +#: report/models.py:484 msgid "Sales order query filters" msgstr "" -#: report/models.py:517 +#: report/models.py:522 msgid "Return order query filters" msgstr "" -#: report/models.py:570 +#: report/models.py:575 msgid "Snippet" msgstr "" -#: report/models.py:571 +#: report/models.py:576 msgid "Report snippet file" msgstr "" -#: report/models.py:575 +#: report/models.py:580 msgid "Snippet file description" msgstr "" -#: report/models.py:612 +#: report/models.py:617 msgid "Asset" msgstr "" -#: report/models.py:613 +#: report/models.py:618 msgid "Report asset file" msgstr "" -#: report/models.py:620 +#: report/models.py:625 msgid "Asset file description" msgstr "" +#: report/models.py:646 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + #: report/templates/report/inventree_bill_of_materials_report.html:133 msgid "Materials needed" msgstr "" @@ -7475,8 +7492,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "单价" @@ -7488,8 +7505,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7497,17 +7514,21 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "序列号" +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + #: report/templates/report/inventree_test_report_base.html:21 msgid "Stock Item Test Report" msgstr "" @@ -7561,8 +7582,8 @@ msgstr "" msgid "Location Name" msgstr "" -#: stock/admin.py:44 stock/templates/stock/location.html:129 -#: stock/templates/stock/location.html:135 +#: stock/admin.py:44 stock/templates/stock/location.html:130 +#: stock/templates/stock/location.html:136 msgid "Location Path" msgstr "" @@ -7651,7 +7672,7 @@ msgstr "" msgid "Stock Location" msgstr "仓储地点" -#: stock/models.py:55 stock/templates/stock/location.html:177 +#: stock/models.py:55 stock/templates/stock/location.html:178 #: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 #: users/models.py:40 msgid "Stock Locations" @@ -8107,7 +8128,7 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 +#: stock/templates/stock/location.html:89 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" @@ -8126,7 +8147,7 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 +#: stock/templates/stock/location.html:95 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" @@ -8189,7 +8210,7 @@ msgid "You are not in the list of owners of this item. This stock item cannot be msgstr "" #: stock/templates/stock/item_base.html:253 -#: stock/templates/stock/location.html:147 +#: stock/templates/stock/location.html:148 msgid "Read only" msgstr "" @@ -8238,7 +8259,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "未设置仓储地点" @@ -8343,58 +8364,62 @@ msgstr "" msgid "Scan In Container" msgstr "" -#: stock/templates/stock/location.html:102 +#: stock/templates/stock/location.html:74 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:103 msgid "Location actions" msgstr "仓储地操作" -#: stock/templates/stock/location.html:104 +#: stock/templates/stock/location.html:105 msgid "Edit location" msgstr "编辑仓储地" -#: stock/templates/stock/location.html:106 +#: stock/templates/stock/location.html:107 msgid "Delete location" msgstr "删除仓储地" -#: stock/templates/stock/location.html:136 +#: stock/templates/stock/location.html:137 msgid "Top level stock location" msgstr "" -#: stock/templates/stock/location.html:142 +#: stock/templates/stock/location.html:143 msgid "Location Owner" msgstr "" -#: stock/templates/stock/location.html:146 +#: stock/templates/stock/location.html:147 msgid "You are not in the list of owners of this location. This stock location cannot be edited." msgstr "您不在此仓储地的所有者列表中,无法编辑此仓储地。" -#: stock/templates/stock/location.html:163 -#: stock/templates/stock/location.html:211 +#: stock/templates/stock/location.html:164 +#: stock/templates/stock/location.html:212 #: stock/templates/stock/location_sidebar.html:5 msgid "Sublocations" msgstr "" -#: stock/templates/stock/location.html:215 +#: stock/templates/stock/location.html:216 msgid "Create new stock location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:216 +#: stock/templates/stock/location.html:217 msgid "New Location" msgstr "新建仓储地点" -#: stock/templates/stock/location.html:278 +#: stock/templates/stock/location.html:279 #: templates/js/translated/stock.js:2465 msgid "stock location" msgstr "" -#: stock/templates/stock/location.html:295 +#: stock/templates/stock/location.html:307 msgid "Scanned stock container into this location" msgstr "" -#: stock/templates/stock/location.html:368 +#: stock/templates/stock/location.html:380 msgid "Stock Location QR Code" msgstr "" -#: stock/templates/stock/location.html:379 +#: stock/templates/stock/location.html:391 msgid "Link Barcode to Stock Location" msgstr "" @@ -8488,51 +8513,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -8668,7 +8693,7 @@ msgstr "商品导入" msgid "Import Part" msgstr "导入商品" -#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/part_parameters.html:20 msgid "Part Parameter Templates" msgstr "商品参数模板" @@ -9493,7 +9518,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -9854,7 +9879,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -9874,25 +9899,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -9924,7 +9949,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10093,7 +10118,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 msgid "Allocated Quantity" msgstr "" @@ -10139,17 +10164,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "选择商品" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10162,7 +10187,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10171,12 +10196,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10208,7 +10233,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 #: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" @@ -10230,78 +10255,78 @@ msgstr "没有用户信息" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 msgid "Consumable Item" msgstr "" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1798 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 msgid "Remove stock allocation" msgstr "" @@ -10611,7 +10636,7 @@ msgstr "" #: templates/js/translated/forms.js:506 templates/js/translated/helpers.js:105 #: templates/js/translated/part.js:369 templates/js/translated/pricing.js:629 -#: templates/js/translated/stock.js:215 users/models.py:253 +#: templates/js/translated/stock.js:215 users/models.py:254 msgid "Delete" msgstr "删除" @@ -10826,7 +10851,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11069,14 +11094,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11391,7 +11416,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11440,7 +11465,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11461,59 +11486,59 @@ msgid "Invalid barcode data" msgstr "" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 msgid "All selected Line items will be deleted" msgstr "" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 msgid "Delete selected Line items?" msgstr "" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11570,21 +11595,21 @@ msgstr "" msgid "No return orders found" msgstr "" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -11656,112 +11681,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 #: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -11965,7 +11990,7 @@ msgstr "" msgid "Add Stock" msgstr "添加库存" -#: templates/js/translated/stock.js:1004 users/models.py:249 +#: templates/js/translated/stock.js:1004 users/models.py:250 msgid "Add" msgstr "添加" @@ -12798,35 +12823,35 @@ msgstr "权限" msgid "Important dates" msgstr "重要日期" -#: users/models.py:236 +#: users/models.py:237 msgid "Permission set" msgstr "权限设置" -#: users/models.py:244 +#: users/models.py:245 msgid "Group" msgstr "群组" -#: users/models.py:247 +#: users/models.py:248 msgid "View" msgstr "视图" -#: users/models.py:247 +#: users/models.py:248 msgid "Permission to view items" msgstr "查看项目权限" -#: users/models.py:249 +#: users/models.py:250 msgid "Permission to add items" msgstr "添加项目权限" -#: users/models.py:251 +#: users/models.py:252 msgid "Change" msgstr "更改" -#: users/models.py:251 +#: users/models.py:252 msgid "Permissions to edit items" msgstr "编辑项目权限" -#: users/models.py:253 +#: users/models.py:254 msgid "Permission to delete items" msgstr "删除项目权限" diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index dcd477ce35..28fc627b20 100644 --- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 07:13+0000\n" +"POT-Creation-Date: 2023-07-04 21:22+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -68,11 +68,11 @@ msgstr "输入日期" #: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1244 #: templates/js/translated/company.js:1715 templates/js/translated/order.js:347 #: templates/js/translated/part.js:1053 -#: templates/js/translated/purchase_order.js:2178 -#: templates/js/translated/return_order.js:772 -#: templates/js/translated/sales_order.js:1067 -#: templates/js/translated/sales_order.js:1971 -#: templates/js/translated/stock.js:1459 templates/js/translated/stock.js:2318 +#: templates/js/translated/purchase_order.js:2175 +#: templates/js/translated/return_order.js:769 +#: templates/js/translated/sales_order.js:1064 +#: templates/js/translated/sales_order.js:1968 +#: templates/js/translated/stock.js:1478 templates/js/translated/stock.js:2337 msgid "Notes" msgstr "备注" @@ -264,11 +264,11 @@ msgstr "选择附件" #: stock/admin.py:120 templates/js/translated/company.js:1350 #: templates/js/translated/company.js:1704 templates/js/translated/order.js:351 #: templates/js/translated/part.js:2389 -#: templates/js/translated/purchase_order.js:2018 -#: templates/js/translated/purchase_order.js:2182 -#: templates/js/translated/return_order.js:776 -#: templates/js/translated/sales_order.js:1056 -#: templates/js/translated/sales_order.js:1976 +#: templates/js/translated/purchase_order.js:2015 +#: templates/js/translated/purchase_order.js:2179 +#: templates/js/translated/return_order.js:773 +#: templates/js/translated/sales_order.js:1053 +#: templates/js/translated/sales_order.js:1973 msgid "Link" msgstr "链接" @@ -292,7 +292,7 @@ msgstr "文件注释" #: part/models.py:3138 part/models.py:3217 part/models.py:3237 #: plugin/models.py:218 plugin/models.py:219 #: report/templates/report/inventree_test_report_base.html:105 -#: templates/js/translated/stock.js:2899 +#: templates/js/translated/stock.js:2918 msgid "User" msgstr "用户" @@ -335,7 +335,7 @@ msgstr "选择无效" #: InvenTree/models.py:648 InvenTree/models.py:649 common/models.py:2340 #: company/models.py:539 label/models.py:111 part/models.py:851 -#: part/models.py:3437 plugin/models.py:42 report/models.py:160 +#: part/models.py:3437 plugin/models.py:42 report/models.py:159 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 #: templates/InvenTree/settings/plugin.html:74 @@ -346,7 +346,7 @@ msgstr "选择无效" #: templates/js/translated/company.js:1196 #: templates/js/translated/company.js:1444 templates/js/translated/part.js:1159 #: templates/js/translated/part.js:1446 templates/js/translated/part.js:1582 -#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2590 +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2609 msgid "Name" msgstr "名称" @@ -359,8 +359,8 @@ msgstr "名称" #: order/models.py:232 order/models.py:1130 part/admin.py:194 part/admin.py:276 #: part/models.py:873 part/models.py:3453 part/templates/part/category.html:81 #: part/templates/part/part_base.html:172 -#: part/templates/part/part_scheduling.html:12 report/models.py:173 -#: report/models.py:589 report/models.py:633 +#: part/templates/part/part_scheduling.html:12 report/models.py:172 +#: report/models.py:575 report/models.py:619 #: report/templates/report/inventree_build_order_base.html:117 #: stock/admin.py:41 stock/templates/stock/location.html:123 #: templates/InvenTree/settings/notifications.html:19 @@ -369,18 +369,18 @@ msgstr "名称" #: templates/js/translated/bom.js:633 templates/js/translated/bom.js:951 #: templates/js/translated/build.js:2058 templates/js/translated/company.js:517 #: templates/js/translated/company.js:1361 -#: templates/js/translated/company.js:1672 templates/js/translated/index.js:114 +#: templates/js/translated/company.js:1672 templates/js/translated/index.js:119 #: templates/js/translated/order.js:298 templates/js/translated/part.js:1211 #: templates/js/translated/part.js:1455 templates/js/translated/part.js:1593 #: templates/js/translated/part.js:1928 templates/js/translated/part.js:2320 #: templates/js/translated/part.js:2717 templates/js/translated/part.js:2805 #: templates/js/translated/purchase_order.js:1681 -#: templates/js/translated/purchase_order.js:1827 -#: templates/js/translated/purchase_order.js:2000 -#: templates/js/translated/return_order.js:314 -#: templates/js/translated/sales_order.js:802 -#: templates/js/translated/stock.js:1438 templates/js/translated/stock.js:1971 -#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2694 +#: templates/js/translated/purchase_order.js:1824 +#: templates/js/translated/purchase_order.js:1997 +#: templates/js/translated/return_order.js:311 +#: templates/js/translated/sales_order.js:799 +#: templates/js/translated/stock.js:1457 templates/js/translated/stock.js:1990 +#: templates/js/translated/stock.js:2641 templates/js/translated/stock.js:2713 msgid "Description" msgstr "描述信息" @@ -393,7 +393,7 @@ msgid "parent" msgstr "上级项" #: InvenTree/models.py:671 InvenTree/models.py:672 -#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2631 +#: templates/js/translated/part.js:2726 templates/js/translated/stock.js:2650 msgid "Path" msgstr "路径" @@ -431,7 +431,7 @@ msgstr "服务器错误" msgid "An error has been logged by the server." msgstr "服务器记录了一个错误。" -#: InvenTree/serializers.py:60 part/models.py:3944 +#: InvenTree/serializers.py:60 part/models.py:3935 msgid "Must be a valid number" msgstr "必须是有效数字" @@ -619,7 +619,7 @@ msgstr "越南语" msgid "Chinese" msgstr "中文(简体)" -#: InvenTree/status.py:68 part/serializers.py:940 +#: InvenTree/status.py:68 part/serializers.py:956 msgid "Background worker check failed" msgstr "后台工作人员检查失败" @@ -669,9 +669,9 @@ msgid "In Progress" msgstr "" #: InvenTree/status_codes.py:42 order/models.py:1345 -#: templates/js/translated/sales_order.js:1521 -#: templates/js/translated/sales_order.js:1642 -#: templates/js/translated/sales_order.js:1946 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1639 +#: templates/js/translated/sales_order.js:1943 msgid "Shipped" msgstr "已发货" @@ -761,7 +761,7 @@ msgstr "从父项拆分" msgid "Split child item" msgstr "拆分子项" -#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1769 +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1788 msgid "Merged stock items" msgstr "合并的库存项目" @@ -783,7 +783,7 @@ msgstr "生产订单输出已完成" msgid "Build order output rejected" msgstr "已创建生产订单输出" -#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1675 +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1694 msgid "Consumed by build order" msgstr "被生产订单消耗" @@ -865,27 +865,27 @@ msgstr "备损不能超过 100%" msgid "Invalid value for overage" msgstr "无效的备损值" -#: InvenTree/views.py:409 templates/InvenTree/settings/user.html:23 +#: InvenTree/views.py:408 templates/InvenTree/settings/user.html:23 msgid "Edit User Information" msgstr "编辑用户信息" -#: InvenTree/views.py:421 templates/InvenTree/settings/user.html:20 +#: InvenTree/views.py:420 templates/InvenTree/settings/user.html:20 msgid "Set Password" msgstr "设置密码" -#: InvenTree/views.py:443 +#: InvenTree/views.py:442 msgid "Password fields must match" msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:452 +#: InvenTree/views.py:451 msgid "Wrong password provided" msgstr "密码错误" -#: InvenTree/views.py:653 templates/navbar.html:157 +#: InvenTree/views.py:652 templates/navbar.html:157 msgid "System Information" msgstr "系统信息" -#: InvenTree/views.py:660 templates/navbar.html:168 +#: InvenTree/views.py:659 templates/navbar.html:168 msgid "About InvenTree" msgstr "关于 InventTree" @@ -893,16 +893,16 @@ msgstr "关于 InventTree" msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" -#: build/api.py:286 part/models.py:3836 templates/js/translated/bom.js:985 -#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2445 +#: build/api.py:286 part/models.py:3827 templates/js/translated/bom.js:985 +#: templates/js/translated/bom.js:1025 templates/js/translated/build.js:2442 #: templates/js/translated/table_filters.js:166 #: templates/js/translated/table_filters.js:518 msgid "Consumable" msgstr "" -#: build/api.py:287 part/models.py:3830 part/templates/part/upload_bom.html:58 +#: build/api.py:287 part/models.py:3821 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:989 templates/js/translated/bom.js:1016 -#: templates/js/translated/build.js:2454 +#: templates/js/translated/build.js:2451 #: templates/js/translated/table_filters.js:162 #: templates/js/translated/table_filters.js:191 #: templates/js/translated/table_filters.js:522 @@ -915,8 +915,8 @@ msgid "Tracked" msgstr "" #: build/api.py:290 part/admin.py:64 templates/js/translated/build.js:1666 -#: templates/js/translated/build.js:2545 -#: templates/js/translated/sales_order.js:1918 +#: templates/js/translated/build.js:2542 +#: templates/js/translated/sales_order.js:1915 #: templates/js/translated/table_filters.js:506 msgid "Allocated" msgstr "" @@ -926,7 +926,7 @@ msgstr "" #: report/templates/report/inventree_build_order_base.html:105 #: templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 -#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2755 +#: templates/js/translated/build.js:953 templates/js/translated/stock.js:2774 msgid "Build Order" msgstr "生产订单" @@ -934,7 +934,7 @@ msgstr "生产订单" #: build/templates/build/index.html:8 build/templates/build/index.html:12 #: order/templates/order/sales_order_detail.html:111 #: order/templates/order/so_sidebar.html:13 -#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:195 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 #: templates/InvenTree/search.html:141 #: templates/InvenTree/settings/sidebar.html:53 #: templates/js/translated/search.js:186 users/models.py:42 @@ -951,17 +951,17 @@ msgstr "相关生产订单" #: build/models.py:160 order/models.py:372 order/models.py:778 #: order/models.py:1100 order/models.py:1737 part/admin.py:278 -#: part/models.py:3845 part/templates/part/upload_bom.html:54 +#: part/models.py:3836 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:961 -#: templates/js/translated/build.js:2437 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2434 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 -#: templates/js/translated/purchase_order.js:2043 -#: templates/js/translated/return_order.js:725 -#: templates/js/translated/sales_order.js:1810 +#: templates/js/translated/purchase_order.js:2040 +#: templates/js/translated/return_order.js:722 +#: templates/js/translated/sales_order.js:1807 msgid "Reference" msgstr "引用" @@ -985,9 +985,9 @@ msgstr "此次生产匹配的订单" #: order/models.py:1208 order/models.py:1324 order/models.py:1325 #: part/models.py:392 part/models.py:2902 part/models.py:3016 #: part/models.py:3156 part/models.py:3175 part/models.py:3194 -#: part/models.py:3215 part/models.py:3307 part/models.py:3592 -#: part/models.py:3715 part/models.py:3810 part/models.py:4124 -#: part/serializers.py:904 part/serializers.py:1307 +#: part/models.py:3215 part/models.py:3307 part/models.py:3583 +#: part/models.py:3706 part/models.py:3801 part/models.py:4115 +#: part/serializers.py:920 part/serializers.py:1328 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/upload_bom.html:52 @@ -1006,27 +1006,27 @@ msgstr "此次生产匹配的订单" #: templates/js/translated/barcode.js:529 templates/js/translated/bom.js:632 #: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 #: templates/js/translated/build.js:1285 templates/js/translated/build.js:1665 -#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2257 +#: templates/js/translated/build.js:2081 templates/js/translated/build.js:2254 #: templates/js/translated/company.js:347 #: templates/js/translated/company.js:1147 #: templates/js/translated/company.js:1302 -#: templates/js/translated/company.js:1590 templates/js/translated/index.js:104 +#: templates/js/translated/company.js:1590 templates/js/translated/index.js:109 #: templates/js/translated/part.js:1913 templates/js/translated/part.js:1985 #: templates/js/translated/part.js:2289 templates/js/translated/pricing.js:369 #: templates/js/translated/purchase_order.js:757 #: templates/js/translated/purchase_order.js:1289 -#: templates/js/translated/purchase_order.js:1826 -#: templates/js/translated/purchase_order.js:1985 -#: templates/js/translated/return_order.js:539 -#: templates/js/translated/return_order.js:706 +#: templates/js/translated/purchase_order.js:1823 +#: templates/js/translated/purchase_order.js:1982 +#: templates/js/translated/return_order.js:536 +#: templates/js/translated/return_order.js:703 #: templates/js/translated/sales_order.js:297 -#: templates/js/translated/sales_order.js:1197 -#: templates/js/translated/sales_order.js:1596 -#: templates/js/translated/sales_order.js:1794 +#: templates/js/translated/sales_order.js:1194 +#: templates/js/translated/sales_order.js:1593 +#: templates/js/translated/sales_order.js:1791 #: templates/js/translated/stock.js:642 templates/js/translated/stock.js:808 -#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1910 -#: templates/js/translated/stock.js:2720 templates/js/translated/stock.js:2953 -#: templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:1020 templates/js/translated/stock.js:1929 +#: templates/js/translated/stock.js:2739 templates/js/translated/stock.js:2972 +#: templates/js/translated/stock.js:3109 msgid "Part" msgstr "商品" @@ -1044,7 +1044,7 @@ msgstr "此次生产匹配的销售订单" #: build/models.py:207 build/serializers.py:946 #: templates/js/translated/build.js:1653 -#: templates/js/translated/sales_order.js:1185 +#: templates/js/translated/sales_order.js:1182 msgid "Source Location" msgstr "来源地点" @@ -1095,8 +1095,8 @@ msgstr "此生产产出的批量代码" #: build/models.py:257 order/models.py:248 part/models.py:1042 #: part/templates/part/part_base.html:312 -#: templates/js/translated/return_order.js:339 -#: templates/js/translated/sales_order.js:827 +#: templates/js/translated/return_order.js:336 +#: templates/js/translated/sales_order.js:824 msgid "Creation Date" msgstr "创建日期" @@ -1134,7 +1134,7 @@ msgstr "发布此生产订单的用户" #: report/templates/report/inventree_build_order_base.html:158 #: templates/js/translated/build.js:2138 #: templates/js/translated/purchase_order.js:1738 -#: templates/js/translated/return_order.js:359 +#: templates/js/translated/return_order.js:356 #: templates/js/translated/table_filters.js:467 msgid "Responsible" msgstr "责任人" @@ -1167,8 +1167,8 @@ msgstr "此构建订单的优先级" #: order/models.py:237 templates/InvenTree/settings/settings_staff_js.html:70 #: templates/js/translated/build.js:2063 #: templates/js/translated/purchase_order.js:1685 -#: templates/js/translated/return_order.js:318 -#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/return_order.js:315 +#: templates/js/translated/sales_order.js:803 #: templates/js/translated/table_filters.js:24 #: templates/project_code_data.html:6 #, fuzzy @@ -1182,52 +1182,52 @@ msgstr "商品二维码" msgid "Project code for this build order" msgstr "此构建订单的优先级" -#: build/models.py:545 +#: build/models.py:550 #, python-brace-format msgid "Build order {build} has been completed" msgstr "生产订单 {build} 已完成" -#: build/models.py:551 +#: build/models.py:556 msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:753 build/models.py:831 +#: build/models.py:758 build/models.py:836 msgid "No build output specified" msgstr "未指定生产产出" -#: build/models.py:756 +#: build/models.py:761 msgid "Build output is already completed" msgstr "生产产出已完成" -#: build/models.py:759 +#: build/models.py:764 msgid "Build output does not match Build Order" msgstr "生产产出与订单不匹配" -#: build/models.py:835 build/serializers.py:220 build/serializers.py:259 +#: build/models.py:840 build/serializers.py:220 build/serializers.py:259 #: build/serializers.py:819 order/models.py:453 order/serializers.py:385 -#: order/serializers.py:507 part/serializers.py:1149 part/serializers.py:1470 +#: order/serializers.py:507 part/serializers.py:1170 part/serializers.py:1491 #: stock/models.py:593 stock/models.py:1387 stock/serializers.py:381 msgid "Quantity must be greater than zero" msgstr "数量必须大于0" -#: build/models.py:840 build/serializers.py:225 +#: build/models.py:845 build/serializers.py:225 #, fuzzy #| msgid "Quantity must be greater than zero" msgid "Quantity cannot be greater than the output quantity" msgstr "数量必须大于0" -#: build/models.py:1260 +#: build/models.py:1265 #, fuzzy #| msgid "Build Notes" msgid "Build object" msgstr "生产备注" -#: build/models.py:1274 build/models.py:1556 build/serializers.py:206 +#: build/models.py:1279 build/models.py:1539 build/serializers.py:206 #: build/serializers.py:244 build/templates/build/build_base.html:103 #: build/templates/build/detail.html:34 common/models.py:2162 #: order/models.py:1086 order/models.py:1658 order/serializers.py:1239 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277 -#: part/forms.py:47 part/models.py:3029 part/models.py:3826 +#: part/forms.py:47 part/models.py:3029 part/models.py:3817 #: part/templates/part/part_pricing.html:16 #: part/templates/part/upload_bom.html:53 #: report/templates/report/inventree_bill_of_materials_report.html:138 @@ -1244,7 +1244,7 @@ msgstr "生产备注" #: templates/js/translated/barcode.js:531 templates/js/translated/bom.js:771 #: templates/js/translated/bom.js:969 templates/js/translated/build.js:510 #: templates/js/translated/build.js:722 templates/js/translated/build.js:1304 -#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2279 +#: templates/js/translated/build.js:1668 templates/js/translated/build.js:2276 #: templates/js/translated/company.js:1849 #: templates/js/translated/model_renderers.js:221 #: templates/js/translated/order.js:304 templates/js/translated/part.js:934 @@ -1254,83 +1254,83 @@ msgstr "生产备注" #: templates/js/translated/pricing.js:522 #: templates/js/translated/pricing.js:616 #: templates/js/translated/purchase_order.js:760 -#: templates/js/translated/purchase_order.js:1830 -#: templates/js/translated/purchase_order.js:2049 +#: templates/js/translated/purchase_order.js:1827 +#: templates/js/translated/purchase_order.js:2046 #: templates/js/translated/sales_order.js:314 -#: templates/js/translated/sales_order.js:1199 -#: templates/js/translated/sales_order.js:1516 -#: templates/js/translated/sales_order.js:1606 -#: templates/js/translated/sales_order.js:1696 -#: templates/js/translated/sales_order.js:1816 +#: templates/js/translated/sales_order.js:1196 +#: templates/js/translated/sales_order.js:1513 +#: templates/js/translated/sales_order.js:1603 +#: templates/js/translated/sales_order.js:1693 +#: templates/js/translated/sales_order.js:1813 #: templates/js/translated/stock.js:530 templates/js/translated/stock.js:668 -#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2884 -#: templates/js/translated/stock.js:2965 +#: templates/js/translated/stock.js:839 templates/js/translated/stock.js:2903 +#: templates/js/translated/stock.js:2984 msgid "Quantity" msgstr "数量" -#: build/models.py:1275 +#: build/models.py:1280 #, fuzzy #| msgid "Stock required for build order" msgid "Required quantity for build order" msgstr "生产订单所需的库存" -#: build/models.py:1357 +#: build/models.py:1362 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的" -#: build/models.py:1366 +#: build/models.py:1371 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1376 order/models.py:1614 +#: build/models.py:1381 order/models.py:1614 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1382 order/models.py:1617 +#: build/models.py:1387 order/models.py:1617 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" -#: build/models.py:1388 +#: build/models.py:1393 msgid "Quantity must be 1 for serialized stock" msgstr "序列化库存的数量必须是 1" -#: build/models.py:1449 +#: build/models.py:1454 #, fuzzy #| msgid "Selected stock item not found in BOM" msgid "Selected stock item does not match BOM line" msgstr "在BOM中找不到选定的库存项" -#: build/models.py:1543 build/serializers.py:799 order/serializers.py:1065 +#: build/models.py:1526 build/serializers.py:799 order/serializers.py:1065 #: order/serializers.py:1086 stock/serializers.py:479 stock/serializers.py:887 #: stock/serializers.py:1013 stock/templates/stock/item_base.html:10 #: stock/templates/stock/item_base.html:23 #: stock/templates/stock/item_base.html:195 #: templates/js/translated/build.js:1667 #: templates/js/translated/sales_order.js:298 -#: templates/js/translated/sales_order.js:1198 -#: templates/js/translated/sales_order.js:1497 -#: templates/js/translated/sales_order.js:1502 -#: templates/js/translated/sales_order.js:1603 -#: templates/js/translated/sales_order.js:1690 +#: templates/js/translated/sales_order.js:1195 +#: templates/js/translated/sales_order.js:1494 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1600 +#: templates/js/translated/sales_order.js:1687 #: templates/js/translated/stock.js:643 templates/js/translated/stock.js:809 -#: templates/js/translated/stock.js:2840 +#: templates/js/translated/stock.js:2859 msgid "Stock Item" msgstr "库存项" -#: build/models.py:1544 +#: build/models.py:1527 msgid "Source stock item" msgstr "源库存项" -#: build/models.py:1557 +#: build/models.py:1540 msgid "Stock quantity to allocate to build" msgstr "分配到生产的数量" -#: build/models.py:1565 +#: build/models.py:1548 msgid "Install into" msgstr "安装到" -#: build/models.py:1566 +#: build/models.py:1549 msgid "Destination stock item" msgstr "目标库存项" @@ -1385,7 +1385,7 @@ msgstr "自动分配序列号" msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项分配对应的序列号" -#: build/serializers.py:334 stock/api.py:707 +#: build/serializers.py:334 stock/api.py:720 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" @@ -1394,22 +1394,22 @@ msgid "A list of build outputs must be provided" msgstr "必须提供生产产出列表" #: build/serializers.py:423 build/serializers.py:496 order/serializers.py:493 -#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:916 +#: order/serializers.py:612 order/serializers.py:1594 part/serializers.py:932 #: stock/serializers.py:401 stock/serializers.py:537 stock/serializers.py:618 #: stock/serializers.py:1048 stock/serializers.py:1290 #: stock/templates/stock/item_base.html:390 #: templates/js/translated/barcode.js:530 #: templates/js/translated/barcode.js:778 templates/js/translated/build.js:980 -#: templates/js/translated/build.js:2294 +#: templates/js/translated/build.js:2291 #: templates/js/translated/purchase_order.js:1163 #: templates/js/translated/purchase_order.js:1253 -#: templates/js/translated/sales_order.js:1509 -#: templates/js/translated/sales_order.js:1617 -#: templates/js/translated/sales_order.js:1625 -#: templates/js/translated/sales_order.js:1704 +#: templates/js/translated/sales_order.js:1506 +#: templates/js/translated/sales_order.js:1614 +#: templates/js/translated/sales_order.js:1622 +#: templates/js/translated/sales_order.js:1701 #: templates/js/translated/stock.js:644 templates/js/translated/stock.js:810 -#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2091 -#: templates/js/translated/stock.js:2734 +#: templates/js/translated/stock.js:1022 templates/js/translated/stock.js:2110 +#: templates/js/translated/stock.js:2753 msgid "Location" msgstr "地点" @@ -1446,10 +1446,10 @@ msgstr "已完成生产产出的仓储地点" #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2110 #: templates/js/translated/purchase_order.js:1293 #: templates/js/translated/purchase_order.js:1697 -#: templates/js/translated/return_order.js:331 -#: templates/js/translated/sales_order.js:819 -#: templates/js/translated/stock.js:2066 templates/js/translated/stock.js:2858 -#: templates/js/translated/stock.js:2981 +#: templates/js/translated/return_order.js:328 +#: templates/js/translated/sales_order.js:816 +#: templates/js/translated/stock.js:2085 templates/js/translated/stock.js:2877 +#: templates/js/translated/stock.js:3000 msgid "Status" msgstr "状态" @@ -1748,11 +1748,11 @@ msgstr "库存尚未被完全分配到此构建订单" #: report/templates/report/inventree_build_order_base.html:125 #: templates/js/translated/build.js:2158 templates/js/translated/part.js:1801 #: templates/js/translated/purchase_order.js:1714 -#: templates/js/translated/purchase_order.js:2125 -#: templates/js/translated/return_order.js:347 -#: templates/js/translated/return_order.js:747 -#: templates/js/translated/sales_order.js:835 -#: templates/js/translated/sales_order.js:1859 +#: templates/js/translated/purchase_order.js:2122 +#: templates/js/translated/return_order.js:344 +#: templates/js/translated/return_order.js:744 +#: templates/js/translated/sales_order.js:832 +#: templates/js/translated/sales_order.js:1856 msgid "Target Date" msgstr "预计日期" @@ -1788,9 +1788,9 @@ msgstr "已完成输出" #: stock/templates/stock/item_base.html:370 #: templates/email/overdue_sales_order.html:15 #: templates/js/translated/pricing.js:915 -#: templates/js/translated/sales_order.js:769 -#: templates/js/translated/sales_order.js:992 -#: templates/js/translated/stock.js:2787 +#: templates/js/translated/sales_order.js:766 +#: templates/js/translated/sales_order.js:989 +#: templates/js/translated/stock.js:2806 msgid "Sales Order" msgstr "销售订单" @@ -1834,7 +1834,7 @@ msgid "Stock can be taken from any available location." msgstr "库存可以从任何可用的地点获得。" #: build/templates/build/detail.html:49 order/models.py:1235 -#: templates/js/translated/purchase_order.js:2167 +#: templates/js/translated/purchase_order.js:2164 msgid "Destination" msgstr "目的地" @@ -1851,8 +1851,8 @@ msgstr "已分配的部件" #: templates/js/translated/build.js:1315 #: templates/js/translated/model_renderers.js:226 #: templates/js/translated/purchase_order.js:1259 -#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2080 -#: templates/js/translated/stock.js:2988 +#: templates/js/translated/stock.js:1092 templates/js/translated/stock.js:2099 +#: templates/js/translated/stock.js:3007 #: templates/js/translated/table_filters.js:265 #: templates/js/translated/table_filters.js:356 msgid "Batch" @@ -1958,7 +1958,7 @@ msgstr "已完成构建输出" #: order/templates/order/return_order_sidebar.html:7 #: order/templates/order/sales_order_detail.html:124 #: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 -#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:109 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 #: stock/templates/stock/stock_sidebar.html:23 msgid "Attachments" msgstr "附件" @@ -1967,11 +1967,11 @@ msgstr "附件" msgid "Build Notes" msgstr "生产备注" -#: build/templates/build/detail.html:425 +#: build/templates/build/detail.html:422 msgid "Allocation Complete" msgstr "分配完成" -#: build/templates/build/detail.html:426 +#: build/templates/build/detail.html:423 #, fuzzy #| msgid "Required stock has not been fully allocated" msgid "All lines have been fully allocated" @@ -2325,8 +2325,8 @@ msgstr "" msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:1162 part/admin.py:55 part/models.py:3597 -#: report/models.py:166 templates/js/translated/table_filters.js:115 +#: common/models.py:1162 part/admin.py:55 part/models.py:3588 +#: report/models.py:165 templates/js/translated/table_filters.js:115 #: templates/js/translated/table_filters.js:702 msgid "Template" msgstr "模板" @@ -3362,7 +3362,7 @@ msgstr "" #: order/models.py:1145 order/models.py:1952 #: templates/js/translated/company.js:1854 templates/js/translated/part.js:1855 #: templates/js/translated/pricing.js:621 -#: templates/js/translated/return_order.js:737 +#: templates/js/translated/return_order.js:734 msgid "Price" msgstr "价格" @@ -3773,7 +3773,7 @@ msgstr "选择商品" #: company/models.py:442 company/templates/company/company_base.html:77 #: company/templates/company/manufacturer_part.html:90 -#: company/templates/company/supplier_part.html:146 part/serializers.py:404 +#: company/templates/company/supplier_part.html:146 part/serializers.py:415 #: stock/templates/stock/item_base.html:208 #: templates/js/translated/company.js:505 #: templates/js/translated/company.js:1149 @@ -3788,13 +3788,13 @@ msgid "Select manufacturer" msgstr "选择制造商" #: company/models.py:449 company/templates/company/manufacturer_part.html:101 -#: company/templates/company/supplier_part.html:154 part/serializers.py:410 +#: company/templates/company/supplier_part.html:154 part/serializers.py:421 #: templates/js/translated/company.js:350 #: templates/js/translated/company.js:1148 #: templates/js/translated/company.js:1343 #: templates/js/translated/company.js:1661 templates/js/translated/part.js:1772 -#: templates/js/translated/purchase_order.js:1829 -#: templates/js/translated/purchase_order.js:2031 +#: templates/js/translated/purchase_order.js:1826 +#: templates/js/translated/purchase_order.js:2028 msgid "MPN" msgstr "" @@ -3825,7 +3825,7 @@ msgstr "参数名称" #: report/templates/report/inventree_test_report_base.html:104 #: stock/models.py:2255 templates/js/translated/company.js:1197 #: templates/js/translated/company.js:1450 templates/js/translated/part.js:1464 -#: templates/js/translated/stock.js:1445 +#: templates/js/translated/stock.js:1464 msgid "Value" msgstr "数值" @@ -3862,7 +3862,7 @@ msgstr "" #: company/models.py:713 company/templates/company/company_base.html:82 #: company/templates/company/supplier_part.html:130 order/models.py:395 #: order/templates/order/order_base.html:136 part/bom.py:285 part/bom.py:313 -#: part/serializers.py:393 stock/templates/stock/item_base.html:225 +#: part/serializers.py:404 stock/templates/stock/item_base.html:225 #: templates/email/overdue_purchase_order.html:16 #: templates/js/translated/company.js:349 #: templates/js/translated/company.js:509 @@ -3878,15 +3878,15 @@ msgid "Select supplier" msgstr "选择供应商" #: company/models.py:719 company/templates/company/supplier_part.html:140 -#: part/bom.py:286 part/bom.py:314 part/serializers.py:399 +#: part/bom.py:286 part/bom.py:314 part/serializers.py:410 #: templates/js/translated/company.js:348 templates/js/translated/part.js:1758 #: templates/js/translated/pricing.js:510 -#: templates/js/translated/purchase_order.js:1828 -#: templates/js/translated/purchase_order.js:2006 +#: templates/js/translated/purchase_order.js:1825 +#: templates/js/translated/purchase_order.js:2003 msgid "SKU" msgstr "" -#: company/models.py:720 part/serializers.py:399 +#: company/models.py:720 part/serializers.py:410 msgid "Supplier stock keeping unit" msgstr "" @@ -3903,7 +3903,7 @@ msgid "Supplier part description" msgstr "供应商商品描述" #: company/models.py:745 company/templates/company/supplier_part.html:188 -#: part/admin.py:279 part/models.py:3848 part/templates/part/upload_bom.html:59 +#: part/admin.py:279 part/models.py:3839 part/templates/part/upload_bom.html:59 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_po_report_base.html:32 #: report/templates/report/inventree_return_order_report_base.html:27 @@ -3924,7 +3924,7 @@ msgstr "最低收费(例如库存费)" #: stock/admin.py:119 stock/models.py:701 #: stock/templates/stock/item_base.html:241 #: templates/js/translated/company.js:1677 -#: templates/js/translated/stock.js:2314 +#: templates/js/translated/stock.js:2333 msgid "Packaging" msgstr "打包" @@ -3937,8 +3937,8 @@ msgstr "商品打包" #: templates/js/translated/purchase_order.js:311 #: templates/js/translated/purchase_order.js:842 #: templates/js/translated/purchase_order.js:1088 -#: templates/js/translated/purchase_order.js:2062 -#: templates/js/translated/purchase_order.js:2079 +#: templates/js/translated/purchase_order.js:2059 +#: templates/js/translated/purchase_order.js:2076 msgid "Pack Quantity" msgstr "" @@ -3957,8 +3957,8 @@ msgstr "" #: company/models.py:781 company/templates/company/supplier_part.html:115 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2486 -#: templates/js/translated/index.js:118 +#: templates/js/translated/bom.js:1145 templates/js/translated/build.js:2483 +#: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:219 #: templates/js/translated/part.js:669 templates/js/translated/part.js:671 #: templates/js/translated/part.js:676 @@ -4046,9 +4046,9 @@ msgstr "" #: stock/templates/stock/item_base.html:401 #: templates/email/overdue_sales_order.html:16 #: templates/js/translated/company.js:501 -#: templates/js/translated/return_order.js:296 -#: templates/js/translated/sales_order.js:784 -#: templates/js/translated/stock.js:2822 +#: templates/js/translated/return_order.js:293 +#: templates/js/translated/sales_order.js:781 +#: templates/js/translated/stock.js:2841 #: templates/js/translated/table_filters.js:739 msgid "Customer" msgstr "客户" @@ -4134,7 +4134,7 @@ msgstr "供货商库存" #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:12 #: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 -#: templates/InvenTree/index.html:226 templates/InvenTree/search.html:199 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 #: templates/InvenTree/settings/sidebar.html:55 #: templates/js/translated/search.js:205 templates/navbar.html:50 #: users/models.py:43 @@ -4157,7 +4157,7 @@ msgstr "新建采购订单" #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:15 #: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 -#: templates/InvenTree/index.html:258 templates/InvenTree/search.html:219 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 #: templates/InvenTree/settings/sidebar.html:57 #: templates/js/translated/search.js:219 templates/navbar.html:62 #: users/models.py:44 @@ -4328,7 +4328,7 @@ msgstr "地址" #: stock/templates/stock/item_base.html:234 #: templates/js/translated/company.js:1631 #: templates/js/translated/purchase_order.js:758 -#: templates/js/translated/stock.js:2170 +#: templates/js/translated/stock.js:2189 msgid "Supplier Part" msgstr "供应商商品" @@ -4410,7 +4410,7 @@ msgstr "" msgid "Link Barcode to Supplier Part" msgstr "" -#: company/templates/company/supplier_part.html:361 +#: company/templates/company/supplier_part.html:360 msgid "Update Part Availability" msgstr "" @@ -4422,7 +4422,7 @@ msgstr "" #: stock/templates/stock/location.html:194 #: stock/templates/stock/location_sidebar.html:7 #: templates/InvenTree/search.html:155 templates/js/translated/part.js:1033 -#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2640 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2659 #: users/models.py:41 msgid "Stock Items" msgstr "库存项" @@ -4472,7 +4472,7 @@ msgstr "标签" msgid "Label template file" msgstr "标签模板文件" -#: label/models.py:133 report/models.py:273 +#: label/models.py:133 report/models.py:272 msgid "Enabled" msgstr "已启用" @@ -4496,7 +4496,7 @@ msgstr "高度 [mm]" msgid "Label height, specified in mm" msgstr "标注高度,以毫米为单位。" -#: label/models.py:153 report/models.py:266 +#: label/models.py:153 report/models.py:265 msgid "Filename Pattern" msgstr "文件名样式" @@ -4512,8 +4512,8 @@ msgid "Query filters (comma-separated list of key=value pairs)" msgstr "查询筛选器 (逗号分隔的键值对列表)" #: label/models.py:251 label/models.py:292 label/models.py:320 -#: label/models.py:356 report/models.py:294 report/models.py:454 -#: report/models.py:492 report/models.py:530 +#: label/models.py:356 report/models.py:293 report/models.py:440 +#: report/models.py:478 report/models.py:516 msgid "Filters" msgstr "筛选器" @@ -4536,8 +4536,8 @@ msgstr "" #: report/templates/report/inventree_po_report_base.html:31 #: report/templates/report/inventree_so_report_base.html:31 #: templates/js/translated/order.js:327 -#: templates/js/translated/purchase_order.js:2103 -#: templates/js/translated/sales_order.js:1839 +#: templates/js/translated/purchase_order.js:2100 +#: templates/js/translated/sales_order.js:1836 msgid "Total Price" msgstr "" @@ -4555,7 +4555,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:165 #: templates/js/translated/purchase_order.js:759 #: templates/js/translated/purchase_order.js:1652 -#: templates/js/translated/stock.js:2150 templates/js/translated/stock.js:2770 +#: templates/js/translated/stock.js:2169 templates/js/translated/stock.js:2789 msgid "Purchase Order" msgstr "" @@ -4563,14 +4563,14 @@ msgstr "" #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 -#: templates/js/translated/return_order.js:281 -#: templates/js/translated/stock.js:2804 +#: templates/js/translated/return_order.js:278 +#: templates/js/translated/stock.js:2823 #, fuzzy #| msgid "Returned" msgid "Return Order" msgstr "已退回" -#: order/api.py:1458 templates/js/translated/sales_order.js:1042 +#: order/api.py:1458 templates/js/translated/sales_order.js:1039 msgid "Unknown" msgstr "" @@ -4694,8 +4694,8 @@ msgid "Customer order reference code" msgstr "" #: order/models.py:814 order/models.py:1421 -#: templates/js/translated/sales_order.js:843 -#: templates/js/translated/sales_order.js:1024 +#: templates/js/translated/sales_order.js:840 +#: templates/js/translated/sales_order.js:1021 msgid "Shipment Date" msgstr "" @@ -4765,7 +4765,7 @@ msgstr "" #: order/models.py:1190 order/models.py:1275 order/models.py:1316 #: order/models.py:1415 order/models.py:1564 order/models.py:1921 -#: order/models.py:1968 templates/js/translated/sales_order.js:1486 +#: order/models.py:1968 templates/js/translated/sales_order.js:1483 msgid "Order" msgstr "" @@ -4776,8 +4776,8 @@ msgstr "供应商商品" #: order/models.py:1216 order/templates/order/order_base.html:196 #: templates/js/translated/part.js:1840 templates/js/translated/part.js:1871 #: templates/js/translated/purchase_order.js:1291 -#: templates/js/translated/purchase_order.js:2147 -#: templates/js/translated/return_order.js:760 +#: templates/js/translated/purchase_order.js:2144 +#: templates/js/translated/return_order.js:757 #: templates/js/translated/table_filters.js:96 #: templates/js/translated/table_filters.js:537 msgid "Received" @@ -4789,7 +4789,7 @@ msgstr "" #: order/models.py:1224 stock/models.py:823 stock/serializers.py:314 #: stock/templates/stock/item_base.html:184 -#: templates/js/translated/stock.js:2201 +#: templates/js/translated/stock.js:2220 msgid "Purchase Price" msgstr "采购价格" @@ -4826,7 +4826,7 @@ msgstr "" msgid "Date of shipment" msgstr "" -#: order/models.py:1427 templates/js/translated/sales_order.js:1036 +#: order/models.py:1427 templates/js/translated/sales_order.js:1033 msgid "Delivery Date" msgstr "" @@ -4912,7 +4912,7 @@ msgid "Sales order shipment reference" msgstr "" #: order/models.py:1654 order/models.py:1929 -#: templates/js/translated/return_order.js:718 +#: templates/js/translated/return_order.js:715 msgid "Item" msgstr "" @@ -4958,7 +4958,7 @@ msgstr "" msgid "The date this this return item was received" msgstr "" -#: order/models.py:1947 templates/js/translated/return_order.js:729 +#: order/models.py:1947 templates/js/translated/return_order.js:726 #: templates/js/translated/table_filters.js:99 msgid "Outcome" msgstr "" @@ -5311,8 +5311,8 @@ msgstr "" #: templates/js/translated/build.js:1551 #: templates/js/translated/purchase_order.js:703 #: templates/js/translated/purchase_order.js:1221 -#: templates/js/translated/return_order.js:506 -#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/return_order.js:503 +#: templates/js/translated/sales_order.js:1106 #: templates/js/translated/stock.js:680 templates/js/translated/stock.js:849 #: templates/patterns/wizard/match_fields.html:70 msgid "Remove row" @@ -5375,7 +5375,7 @@ msgstr "" #: order/templates/order/return_order_detail.html:24 #: order/templates/order/sales_order_detail.html:24 #: templates/js/translated/purchase_order.js:430 -#: templates/js/translated/return_order.js:459 +#: templates/js/translated/return_order.js:456 #: templates/js/translated/sales_order.js:234 msgid "Add Line Item" msgstr "" @@ -5427,8 +5427,8 @@ msgstr "" #: order/templates/order/return_order_base.html:139 #: order/templates/order/sales_order_base.html:152 -#: templates/js/translated/return_order.js:309 -#: templates/js/translated/sales_order.js:797 +#: templates/js/translated/return_order.js:306 +#: templates/js/translated/sales_order.js:794 msgid "Customer Reference" msgstr "" @@ -5440,8 +5440,8 @@ msgstr "" #: part/templates/part/part_pricing.html:114 #: templates/js/translated/part.js:1045 #: templates/js/translated/purchase_order.js:1727 -#: templates/js/translated/return_order.js:381 -#: templates/js/translated/sales_order.js:855 +#: templates/js/translated/return_order.js:378 +#: templates/js/translated/sales_order.js:852 msgid "Total Cost" msgstr "" @@ -5506,7 +5506,7 @@ msgid "Sales Order Items" msgstr "" #: order/templates/order/sales_order_detail.html:67 -#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:283 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 msgid "Pending Shipments" msgstr "" @@ -5541,12 +5541,12 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/admin.py:33 part/admin.py:273 part/models.py:3719 part/tasks.py:288 +#: part/admin.py:33 part/admin.py:273 part/models.py:3710 part/tasks.py:288 #: stock/admin.py:101 msgid "Part ID" msgstr "商品ID" -#: part/admin.py:34 part/admin.py:275 part/models.py:3723 part/tasks.py:289 +#: part/admin.py:34 part/admin.py:275 part/models.py:3714 part/tasks.py:289 #: stock/admin.py:102 msgid "Part Name" msgstr "" @@ -5557,12 +5557,12 @@ msgstr "" #: part/admin.py:36 part/models.py:893 part/templates/part/part_base.html:271 #: templates/js/translated/part.js:1199 templates/js/translated/part.js:2306 -#: templates/js/translated/stock.js:1949 +#: templates/js/translated/stock.js:1968 msgid "IPN" msgstr "" #: part/admin.py:37 part/models.py:900 part/templates/part/part_base.html:279 -#: report/models.py:179 templates/js/translated/part.js:1204 +#: report/models.py:178 templates/js/translated/part.js:1204 #: templates/js/translated/part.js:2312 msgid "Revision" msgstr "" @@ -5603,7 +5603,7 @@ msgid "In Stock" msgstr "" #: part/admin.py:62 part/bom.py:178 part/templates/part/part_base.html:212 -#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2537 +#: templates/js/translated/bom.js:1187 templates/js/translated/build.js:2534 #: templates/js/translated/part.js:686 templates/js/translated/part.js:2118 #: templates/js/translated/table_filters.js:146 msgid "On Order" @@ -5639,7 +5639,7 @@ msgstr "" msgid "Category Path" msgstr "类别路径" -#: part/admin.py:202 part/models.py:393 part/serializers.py:307 +#: part/admin.py:202 part/models.py:393 part/serializers.py:318 #: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 #: part/templates/part/category.html:140 part/templates/part/category.html:160 #: part/templates/part/category_sidebar.html:9 @@ -5662,7 +5662,7 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:274 part/models.py:3727 +#: part/admin.py:274 part/models.py:3718 msgid "Part IPN" msgstr "" @@ -5714,7 +5714,7 @@ msgid "Total Stock" msgstr "" #: part/bom.py:177 part/templates/part/part_base.html:194 -#: templates/js/translated/sales_order.js:1885 +#: templates/js/translated/sales_order.js:1882 msgid "Available Stock" msgstr "可用库存" @@ -5722,7 +5722,7 @@ msgstr "可用库存" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:76 part/models.py:3668 part/templates/part/category.html:16 +#: part/models.py:76 part/models.py:3659 part/templates/part/category.html:16 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "商品类别" @@ -5737,7 +5737,7 @@ msgstr "商品类别" msgid "Default location for parts in this category" msgstr "此类别商品的默认仓储地点" -#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2646 +#: part/models.py:134 stock/models.py:124 templates/js/translated/stock.js:2665 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:235 msgid "Structural" @@ -5797,7 +5797,7 @@ msgstr "" msgid "Parts cannot be assigned to structural part categories!" msgstr "" -#: part/models.py:850 part/models.py:3724 +#: part/models.py:850 part/models.py:3715 msgid "Part name" msgstr "商品名称" @@ -5823,8 +5823,8 @@ msgstr "描述 (可选)" msgid "Part keywords to improve visibility in search results" msgstr "提高搜索结果可见性的关键字" -#: part/models.py:887 part/models.py:3235 part/models.py:3667 -#: part/serializers.py:320 part/serializers.py:910 +#: part/models.py:887 part/models.py:3235 part/models.py:3658 +#: part/serializers.py:331 part/serializers.py:926 #: part/templates/part/part_base.html:262 #: templates/InvenTree/settings/settings_staff_js.html:204 #: templates/js/translated/notification.js:59 @@ -6082,7 +6082,7 @@ msgstr "" #: templates/js/translated/part.js:1058 templates/js/translated/pricing.js:812 #: templates/js/translated/pricing.js:936 #: templates/js/translated/purchase_order.js:1706 -#: templates/js/translated/stock.js:2684 +#: templates/js/translated/stock.js:2703 msgid "Date" msgstr "" @@ -6230,180 +6230,180 @@ msgstr "" msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3548 +#: part/models.py:3539 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3592 +#: part/models.py:3583 msgid "Parent Part" msgstr "" -#: part/models.py:3597 part/models.py:3673 part/models.py:3674 +#: part/models.py:3588 part/models.py:3664 part/models.py:3665 #: templates/InvenTree/settings/settings_staff_js.html:199 msgid "Parameter Template" msgstr "参数模板" -#: part/models.py:3602 +#: part/models.py:3593 msgid "Data" msgstr "" -#: part/models.py:3602 +#: part/models.py:3593 msgid "Parameter Value" msgstr "" -#: part/models.py:3678 templates/InvenTree/settings/settings_staff_js.html:208 +#: part/models.py:3669 templates/InvenTree/settings/settings_staff_js.html:208 msgid "Default Value" msgstr "默认值" -#: part/models.py:3679 +#: part/models.py:3670 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3716 +#: part/models.py:3707 msgid "Part ID or part name" msgstr "" -#: part/models.py:3720 +#: part/models.py:3711 msgid "Unique part ID value" msgstr "" -#: part/models.py:3728 +#: part/models.py:3719 msgid "Part IPN value" msgstr "" -#: part/models.py:3731 +#: part/models.py:3722 msgid "Level" msgstr "" -#: part/models.py:3732 +#: part/models.py:3723 msgid "BOM level" msgstr "" -#: part/models.py:3738 part/models.py:4116 +#: part/models.py:3729 part/models.py:4107 msgid "BOM Item" msgstr "BOM项" -#: part/models.py:3811 +#: part/models.py:3802 msgid "Select parent part" msgstr "" -#: part/models.py:3819 +#: part/models.py:3810 msgid "Sub part" msgstr "" -#: part/models.py:3820 +#: part/models.py:3811 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:3826 +#: part/models.py:3817 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:3831 +#: part/models.py:3822 msgid "This BOM item is optional" msgstr "" -#: part/models.py:3837 +#: part/models.py:3828 msgid "This BOM item is consumable (it is not tracked in build orders)" msgstr "" -#: part/models.py:3841 part/templates/part/upload_bom.html:55 +#: part/models.py:3832 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:3842 +#: part/models.py:3833 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:3845 +#: part/models.py:3836 msgid "BOM item reference" msgstr "" -#: part/models.py:3848 +#: part/models.py:3839 msgid "BOM item notes" msgstr "" -#: part/models.py:3852 +#: part/models.py:3843 msgid "Checksum" msgstr "" -#: part/models.py:3852 +#: part/models.py:3843 msgid "BOM line checksum" msgstr "" -#: part/models.py:3857 templates/js/translated/table_filters.js:150 +#: part/models.py:3848 templates/js/translated/table_filters.js:150 msgid "Validated" msgstr "" -#: part/models.py:3858 +#: part/models.py:3849 #, fuzzy #| msgid "Some stock items have been overallocated" msgid "This BOM item has been validated" msgstr "一些库存项已被过度分配" -#: part/models.py:3863 part/templates/part/upload_bom.html:57 +#: part/models.py:3854 part/templates/part/upload_bom.html:57 #: templates/js/translated/bom.js:1042 #: templates/js/translated/table_filters.js:154 #: templates/js/translated/table_filters.js:187 msgid "Gets inherited" msgstr "" -#: part/models.py:3864 +#: part/models.py:3855 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:3869 part/templates/part/upload_bom.html:56 +#: part/models.py:3860 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1034 msgid "Allow Variants" msgstr "" -#: part/models.py:3870 +#: part/models.py:3861 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:3956 stock/models.py:577 +#: part/models.py:3947 stock/models.py:577 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:3965 part/models.py:3967 +#: part/models.py:3956 part/models.py:3958 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4083 +#: part/models.py:4074 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4104 +#: part/models.py:4095 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4117 +#: part/models.py:4108 msgid "Parent BOM item" msgstr "" -#: part/models.py:4125 +#: part/models.py:4116 msgid "Substitute part" msgstr "" -#: part/models.py:4140 +#: part/models.py:4131 msgid "Part 1" msgstr "" -#: part/models.py:4144 +#: part/models.py:4135 msgid "Part 2" msgstr "" -#: part/models.py:4144 +#: part/models.py:4135 msgid "Select Related Part" msgstr "" -#: part/models.py:4162 +#: part/models.py:4153 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4166 +#: part/models.py:4157 msgid "Duplicate relationship already exists" msgstr "" @@ -6411,236 +6411,236 @@ msgstr "" msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:313 +#: part/serializers.py:324 #, fuzzy #| msgid "Rejected" msgid "No parts selected" msgstr "已拒绝" -#: part/serializers.py:321 +#: part/serializers.py:332 #, fuzzy #| msgid "Set category" msgid "Select category" msgstr "设置类别" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Original Part" msgstr "" -#: part/serializers.py:352 +#: part/serializers.py:363 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy Image" msgstr "" -#: part/serializers.py:357 +#: part/serializers.py:368 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:362 part/templates/part/detail.html:277 +#: part/serializers.py:373 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:362 +#: part/serializers.py:373 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:367 +#: part/serializers.py:378 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:377 +#: part/serializers.py:388 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:383 +#: part/serializers.py:394 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:404 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:404 +#: part/serializers.py:415 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:410 +#: part/serializers.py:421 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:417 +#: part/serializers.py:428 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:425 +#: part/serializers.py:436 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:437 +#: part/serializers.py:448 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:445 +#: part/serializers.py:456 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:682 part/templates/part/copy_part.html:9 +#: part/serializers.py:698 part/templates/part/copy_part.html:9 #: templates/js/translated/part.js:448 msgid "Duplicate Part" msgstr "复制部件" -#: part/serializers.py:682 +#: part/serializers.py:698 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:687 templates/js/translated/part.js:102 +#: part/serializers.py:703 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:687 +#: part/serializers.py:703 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Supplier Information" msgstr "" -#: part/serializers.py:692 +#: part/serializers.py:708 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:698 +#: part/serializers.py:714 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:699 +#: part/serializers.py:715 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:904 +#: part/serializers.py:920 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:910 +#: part/serializers.py:926 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:916 +#: part/serializers.py:932 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:921 +#: part/serializers.py:937 msgid "Generate Report" msgstr "" -#: part/serializers.py:922 +#: part/serializers.py:938 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:927 +#: part/serializers.py:943 msgid "Update Parts" msgstr "" -#: part/serializers.py:928 +#: part/serializers.py:944 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:936 +#: part/serializers.py:952 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1025 +#: part/serializers.py:1041 msgid "Update" msgstr "" -#: part/serializers.py:1026 +#: part/serializers.py:1042 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1308 +#: part/serializers.py:1329 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1337 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1317 +#: part/serializers.py:1338 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1322 +#: part/serializers.py:1343 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1323 +#: part/serializers.py:1344 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1328 +#: part/serializers.py:1349 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1329 +#: part/serializers.py:1350 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1355 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1335 +#: part/serializers.py:1356 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1375 +#: part/serializers.py:1396 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1376 +#: part/serializers.py:1397 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1406 +#: part/serializers.py:1427 msgid "No part column specified" msgstr "" -#: part/serializers.py:1449 +#: part/serializers.py:1470 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1452 +#: part/serializers.py:1473 msgid "No matching part found" msgstr "" -#: part/serializers.py:1455 +#: part/serializers.py:1476 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1464 +#: part/serializers.py:1485 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1472 +#: part/serializers.py:1493 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1493 +#: part/serializers.py:1514 msgid "At least one BOM item is required" msgstr "" @@ -6655,7 +6655,7 @@ msgstr "" #: part/tasks.py:294 templates/js/translated/part.js:1039 #: templates/js/translated/part.js:1792 templates/js/translated/part.js:1847 -#: templates/js/translated/purchase_order.js:2062 +#: templates/js/translated/purchase_order.js:2059 msgid "Total Quantity" msgstr "" @@ -6805,7 +6805,7 @@ msgstr "" #: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 #: stock/admin.py:130 templates/InvenTree/settings/part_stocktake.html:29 #: templates/InvenTree/settings/sidebar.html:51 -#: templates/js/translated/stock.js:2106 users/models.py:39 +#: templates/js/translated/stock.js:2125 users/models.py:39 msgid "Stocktake" msgstr "" @@ -7175,7 +7175,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:49 #: templates/js/translated/part.js:1215 templates/js/translated/part.js:2115 #: templates/js/translated/part.js:2357 templates/js/translated/stock.js:1021 -#: templates/js/translated/stock.js:1983 templates/navbar.html:31 +#: templates/js/translated/stock.js:2002 templates/navbar.html:31 msgid "Stock" msgstr "库存" @@ -7208,7 +7208,7 @@ msgstr "" #: stock/templates/stock/item_base.html:442 #: templates/js/translated/company.js:1734 #: templates/js/translated/company.js:1744 -#: templates/js/translated/stock.js:2136 +#: templates/js/translated/stock.js:2155 msgid "Last Updated" msgstr "" @@ -7276,7 +7276,7 @@ msgstr "" msgid "No Stock" msgstr "" -#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:119 +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 msgid "Low Stock" msgstr "" @@ -7587,91 +7587,91 @@ msgstr "" msgid "Test report" msgstr "" -#: report/models.py:161 +#: report/models.py:160 msgid "Template name" msgstr "" -#: report/models.py:167 +#: report/models.py:166 msgid "Report template file" msgstr "" -#: report/models.py:174 +#: report/models.py:173 msgid "Report template description" msgstr "" -#: report/models.py:180 +#: report/models.py:179 msgid "Report revision number (auto-increments)" msgstr "" -#: report/models.py:267 +#: report/models.py:266 msgid "Pattern for generating report filenames" msgstr "" -#: report/models.py:274 +#: report/models.py:273 msgid "Report template is enabled" msgstr "" -#: report/models.py:295 +#: report/models.py:294 msgid "StockItem query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:303 +#: report/models.py:302 msgid "Include Installed Tests" msgstr "" -#: report/models.py:304 +#: report/models.py:303 msgid "Include test results for stock items installed inside assembled item" msgstr "" -#: report/models.py:378 +#: report/models.py:364 msgid "Build Filters" msgstr "" -#: report/models.py:379 +#: report/models.py:365 msgid "Build query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:420 +#: report/models.py:406 msgid "Part Filters" msgstr "商品过滤器" -#: report/models.py:421 +#: report/models.py:407 msgid "Part query filters (comma-separated list of key=value pairs" msgstr "" -#: report/models.py:455 +#: report/models.py:441 msgid "Purchase order query filters" msgstr "" -#: report/models.py:493 +#: report/models.py:479 msgid "Sales order query filters" msgstr "" -#: report/models.py:531 +#: report/models.py:517 msgid "Return order query filters" msgstr "" -#: report/models.py:584 +#: report/models.py:570 msgid "Snippet" msgstr "" -#: report/models.py:585 +#: report/models.py:571 msgid "Report snippet file" msgstr "" -#: report/models.py:589 +#: report/models.py:575 msgid "Snippet file description" msgstr "" -#: report/models.py:626 +#: report/models.py:612 msgid "Asset" msgstr "" -#: report/models.py:627 +#: report/models.py:613 msgid "Report asset file" msgstr "" -#: report/models.py:634 +#: report/models.py:620 msgid "Asset file description" msgstr "" @@ -7692,8 +7692,8 @@ msgstr "" #: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 #: templates/js/translated/pricing.js:596 #: templates/js/translated/pricing.js:820 -#: templates/js/translated/purchase_order.js:2093 -#: templates/js/translated/sales_order.js:1829 +#: templates/js/translated/purchase_order.js:2090 +#: templates/js/translated/sales_order.js:1826 msgid "Unit Price" msgstr "单价" @@ -7707,8 +7707,8 @@ msgstr "额外的生产备注" #: report/templates/report/inventree_po_report_base.html:72 #: report/templates/report/inventree_so_report_base.html:72 -#: templates/js/translated/purchase_order.js:1995 -#: templates/js/translated/sales_order.js:1804 +#: templates/js/translated/purchase_order.js:1992 +#: templates/js/translated/sales_order.js:1801 msgid "Total" msgstr "" @@ -7716,13 +7716,13 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:88 #: stock/models.py:725 stock/templates/stock/item_base.html:312 #: templates/js/translated/build.js:508 templates/js/translated/build.js:1302 -#: templates/js/translated/build.js:2277 +#: templates/js/translated/build.js:2274 #: templates/js/translated/model_renderers.js:215 -#: templates/js/translated/return_order.js:540 -#: templates/js/translated/return_order.js:720 +#: templates/js/translated/return_order.js:537 +#: templates/js/translated/return_order.js:717 #: templates/js/translated/sales_order.js:312 -#: templates/js/translated/sales_order.js:1609 -#: templates/js/translated/sales_order.js:1694 +#: templates/js/translated/sales_order.js:1606 +#: templates/js/translated/sales_order.js:1691 #: templates/js/translated/stock.js:562 msgid "Serial Number" msgstr "序列号" @@ -7736,7 +7736,7 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:102 -#: stock/models.py:2243 templates/js/translated/stock.js:1418 +#: stock/models.py:2243 templates/js/translated/stock.js:1437 msgid "Test" msgstr "" @@ -7770,7 +7770,7 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:168 #: stock/admin.py:104 templates/js/translated/stock.js:666 -#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2971 +#: templates/js/translated/stock.js:837 templates/js/translated/stock.js:2990 msgid "Serial" msgstr "" @@ -7842,7 +7842,7 @@ msgstr "删除模板" #: stock/admin.py:131 stock/models.py:789 #: stock/templates/stock/item_base.html:429 -#: templates/js/translated/stock.js:2120 +#: templates/js/translated/stock.js:2139 msgid "Expiry Date" msgstr "" @@ -7850,23 +7850,23 @@ msgstr "" msgid "External Location" msgstr "" -#: stock/api.py:619 +#: stock/api.py:632 msgid "Quantity is required" msgstr "" -#: stock/api.py:626 +#: stock/api.py:639 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:652 +#: stock/api.py:665 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:661 +#: stock/api.py:674 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:679 +#: stock/api.py:692 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7895,7 +7895,7 @@ msgstr "" msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." msgstr "" -#: stock/models.py:132 templates/js/translated/stock.js:2655 +#: stock/models.py:132 templates/js/translated/stock.js:2674 #: templates/js/translated/table_filters.js:219 msgid "External" msgstr "" @@ -8280,44 +8280,44 @@ msgstr "" msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:71 +#: stock/templates/stock/item.html:72 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:80 +#: stock/templates/stock/item.html:81 #: stock/templates/stock/stock_sidebar.html:12 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:84 stock/templates/stock/item_base.html:66 +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:66 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:88 stock/templates/stock/item.html:278 +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:279 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:92 +#: stock/templates/stock/item.html:93 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:124 +#: stock/templates/stock/item.html:125 msgid "Stock Item Notes" msgstr "" -#: stock/templates/stock/item.html:139 +#: stock/templates/stock/item.html:140 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:144 templates/js/translated/stock.js:3118 +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3137 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:266 +#: stock/templates/stock/item.html:267 msgid "Delete all test results for this stock item" msgstr "" -#: stock/templates/stock/item.html:295 templates/js/translated/stock.js:1610 +#: stock/templates/stock/item.html:296 templates/js/translated/stock.js:1629 msgid "Add Test Result" msgstr "" @@ -8340,17 +8340,17 @@ msgid "Stock adjustment actions" msgstr "" #: stock/templates/stock/item_base.html:80 -#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1735 +#: stock/templates/stock/location.html:88 templates/js/translated/stock.js:1754 msgid "Count stock" msgstr "" #: stock/templates/stock/item_base.html:82 -#: templates/js/translated/stock.js:1717 +#: templates/js/translated/stock.js:1736 msgid "Add stock" msgstr "" #: stock/templates/stock/item_base.html:83 -#: templates/js/translated/stock.js:1726 +#: templates/js/translated/stock.js:1745 msgid "Remove stock" msgstr "" @@ -8359,12 +8359,12 @@ msgid "Serialize stock" msgstr "" #: stock/templates/stock/item_base.html:89 -#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1744 +#: stock/templates/stock/location.html:94 templates/js/translated/stock.js:1763 msgid "Transfer stock" msgstr "" #: stock/templates/stock/item_base.html:92 -#: templates/js/translated/stock.js:1798 +#: templates/js/translated/stock.js:1817 msgid "Assign to customer" msgstr "" @@ -8473,7 +8473,7 @@ msgid "Available Quantity" msgstr "" #: stock/templates/stock/item_base.html:394 -#: templates/js/translated/build.js:2302 +#: templates/js/translated/build.js:2299 msgid "No location set" msgstr "未设置仓储地点" @@ -8510,7 +8510,7 @@ msgid "No stocktake performed" msgstr "" #: stock/templates/stock/item_base.html:503 -#: templates/js/translated/stock.js:1865 +#: templates/js/translated/stock.js:1884 #, fuzzy #| msgid "Stock Item" msgid "stock item" @@ -8619,7 +8619,7 @@ msgid "New Location" msgstr "新建仓储地点" #: stock/templates/stock/location.html:278 -#: templates/js/translated/stock.js:2446 +#: templates/js/translated/stock.js:2465 #, fuzzy #| msgid "Stock Location" msgid "stock location" @@ -8727,51 +8727,51 @@ msgstr "" msgid "Recently Updated" msgstr "" -#: templates/InvenTree/index.html:133 +#: templates/InvenTree/index.html:134 msgid "Depleted Stock" msgstr "" -#: templates/InvenTree/index.html:147 +#: templates/InvenTree/index.html:148 msgid "Required for Build Orders" msgstr "" -#: templates/InvenTree/index.html:155 +#: templates/InvenTree/index.html:156 msgid "Expired Stock" msgstr "" -#: templates/InvenTree/index.html:171 +#: templates/InvenTree/index.html:172 msgid "Stale Stock" msgstr "" -#: templates/InvenTree/index.html:198 +#: templates/InvenTree/index.html:199 msgid "Build Orders In Progress" msgstr "" -#: templates/InvenTree/index.html:209 +#: templates/InvenTree/index.html:210 msgid "Overdue Build Orders" msgstr "" -#: templates/InvenTree/index.html:229 +#: templates/InvenTree/index.html:230 msgid "Outstanding Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:240 +#: templates/InvenTree/index.html:241 msgid "Overdue Purchase Orders" msgstr "" -#: templates/InvenTree/index.html:261 +#: templates/InvenTree/index.html:262 msgid "Outstanding Sales Orders" msgstr "" -#: templates/InvenTree/index.html:272 +#: templates/InvenTree/index.html:273 msgid "Overdue Sales Orders" msgstr "" -#: templates/InvenTree/index.html:298 +#: templates/InvenTree/index.html:299 msgid "InvenTree News" msgstr "" -#: templates/InvenTree/index.html:300 +#: templates/InvenTree/index.html:301 msgid "Current News" msgstr "" @@ -9756,7 +9756,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2481 +#: templates/js/translated/bom.js:1653 templates/js/translated/build.js:2478 msgid "Required Quantity" msgstr "" @@ -10123,7 +10123,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2425 +#: templates/js/translated/bom.js:938 templates/js/translated/build.js:2422 msgid "Variant stock allowed" msgstr "" @@ -10143,25 +10143,25 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2519 -#: templates/js/translated/sales_order.js:1899 +#: templates/js/translated/bom.js:1165 templates/js/translated/build.js:2516 +#: templates/js/translated/sales_order.js:1896 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2523 +#: templates/js/translated/bom.js:1170 templates/js/translated/build.js:2520 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2525 +#: templates/js/translated/bom.js:1172 templates/js/translated/build.js:2522 #: templates/js/translated/part.js:1229 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2527 +#: templates/js/translated/bom.js:1174 templates/js/translated/build.js:2524 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2510 +#: templates/js/translated/bom.js:1204 templates/js/translated/build.js:2507 msgid "Consumable item" msgstr "" @@ -10193,7 +10193,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2410 +#: templates/js/translated/bom.js:1636 templates/js/translated/build.js:2407 msgid "Required Part" msgstr "" @@ -10386,7 +10386,7 @@ msgstr "" msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:970 templates/js/translated/build.js:2266 +#: templates/js/translated/build.js:970 templates/js/translated/build.js:2263 #, fuzzy #| msgid "Allocated Parts" msgid "Allocated Quantity" @@ -10444,17 +10444,17 @@ msgstr "" #: templates/js/translated/build.js:1498 #: templates/js/translated/purchase_order.js:627 -#: templates/js/translated/sales_order.js:1171 +#: templates/js/translated/sales_order.js:1168 msgid "Select Parts" msgstr "选择商品" #: templates/js/translated/build.js:1499 -#: templates/js/translated/sales_order.js:1172 +#: templates/js/translated/sales_order.js:1169 msgid "You must select at least one part to allocate" msgstr "" #: templates/js/translated/build.js:1562 -#: templates/js/translated/sales_order.js:1121 +#: templates/js/translated/sales_order.js:1118 msgid "Specify stock allocation quantity" msgstr "" @@ -10467,7 +10467,7 @@ msgid "All selected parts have been fully allocated" msgstr "" #: templates/js/translated/build.js:1654 -#: templates/js/translated/sales_order.js:1186 +#: templates/js/translated/sales_order.js:1183 msgid "Select source location (leave blank to take from all locations)" msgstr "" @@ -10476,12 +10476,12 @@ msgid "Allocate Stock Items to Build Order" msgstr "" #: templates/js/translated/build.js:1693 -#: templates/js/translated/sales_order.js:1283 +#: templates/js/translated/sales_order.js:1280 msgid "No matching stock locations" msgstr "" #: templates/js/translated/build.js:1766 -#: templates/js/translated/sales_order.js:1360 +#: templates/js/translated/sales_order.js:1357 msgid "No matching stock items" msgstr "" @@ -10513,9 +10513,9 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2404 +#: templates/js/translated/build.js:2036 templates/js/translated/build.js:2401 #: templates/js/translated/part.js:2281 templates/js/translated/part.js:2674 -#: templates/js/translated/stock.js:1896 templates/js/translated/stock.js:2584 +#: templates/js/translated/stock.js:1915 templates/js/translated/stock.js:2603 msgid "Select" msgstr "" @@ -10527,7 +10527,7 @@ msgstr "" msgid "Progress" msgstr "" -#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2905 +#: templates/js/translated/build.js:2132 templates/js/translated/stock.js:2924 msgid "No user information" msgstr "没有用户信息" @@ -10535,90 +10535,90 @@ msgstr "没有用户信息" msgid "group" msgstr "" -#: templates/js/translated/build.js:2311 -#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/build.js:2308 +#: templates/js/translated/sales_order.js:1641 msgid "Edit stock allocation" msgstr "" -#: templates/js/translated/build.js:2312 -#: templates/js/translated/sales_order.js:1645 +#: templates/js/translated/build.js:2309 +#: templates/js/translated/sales_order.js:1642 msgid "Delete stock allocation" msgstr "" -#: templates/js/translated/build.js:2327 +#: templates/js/translated/build.js:2324 msgid "Edit Allocation" msgstr "" -#: templates/js/translated/build.js:2339 +#: templates/js/translated/build.js:2336 msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2380 +#: templates/js/translated/build.js:2377 #, fuzzy #| msgid "Build actions" msgid "build line" msgstr "生产操作" -#: templates/js/translated/build.js:2381 +#: templates/js/translated/build.js:2378 #, fuzzy #| msgid "Build actions" msgid "build lines" msgstr "生产操作" -#: templates/js/translated/build.js:2399 +#: templates/js/translated/build.js:2396 #, fuzzy #| msgid "Subcategories" msgid "No build lines found" msgstr "子类别" -#: templates/js/translated/build.js:2429 templates/js/translated/part.js:767 +#: templates/js/translated/build.js:2426 templates/js/translated/part.js:767 #: templates/js/translated/part.js:1175 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/build.js:2464 +#: templates/js/translated/build.js:2461 #, fuzzy #| msgid "Quantity" msgid "Unit Quantity" msgstr "数量" -#: templates/js/translated/build.js:2513 -#: templates/js/translated/sales_order.js:1906 +#: templates/js/translated/build.js:2510 +#: templates/js/translated/sales_order.js:1903 msgid "Insufficient stock available" msgstr "" -#: templates/js/translated/build.js:2515 -#: templates/js/translated/sales_order.js:1904 +#: templates/js/translated/build.js:2512 +#: templates/js/translated/sales_order.js:1901 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2562 +#: templates/js/translated/build.js:2559 #, fuzzy #| msgid "Minimum Stock" msgid "Consumable Item" msgstr "最低库存" -#: templates/js/translated/build.js:2567 +#: templates/js/translated/build.js:2564 #, fuzzy #| msgid "Stock Item" msgid "Tracked item" msgstr "库存项" -#: templates/js/translated/build.js:2574 -#: templates/js/translated/sales_order.js:2005 +#: templates/js/translated/build.js:2571 +#: templates/js/translated/sales_order.js:2002 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2579 templates/js/translated/stock.js:1779 +#: templates/js/translated/build.js:2576 templates/js/translated/stock.js:1798 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2583 -#: templates/js/translated/sales_order.js:1999 +#: templates/js/translated/build.js:2580 +#: templates/js/translated/sales_order.js:1996 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2587 +#: templates/js/translated/build.js:2584 #, fuzzy #| msgid "Confirm stock allocation" msgid "Remove stock allocation" @@ -11027,13 +11027,13 @@ msgstr "" msgid "False" msgstr "" -#: templates/js/translated/index.js:99 +#: templates/js/translated/index.js:104 #, fuzzy #| msgid "Stock required for build order" msgid "No parts required for builds" msgstr "生产订单所需的库存" -#: templates/js/translated/index.js:125 +#: templates/js/translated/index.js:130 msgid "Allocated Stock" msgstr "" @@ -11195,7 +11195,7 @@ msgid "Delete Line" msgstr "" #: templates/js/translated/order.js:281 -#: templates/js/translated/purchase_order.js:1968 +#: templates/js/translated/purchase_order.js:1965 msgid "No line items found" msgstr "" @@ -11442,14 +11442,14 @@ msgid "No purchase orders found" msgstr "" #: templates/js/translated/part.js:1831 -#: templates/js/translated/purchase_order.js:2131 -#: templates/js/translated/return_order.js:752 -#: templates/js/translated/sales_order.js:1867 +#: templates/js/translated/purchase_order.js:2128 +#: templates/js/translated/return_order.js:749 +#: templates/js/translated/sales_order.js:1864 msgid "This line item is overdue" msgstr "" #: templates/js/translated/part.js:1876 -#: templates/js/translated/purchase_order.js:2198 +#: templates/js/translated/purchase_order.js:2195 msgid "Receive line item" msgstr "" @@ -11488,7 +11488,7 @@ msgid "No category" msgstr "没有分类" #: templates/js/translated/part.js:2463 templates/js/translated/part.js:2593 -#: templates/js/translated/stock.js:2543 +#: templates/js/translated/stock.js:2562 msgid "Display as list" msgstr "" @@ -11502,7 +11502,7 @@ msgstr "" msgid "No subcategories found" msgstr "子类别" -#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2563 +#: templates/js/translated/part.js:2613 templates/js/translated/stock.js:2582 msgid "Display as tree" msgstr "" @@ -11518,12 +11518,12 @@ msgstr "" msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1379 +#: templates/js/translated/part.js:2837 templates/js/translated/stock.js:1398 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1380 -#: templates/js/translated/stock.js:1642 +#: templates/js/translated/part.js:2838 templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1661 msgid "Delete test result" msgstr "" @@ -11784,7 +11784,7 @@ msgid "Select Line Items" msgstr "" #: templates/js/translated/purchase_order.js:1059 -#: templates/js/translated/return_order.js:492 +#: templates/js/translated/return_order.js:489 msgid "At least one line item must be selected" msgstr "" @@ -11841,7 +11841,7 @@ msgid "Quantity to Receive" msgstr "" #: templates/js/translated/purchase_order.js:1314 -#: templates/js/translated/return_order.js:557 +#: templates/js/translated/return_order.js:554 msgid "Confirm receipt of items" msgstr "" @@ -11866,63 +11866,63 @@ msgid "Invalid barcode data" msgstr "输入条形码数据" #: templates/js/translated/purchase_order.js:1660 -#: templates/js/translated/return_order.js:286 -#: templates/js/translated/sales_order.js:774 -#: templates/js/translated/sales_order.js:998 +#: templates/js/translated/return_order.js:283 +#: templates/js/translated/sales_order.js:771 +#: templates/js/translated/sales_order.js:995 msgid "Order is overdue" msgstr "" #: templates/js/translated/purchase_order.js:1722 -#: templates/js/translated/return_order.js:354 -#: templates/js/translated/sales_order.js:851 -#: templates/js/translated/sales_order.js:1011 +#: templates/js/translated/return_order.js:351 +#: templates/js/translated/sales_order.js:848 +#: templates/js/translated/sales_order.js:1008 msgid "Items" msgstr "" -#: templates/js/translated/purchase_order.js:1821 +#: templates/js/translated/purchase_order.js:1818 #, fuzzy #| msgid "All selected supplier parts will be deleted" msgid "All selected Line items will be deleted" msgstr "删除所有选定的供应商商品" -#: templates/js/translated/purchase_order.js:1839 +#: templates/js/translated/purchase_order.js:1836 #, fuzzy #| msgid "Allocate selected items" msgid "Delete selected Line items?" msgstr "分配选定项目" -#: templates/js/translated/purchase_order.js:1894 -#: templates/js/translated/sales_order.js:2059 +#: templates/js/translated/purchase_order.js:1891 +#: templates/js/translated/sales_order.js:2056 msgid "Duplicate Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1909 -#: templates/js/translated/return_order.js:476 -#: templates/js/translated/return_order.js:665 -#: templates/js/translated/sales_order.js:2072 +#: templates/js/translated/purchase_order.js:1906 +#: templates/js/translated/return_order.js:473 +#: templates/js/translated/return_order.js:662 +#: templates/js/translated/sales_order.js:2069 msgid "Edit Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:1920 -#: templates/js/translated/return_order.js:678 -#: templates/js/translated/sales_order.js:2083 +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/return_order.js:675 +#: templates/js/translated/sales_order.js:2080 msgid "Delete Line Item" msgstr "" -#: templates/js/translated/purchase_order.js:2202 -#: templates/js/translated/sales_order.js:2013 +#: templates/js/translated/purchase_order.js:2199 +#: templates/js/translated/sales_order.js:2010 msgid "Duplicate line item" msgstr "" -#: templates/js/translated/purchase_order.js:2203 -#: templates/js/translated/return_order.js:797 -#: templates/js/translated/sales_order.js:2014 +#: templates/js/translated/purchase_order.js:2200 +#: templates/js/translated/return_order.js:794 +#: templates/js/translated/sales_order.js:2011 msgid "Edit line item" msgstr "" -#: templates/js/translated/purchase_order.js:2204 -#: templates/js/translated/return_order.js:801 -#: templates/js/translated/sales_order.js:2020 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:798 +#: templates/js/translated/sales_order.js:2017 msgid "Delete line item" msgstr "" @@ -11991,21 +11991,21 @@ msgstr "生产订单完成" msgid "No return orders found" msgstr "无指定参数" -#: templates/js/translated/return_order.js:300 -#: templates/js/translated/sales_order.js:788 +#: templates/js/translated/return_order.js:297 +#: templates/js/translated/sales_order.js:785 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/return_order.js:558 +#: templates/js/translated/return_order.js:555 msgid "Receive Return Order Items" msgstr "" -#: templates/js/translated/return_order.js:689 -#: templates/js/translated/sales_order.js:2219 +#: templates/js/translated/return_order.js:686 +#: templates/js/translated/sales_order.js:2216 msgid "No matching line items" msgstr "" -#: templates/js/translated/return_order.js:794 +#: templates/js/translated/return_order.js:791 msgid "Mark item as received" msgstr "" @@ -12081,112 +12081,112 @@ msgstr "" msgid "No sales orders found" msgstr "" -#: templates/js/translated/sales_order.js:908 +#: templates/js/translated/sales_order.js:905 msgid "Edit shipment" msgstr "" -#: templates/js/translated/sales_order.js:911 +#: templates/js/translated/sales_order.js:908 msgid "Complete shipment" msgstr "" -#: templates/js/translated/sales_order.js:916 +#: templates/js/translated/sales_order.js:913 msgid "Delete shipment" msgstr "" -#: templates/js/translated/sales_order.js:933 +#: templates/js/translated/sales_order.js:930 msgid "Edit Shipment" msgstr "" -#: templates/js/translated/sales_order.js:948 +#: templates/js/translated/sales_order.js:945 msgid "Delete Shipment" msgstr "" -#: templates/js/translated/sales_order.js:981 +#: templates/js/translated/sales_order.js:978 msgid "No matching shipments found" msgstr "" -#: templates/js/translated/sales_order.js:1006 +#: templates/js/translated/sales_order.js:1003 msgid "Shipment Reference" msgstr "" -#: templates/js/translated/sales_order.js:1030 -#: templates/js/translated/sales_order.js:1527 +#: templates/js/translated/sales_order.js:1027 +#: templates/js/translated/sales_order.js:1524 msgid "Not shipped" msgstr "" -#: templates/js/translated/sales_order.js:1048 +#: templates/js/translated/sales_order.js:1045 msgid "Tracking" msgstr "" -#: templates/js/translated/sales_order.js:1052 +#: templates/js/translated/sales_order.js:1049 msgid "Invoice" msgstr "" -#: templates/js/translated/sales_order.js:1219 +#: templates/js/translated/sales_order.js:1216 msgid "Add Shipment" msgstr "" -#: templates/js/translated/sales_order.js:1270 +#: templates/js/translated/sales_order.js:1267 msgid "Confirm stock allocation" msgstr "确认库存分配" -#: templates/js/translated/sales_order.js:1271 +#: templates/js/translated/sales_order.js:1268 msgid "Allocate Stock Items to Sales Order" msgstr "" -#: templates/js/translated/sales_order.js:1475 +#: templates/js/translated/sales_order.js:1472 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/sales_order.js:1567 +#: templates/js/translated/sales_order.js:1564 msgid "Edit Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1581 +#: templates/js/translated/sales_order.js:1578 msgid "Confirm Delete Operation" msgstr "确认删除操作" -#: templates/js/translated/sales_order.js:1582 +#: templates/js/translated/sales_order.js:1579 msgid "Delete Stock Allocation" msgstr "" -#: templates/js/translated/sales_order.js:1621 -#: templates/js/translated/sales_order.js:1708 -#: templates/js/translated/stock.js:1687 +#: templates/js/translated/sales_order.js:1618 +#: templates/js/translated/sales_order.js:1705 +#: templates/js/translated/stock.js:1706 msgid "Shipped to customer" msgstr "" -#: templates/js/translated/sales_order.js:1629 -#: templates/js/translated/sales_order.js:1717 +#: templates/js/translated/sales_order.js:1626 +#: templates/js/translated/sales_order.js:1714 msgid "Stock location not specified" msgstr "" -#: templates/js/translated/sales_order.js:1997 +#: templates/js/translated/sales_order.js:1994 msgid "Allocate serial numbers" msgstr "" -#: templates/js/translated/sales_order.js:2001 +#: templates/js/translated/sales_order.js:1998 msgid "Purchase stock" msgstr "" -#: templates/js/translated/sales_order.js:2010 -#: templates/js/translated/sales_order.js:2197 +#: templates/js/translated/sales_order.js:2007 +#: templates/js/translated/sales_order.js:2194 msgid "Calculate price" msgstr "" -#: templates/js/translated/sales_order.js:2024 +#: templates/js/translated/sales_order.js:2021 msgid "Cannot be deleted as items have been shipped" msgstr "" -#: templates/js/translated/sales_order.js:2027 +#: templates/js/translated/sales_order.js:2024 msgid "Cannot be deleted as items have been allocated" msgstr "" -#: templates/js/translated/sales_order.js:2098 +#: templates/js/translated/sales_order.js:2095 msgid "Allocate Serial Numbers" msgstr "" -#: templates/js/translated/sales_order.js:2205 +#: templates/js/translated/sales_order.js:2202 msgid "Update Unit Price" msgstr "" @@ -12408,7 +12408,7 @@ msgstr "" msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3146 +#: templates/js/translated/stock.js:1139 templates/js/translated/stock.js:3165 msgid "Select Stock Items" msgstr "选择库存项" @@ -12416,288 +12416,288 @@ msgstr "选择库存项" msgid "Select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:1167 +#: templates/js/translated/stock.js:1186 msgid "Confirm stock adjustment" msgstr "" -#: templates/js/translated/stock.js:1303 +#: templates/js/translated/stock.js:1322 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:1305 +#: templates/js/translated/stock.js:1324 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:1310 +#: templates/js/translated/stock.js:1329 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:1372 +#: templates/js/translated/stock.js:1391 msgid "Pass test" msgstr "" -#: templates/js/translated/stock.js:1375 +#: templates/js/translated/stock.js:1394 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/stock.js:1418 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:1463 +#: templates/js/translated/stock.js:1482 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:1625 +#: templates/js/translated/stock.js:1644 msgid "Edit Test Result" msgstr "" -#: templates/js/translated/stock.js:1647 +#: templates/js/translated/stock.js:1666 msgid "Delete Test Result" msgstr "" -#: templates/js/translated/stock.js:1679 +#: templates/js/translated/stock.js:1698 msgid "In production" msgstr "正在生产" -#: templates/js/translated/stock.js:1683 +#: templates/js/translated/stock.js:1702 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:1691 +#: templates/js/translated/stock.js:1710 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:1697 +#: templates/js/translated/stock.js:1716 msgid "No stock location set" msgstr "未设置仓储地点" -#: templates/js/translated/stock.js:1753 +#: templates/js/translated/stock.js:1772 msgid "Change stock status" msgstr "" -#: templates/js/translated/stock.js:1762 +#: templates/js/translated/stock.js:1781 msgid "Merge stock" msgstr "" -#: templates/js/translated/stock.js:1811 +#: templates/js/translated/stock.js:1830 msgid "Delete stock" msgstr "" -#: templates/js/translated/stock.js:1866 +#: templates/js/translated/stock.js:1885 #, fuzzy #| msgid "Stock Items" msgid "stock items" msgstr "库存项" -#: templates/js/translated/stock.js:1871 +#: templates/js/translated/stock.js:1890 #, fuzzy #| msgid "Stock Location" msgid "Scan to location" msgstr "仓储地点" -#: templates/js/translated/stock.js:1882 +#: templates/js/translated/stock.js:1901 #, fuzzy #| msgid "Stock Locations" msgid "Stock Actions" msgstr "仓储地点" -#: templates/js/translated/stock.js:1926 +#: templates/js/translated/stock.js:1945 #, fuzzy #| msgid "Installed into assembly" msgid "Load installed items" msgstr "安装到组装中" -#: templates/js/translated/stock.js:2004 +#: templates/js/translated/stock.js:2023 msgid "Stock item is in production" msgstr "库存品正在生产" -#: templates/js/translated/stock.js:2009 +#: templates/js/translated/stock.js:2028 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:2012 +#: templates/js/translated/stock.js:2031 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:2015 +#: templates/js/translated/stock.js:2034 msgid "Serialized stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:2017 +#: templates/js/translated/stock.js:2036 msgid "Stock item has been fully allocated" msgstr "" -#: templates/js/translated/stock.js:2019 +#: templates/js/translated/stock.js:2038 msgid "Stock item has been partially allocated" msgstr "" -#: templates/js/translated/stock.js:2022 +#: templates/js/translated/stock.js:2041 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:2024 +#: templates/js/translated/stock.js:2043 #, fuzzy #| msgid "Accept as consumed by this build order" msgid "Stock item has been consumed by a build order" msgstr "接受此构建订单所消耗的内容" -#: templates/js/translated/stock.js:2028 +#: templates/js/translated/stock.js:2047 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:2030 +#: templates/js/translated/stock.js:2049 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:2035 +#: templates/js/translated/stock.js:2054 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:2037 +#: templates/js/translated/stock.js:2056 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:2039 +#: templates/js/translated/stock.js:2058 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:2043 +#: templates/js/translated/stock.js:2062 #: templates/js/translated/table_filters.js:302 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:2185 +#: templates/js/translated/stock.js:2204 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:2232 +#: templates/js/translated/stock.js:2251 #, fuzzy #| msgid "Stock Source" msgid "Stock Value" msgstr "库存来源" -#: templates/js/translated/stock.js:2355 +#: templates/js/translated/stock.js:2374 msgid "No stock items matching query" msgstr "" -#: templates/js/translated/stock.js:2447 +#: templates/js/translated/stock.js:2466 #, fuzzy #| msgid "Stock Locations" msgid "stock locations" msgstr "仓储地点" -#: templates/js/translated/stock.js:2602 +#: templates/js/translated/stock.js:2621 msgid "Load Subloactions" msgstr "" -#: templates/js/translated/stock.js:2709 +#: templates/js/translated/stock.js:2728 msgid "Details" msgstr "详情" -#: templates/js/translated/stock.js:2713 +#: templates/js/translated/stock.js:2732 #, fuzzy #| msgid "Change" msgid "No changes" msgstr "更改" -#: templates/js/translated/stock.js:2725 +#: templates/js/translated/stock.js:2744 msgid "Part information unavailable" msgstr "" -#: templates/js/translated/stock.js:2747 +#: templates/js/translated/stock.js:2766 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:2764 +#: templates/js/translated/stock.js:2783 #, fuzzy #| msgid "Sales Order Settings" msgid "Build order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2779 +#: templates/js/translated/stock.js:2798 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2796 +#: templates/js/translated/stock.js:2815 #, fuzzy #| msgid "Sales Order Settings" msgid "Sales Order no longer exists" msgstr "销售订单设置" -#: templates/js/translated/stock.js:2813 +#: templates/js/translated/stock.js:2832 msgid "Return Order no longer exists" msgstr "" -#: templates/js/translated/stock.js:2832 +#: templates/js/translated/stock.js:2851 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:2850 +#: templates/js/translated/stock.js:2869 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:2868 +#: templates/js/translated/stock.js:2887 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:2876 +#: templates/js/translated/stock.js:2895 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:2948 +#: templates/js/translated/stock.js:2967 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:2998 templates/js/translated/stock.js:3033 +#: templates/js/translated/stock.js:3017 templates/js/translated/stock.js:3052 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/stock.js:3051 +#: templates/js/translated/stock.js:3070 msgid "Select stock item to uninstall" msgstr "" -#: templates/js/translated/stock.js:3072 +#: templates/js/translated/stock.js:3091 msgid "Install another stock item into this item" msgstr "" -#: templates/js/translated/stock.js:3073 +#: templates/js/translated/stock.js:3092 msgid "Stock items can only be installed if they meet the following criteria" msgstr "" -#: templates/js/translated/stock.js:3075 +#: templates/js/translated/stock.js:3094 msgid "The Stock Item links to a Part which is the BOM for this Stock Item" msgstr "" -#: templates/js/translated/stock.js:3076 +#: templates/js/translated/stock.js:3095 msgid "The Stock Item is currently available in stock" msgstr "" -#: templates/js/translated/stock.js:3077 +#: templates/js/translated/stock.js:3096 msgid "The Stock Item is not already installed in another item" msgstr "" -#: templates/js/translated/stock.js:3078 +#: templates/js/translated/stock.js:3097 msgid "The Stock Item is tracked by either a batch code or serial number" msgstr "" -#: templates/js/translated/stock.js:3091 +#: templates/js/translated/stock.js:3110 msgid "Select part to install" msgstr "" -#: templates/js/translated/stock.js:3147 +#: templates/js/translated/stock.js:3166 #, fuzzy #| msgid "Select Stock Items" msgid "Select one or more stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3160 +#: templates/js/translated/stock.js:3179 #, fuzzy #| msgid "Select Stock Items" msgid "Selected stock items" msgstr "选择库存项" -#: templates/js/translated/stock.js:3164 +#: templates/js/translated/stock.js:3183 #, fuzzy #| msgid "Stock Settings" msgid "Change Stock Status" From 24ae21b342a6b482790fdfad4d4d0d0366bf4e1a Mon Sep 17 00:00:00 2001 From: Lukas <76838159+wolflu05@users.noreply.github.com> Date: Fri, 7 Jul 2023 00:12:50 +0200 Subject: [PATCH 092/103] Fix 404 link in docker_prod.md (#5193) --- docs/docs/start/docker_prod.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/start/docker_prod.md b/docs/docs/start/docker_prod.md index bcfbd3aa2a..59e920ad69 100644 --- a/docs/docs/start/docker_prod.md +++ b/docs/docs/start/docker_prod.md @@ -88,7 +88,7 @@ This container uses the official [redis image](https://hub.docker.com/_/redis). !!! info "Redis on Docker" Docker adds an additional network layer - that might lead to lower performance than bare metal. - To optimise and configure your redis deployment follow the [official docker guide](https://redis.io/docs/stack/get-started/install/docker/#configuration). + To optimise and configure your redis deployment follow the [official docker guide](https://redis.io/docs/getting-started/install-stack/docker/#configuration). !!! warning "Disabled by default" The *redis* container is not enabled in the default configuration. This is provided as an example for users wishing to use redis. From 1f81daadf6c029afb5ee0ee51e3bcd6d40adacd3 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 7 Jul 2023 13:27:35 +1000 Subject: [PATCH 093/103] Fix allocation check for completing build order (#5199) - Allocation check only applies to untracked line items --- InvenTree/build/serializers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/build/serializers.py b/InvenTree/build/serializers.py index a33f4bc84b..428ec25cc5 100644 --- a/InvenTree/build/serializers.py +++ b/InvenTree/build/serializers.py @@ -630,7 +630,7 @@ class BuildCompleteSerializer(serializers.Serializer): return { 'overallocated': build.is_overallocated(), - 'allocated': build.is_fully_allocated(), + 'allocated': build.are_untracked_parts_allocated, 'remaining': build.remaining, 'incomplete': build.incomplete_count, } @@ -663,7 +663,7 @@ class BuildCompleteSerializer(serializers.Serializer): """Check if the 'accept_unallocated' field is required""" build = self.context['build'] - if not build.is_fully_allocated() and not value: + if not build.are_untracked_parts_allocated and not value: raise ValidationError(_('Required stock has not been fully allocated')) return value From b37b8a861059349c88561ee42719eb4a41c592be Mon Sep 17 00:00:00 2001 From: Lukas <76838159+wolflu05@users.noreply.github.com> Date: Sun, 9 Jul 2023 00:39:26 +0200 Subject: [PATCH 094/103] fix: generic status import (#5192) --- InvenTree/build/api.py | 2 +- InvenTree/generic/states/__init__.py | 2 -- InvenTree/order/api.py | 2 +- InvenTree/stock/api.py | 2 +- 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/InvenTree/build/api.py b/InvenTree/build/api.py index 9031dfd3d7..8f00b12716 100644 --- a/InvenTree/build/api.py +++ b/InvenTree/build/api.py @@ -11,7 +11,7 @@ from django_filters.rest_framework import DjangoFilterBackend from django_filters import rest_framework as rest_filters from InvenTree.api import AttachmentMixin, APIDownloadMixin, ListCreateDestroyAPIView, MetadataView -from generic.states import StatusView +from generic.states.api import StatusView from InvenTree.helpers import str2bool, isNull, DownloadFile from InvenTree.status_codes import BuildStatus, BuildStatusGroups from InvenTree.mixins import CreateAPI, RetrieveUpdateDestroyAPI, ListCreateAPI diff --git a/InvenTree/generic/states/__init__.py b/InvenTree/generic/states/__init__.py index 5137b7c3f4..952c31557a 100644 --- a/InvenTree/generic/states/__init__.py +++ b/InvenTree/generic/states/__init__.py @@ -6,10 +6,8 @@ There is a rendered state for each state value. The rendered state is used for d States can be extended with custom options for each InvenTree instance - those options are stored in the database and need to link back to state values. """ -from .api import StatusView from .states import StatusCode __all__ = [ - StatusView, StatusCode, ] diff --git a/InvenTree/order/api.py b/InvenTree/order/api.py index b4a60a95ae..99f04c5b2a 100644 --- a/InvenTree/order/api.py +++ b/InvenTree/order/api.py @@ -16,7 +16,7 @@ from rest_framework.response import Response import common.models as common_models from common.settings import settings from company.models import SupplierPart -from generic.states import StatusView +from generic.states.api import StatusView from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView, MetadataView) from InvenTree.filters import SEARCH_ORDER_FILTER, SEARCH_ORDER_FILTER_ALIAS diff --git a/InvenTree/stock/api.py b/InvenTree/stock/api.py index 8dcd3c1763..c070e98799 100644 --- a/InvenTree/stock/api.py +++ b/InvenTree/stock/api.py @@ -22,7 +22,7 @@ from build.models import Build from build.serializers import BuildSerializer from company.models import Company, SupplierPart from company.serializers import CompanySerializer -from generic.states import StatusView +from generic.states.api import StatusView from InvenTree.api import (APIDownloadMixin, AttachmentMixin, ListCreateDestroyAPIView, MetadataView) from InvenTree.filters import (ORDER_FILTER, SEARCH_ORDER_FILTER, From d4fad4f5c8028cf7eaf49c61416e0b68be6947b4 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 9 Jul 2023 00:40:27 +0200 Subject: [PATCH 095/103] fix cli on 22.04 (#5204) --- Procfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Procfile b/Procfile index dd2f26d495..7761c4d5bc 100644 --- a/Procfile +++ b/Procfile @@ -1,3 +1,3 @@ web: env/bin/gunicorn --chdir $APP_HOME/InvenTree -c InvenTree/gunicorn.conf.py InvenTree.wsgi -b 0.0.0.0:$PORT worker: env/bin/python InvenTree/manage.py qcluster -cli: . env/bin/activate && exec env/bin/python -m invoke +cli: echo "" && . env/bin/activate && exec env/bin/python -m invoke From ae046c778e397db8570de926b656dca42ad8d2f0 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sun, 9 Jul 2023 00:40:53 +0200 Subject: [PATCH 096/103] support debian 12 (#5205) --- .pkgr.yml | 1 + contrib/install.sh | 8 +++++++- contrib/installer/src/root_command.sh | 8 +++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.pkgr.yml b/.pkgr.yml index ef91326b82..6ca6ae3a5e 100644 --- a/.pkgr.yml +++ b/.pkgr.yml @@ -35,3 +35,4 @@ dependencies: targets: ubuntu-20.04: true debian-11: true + debian-12: true diff --git a/contrib/install.sh b/contrib/install.sh index 241e2fe16d..4d90aa736d 100755 --- a/contrib/install.sh +++ b/contrib/install.sh @@ -74,7 +74,13 @@ root_command() { fi ;; "Debian GNU/Linux" | "debian gnu/linux" | Raspbian) - if [[ $VER != "11" ]]; then + if [[ $VER == "12" ]]; then + SUPPORTED=true + elif [[ $VER == "11" ]]; then + SUPPORTED=true + elif [[ $VER == "10" ]]; then + SUPPORTED=true + else SUPPORTED=false fi DIST_OS=debian diff --git a/contrib/installer/src/root_command.sh b/contrib/installer/src/root_command.sh index 8efd9e7b08..54c0c52ec3 100644 --- a/contrib/installer/src/root_command.sh +++ b/contrib/installer/src/root_command.sh @@ -64,7 +64,13 @@ case "$OS" in fi ;; "Debian GNU/Linux" | "debian gnu/linux" | Raspbian) - if [[ $VER != "11" ]]; then + if [[ $VER == "12" ]]; then + SUPPORTED=true + elif [[ $VER == "11" ]]; then + SUPPORTED=true + elif [[ $VER == "10" ]]; then + SUPPORTED=true + else SUPPORTED=false fi DIST_OS=debian From 8fb761289448d6582892d3b6ee7dec0e88483a37 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 10 Jul 2023 13:13:35 +1000 Subject: [PATCH 097/103] Fix link to SalesOrder in stock history table (#5210) --- InvenTree/templates/js/translated/stock.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/stock.js b/InvenTree/templates/js/translated/stock.js index 931d3e2600..d32ad020bc 100644 --- a/InvenTree/templates/js/translated/stock.js +++ b/InvenTree/templates/js/translated/stock.js @@ -2832,7 +2832,7 @@ function loadStockTrackingTable(table, options) { if (details.salesorder_detail) { html += renderLink( details.salesorder_detail.reference, - `/order/sales-order/${details.salesorder}` + `/order/sales-order/${details.salesorder}/` ); } else { html += `{% trans "Sales Order no longer exists" %}`; From 4a1f73331fdbf9991912e2b0a3c8336bc03b2d3d Mon Sep 17 00:00:00 2001 From: Lukas <76838159+wolflu05@users.noreply.github.com> Date: Mon, 10 Jul 2023 11:52:33 +0200 Subject: [PATCH 098/103] Refactor: Dockerimage (#5007) * refactor docker image to reduce size * Added required deps for database drivers * Added alpine test dockerfile * Readded image libs to Dockerfile * Fix link in dockerfile * Replaced Dockerfile * Remove bash from image * Added base target to Dockerfile * Added missing mysql dev headers * Add dev target back to Dockerfile * fix: Dockerfile style * Add old comments back to dockerfile * Removed wrong comment * Added back piwheels repo --- Dockerfile | 89 +++++++++++++++++++++++--------------------------- docker/init.sh | 6 ++-- 2 files changed, 45 insertions(+), 50 deletions(-) diff --git a/Dockerfile b/Dockerfile index b07a769b86..567187f517 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ # - Runs InvenTree web server under django development server # - Monitors source files for any changes, and live-reloads server -FROM python:3.9-slim as inventree_base +FROM python:3.10-alpine3.18 as inventree_base # Build arguments for this image ARG commit_hash="" @@ -17,6 +17,8 @@ ARG commit_date="" ARG commit_tag="" ENV PYTHONUNBUFFERED 1 +ENV PIP_DISABLE_PIP_VERSION_CHECK 1 +ENV INVOKE_RUN_SHELL="/bin/ash" ENV INVENTREE_LOG_LEVEL="WARNING" ENV INVENTREE_DOCKER="true" @@ -51,44 +53,54 @@ LABEL org.label-schema.schema-version="1.0" \ org.label-schema.vcs-url="https://github.com/inventree/InvenTree.git" \ org.label-schema.vcs-ref=${commit_tag} -# RUN apt-get upgrade && apt-get update -RUN apt-get update - -# Install required system packages -RUN apt-get install -y --no-install-recommends \ - git gcc g++ gettext gnupg libffi-dev libssl-dev \ - # Weasyprint requirements : https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#debian-11 - poppler-utils libpango-1.0-0 libpangoft2-1.0-0 \ +RUN apk add --no-cache \ + git gettext py-cryptography \ # Image format support - libjpeg-dev webp libwebp-dev \ + libjpeg libwebp zlib \ + # Weasyprint requirements : https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#alpine-3-12 + py3-pip py3-pillow py3-cffi py3-brotli pango \ # SQLite support - sqlite3 \ + sqlite \ # PostgreSQL support - libpq-dev postgresql-client \ + postgresql-libs postgresql-client \ # MySQL / MariaDB support - default-libmysqlclient-dev mariadb-client && \ - apt-get autoclean && apt-get autoremove + mariadb-connector-c-dev mariadb-client && \ + # fonts + apk --update --upgrade --no-cache add fontconfig ttf-freefont font-noto terminus-font && fc-cache -f -# Update pip -RUN pip install --upgrade pip +EXPOSE 8000 -# For ARMv7 architecture, add the pinwheels repo (for cryptography library) +RUN mkdir -p ${INVENTREE_HOME} +WORKDIR ${INVENTREE_HOME} + +COPY ./docker/requirements.txt base_requirements.txt +COPY ./requirements.txt ./ + +# For ARMv7 architecture, add the piwheels repo (for cryptography library) # Otherwise, we have to build from source, which is difficult # Ref: https://github.com/inventree/InvenTree/pull/4598 -RUN \ - if [ `dpkg --print-architecture` = "armhf" ]; then \ - printf "[global]\nextra-index-url=https://www.piwheels.org/simple\n" > /etc/pip.conf ; \ - fi +RUN if [ `apk --print-arch` = "armv7" ]; then \ + printf "[global]\nextra-index-url=https://www.piwheels.org/simple\n" > /etc/pip.conf ; \ + fi -# Install required base-level python packages -COPY ./docker/requirements.txt base_requirements.txt -RUN pip install --disable-pip-version-check -U -r base_requirements.txt +RUN apk add --no-cache --virtual .build-deps \ + gcc g++ musl-dev openssl-dev libffi-dev cargo python3-dev \ + # Image format dev libs + jpeg-dev openjpeg-dev libwebp-dev zlib-dev \ + # DB specific dev libs + postgresql-dev sqlite-dev mariadb-dev && \ + pip install -r base_requirements.txt -r requirements.txt --no-cache-dir && \ + apk --purge del .build-deps + +COPY tasks.py docker/gunicorn.conf.py docker/init.sh ./ + +RUN chmod +x init.sh + +ENTRYPOINT ["/bin/sh", "./init.sh"] # InvenTree production image: # - Copies required files from local directory -# - Installs required python packages from requirements.txt # - Starts a gunicorn webserver - FROM inventree_base as production ENV INVENTREE_DEBUG=False @@ -98,33 +110,14 @@ ENV INVENTREE_COMMIT_HASH="${commit_hash}" ENV INVENTREE_COMMIT_DATE="${commit_date}" # Copy source code -COPY InvenTree ${INVENTREE_HOME}/InvenTree - -# Copy other key files -COPY requirements.txt ${INVENTREE_HOME}/requirements.txt -COPY tasks.py ${INVENTREE_HOME}/tasks.py -COPY docker/gunicorn.conf.py ${INVENTREE_HOME}/gunicorn.conf.py -COPY docker/init.sh ${INVENTREE_MNG_DIR}/init.sh - -# Need to be running from within this directory -WORKDIR ${INVENTREE_MNG_DIR} - -# Drop to the inventree user for the production image -#RUN adduser inventree -#RUN chown -R inventree:inventree ${INVENTREE_HOME} -#USER inventree - -# Install InvenTree packages -RUN pip3 install --user --disable-pip-version-check -r ${INVENTREE_HOME}/requirements.txt - -# Server init entrypoint -ENTRYPOINT ["/bin/bash", "./init.sh"] +COPY InvenTree ./InvenTree # Launch the production server # TODO: Work out why environment variables cannot be interpolated in this command # TODO: e.g. -b ${INVENTREE_WEB_ADDR}:${INVENTREE_WEB_PORT} fails here CMD gunicorn -c ./gunicorn.conf.py InvenTree.wsgi -b 0.0.0.0:8000 --chdir ./InvenTree + FROM inventree_base as dev # The development image requires the source code to be mounted to /home/inventree/ @@ -139,7 +132,7 @@ ENV INVENTREE_PY_ENV="${INVENTREE_DATA_DIR}/env" WORKDIR ${INVENTREE_HOME} # Entrypoint ensures that we are running in the python virtual environment -ENTRYPOINT ["/bin/bash", "./docker/init.sh"] +ENTRYPOINT ["/bin/ash", "./docker/init.sh"] # Launch the development server CMD ["invoke", "server", "-a", "${INVENTREE_WEB_ADDR}:${INVENTREE_WEB_PORT}"] diff --git a/docker/init.sh b/docker/init.sh index caf0266c51..0837d7f949 100644 --- a/docker/init.sh +++ b/docker/init.sh @@ -1,9 +1,11 @@ -#!/bin/bash +#!/bin/sh # exit when any command fails set -e # Required to suppress some git errors further down the line -git config --global --add safe.directory /home/*** +if command -v git &> /dev/null; then + git config --global --add safe.directory /home/*** +fi # Create required directory structure (if it does not already exist) if [[ ! -d "$INVENTREE_STATIC_ROOT" ]]; then From 92b0a192708513b40c189e70af5b761ec3a674d6 Mon Sep 17 00:00:00 2001 From: Oliver Date: Mon, 10 Jul 2023 21:12:17 +1000 Subject: [PATCH 099/103] Docker: add missing reporting libs (#5213) * Docker: add missing reporting libs * Fix pango / cairo libs Ref: https://github.com/Kozea/WeasyPrint/issues/699 * Move to where it will actually do something * Remove continuation * Remove dev packages --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 567187f517..814951c6da 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,7 +58,7 @@ RUN apk add --no-cache \ # Image format support libjpeg libwebp zlib \ # Weasyprint requirements : https://doc.courtbouillon.org/weasyprint/stable/first_steps.html#alpine-3-12 - py3-pip py3-pillow py3-cffi py3-brotli pango \ + py3-pip py3-pillow py3-cffi py3-brotli pango poppler-utils \ # SQLite support sqlite \ # PostgreSQL support From a9a8ac1c70ba9f63d885bc599805accf5a10c17c Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Tue, 11 Jul 2023 00:13:35 +0200 Subject: [PATCH 100/103] Add email login (#5209) * Add email login FR] Add email link based logins Closes #3531 * fix reqs * fix backend code * Add tests for magic login --- InvenTree/InvenTree/magic_login.py | 75 +++++++++++++++++++ InvenTree/InvenTree/middleware.py | 3 + InvenTree/InvenTree/settings.py | 5 ++ .../templates/InvenTree/user_simple_login.txt | 8 ++ InvenTree/InvenTree/tests.py | 38 ++++++++++ InvenTree/InvenTree/urls.py | 7 ++ requirements.in | 1 + requirements.txt | 7 +- 8 files changed, 142 insertions(+), 2 deletions(-) create mode 100644 InvenTree/InvenTree/magic_login.py create mode 100644 InvenTree/InvenTree/templates/InvenTree/user_simple_login.txt diff --git a/InvenTree/InvenTree/magic_login.py b/InvenTree/InvenTree/magic_login.py new file mode 100644 index 0000000000..b48c3f3547 --- /dev/null +++ b/InvenTree/InvenTree/magic_login.py @@ -0,0 +1,75 @@ +"""Functions for magic login.""" +from django.conf import settings +from django.contrib.auth.models import User +from django.contrib.sites.models import Site +from django.core.mail import send_mail +from django.template.loader import render_to_string +from django.urls import reverse +from django.utils.translation import gettext_lazy as _ + +import sesame.utils +from rest_framework import serializers +from rest_framework.response import Response +from rest_framework.views import APIView + + +def send_simple_login_email(user, link): + """Send an email with the login link to this user.""" + site = Site.objects.get_current() + + context = { + "username": user.username, + "site_name": site.name, + "link": link, + } + email_plaintext_message = render_to_string("InvenTree/user_simple_login.txt", context) + + send_mail( + _(f"[{site.name}] Log in to the app"), + email_plaintext_message, + settings.DEFAULT_FROM_EMAIL, + [user.email], + ) + + +class GetSimpleLoginSerializer(serializers.Serializer): + """Serializer for the simple login view.""" + + email = serializers.CharField(label=_("Email")) + + +class GetSimpleLoginView(APIView): + """View to send a simple login link.""" + + permission_classes = () + serializer_class = GetSimpleLoginSerializer + + def post(self, request, *args, **kwargs): + """Get the token for the current user or fail.""" + serializer = self.serializer_class(data=request.data) + serializer.is_valid(raise_exception=True) + self.email_submitted(email=serializer.data["email"]) + return Response({"status": "ok"}) + + def email_submitted(self, email): + """Notify user about link.""" + user = self.get_user(email) + if user is None: + print("user not found:", email) + return + link = self.create_link(user) + send_simple_login_email(user, link) + + def get_user(self, email): + """Find the user with this email address.""" + try: + return User.objects.get(email=email) + except User.DoesNotExist: + return None + + def create_link(self, user): + """Create a login link for this user.""" + link = reverse("sesame-login") + link = self.request.build_absolute_uri(link) + link += sesame.utils.get_query_string(user) + return link diff --git a/InvenTree/InvenTree/middleware.py b/InvenTree/InvenTree/middleware.py index a8a51404d2..8e28afc4e8 100644 --- a/InvenTree/InvenTree/middleware.py +++ b/InvenTree/InvenTree/middleware.py @@ -64,6 +64,9 @@ class AuthRequiredMiddleware(object): elif request.path_info.startswith('/accounts/'): authorized = True + elif request.path_info.startswith('/platform/') or request.path_info == '/platform': + authorized = True + elif 'Authorization' in request.headers.keys() or 'authorization' in request.headers.keys(): auth = request.headers.get('Authorization', request.headers.get('authorization')).strip() diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index 5692fd4575..33428d64f4 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -276,6 +276,7 @@ AUTHENTICATION_BACKENDS = CONFIG.get('authentication_backends', [ 'django.contrib.auth.backends.RemoteUserBackend', # proxy login 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend', # SSO login via external providers + "sesame.backends.ModelBackend", # Magic link login django-sesame ]) DEBUG_TOOLBAR_ENABLED = DEBUG and get_setting('INVENTREE_DEBUG_TOOLBAR', 'debug_toolbar', False) @@ -601,6 +602,10 @@ DATABASES = { REMOTE_LOGIN = get_boolean_setting('INVENTREE_REMOTE_LOGIN', 'remote_login_enabled', False) REMOTE_LOGIN_HEADER = get_setting('INVENTREE_REMOTE_LOGIN_HEADER', 'remote_login_header', 'REMOTE_USER') +# Magic login django-sesame +SESAME_MAX_AGE = 300 +LOGIN_REDIRECT_URL = "/platform/logged-in/" + # sentry.io integration for error reporting SENTRY_ENABLED = get_boolean_setting('INVENTREE_SENTRY_ENABLED', 'sentry_enabled', False) diff --git a/InvenTree/InvenTree/templates/InvenTree/user_simple_login.txt b/InvenTree/InvenTree/templates/InvenTree/user_simple_login.txt new file mode 100644 index 0000000000..e00a971a10 --- /dev/null +++ b/InvenTree/InvenTree/templates/InvenTree/user_simple_login.txt @@ -0,0 +1,8 @@ +Hello {{username}}, + +You requested that we send you a link to log in to our app: + + {{link}} + +Regards, +{{site_name}} diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index a68f7c4739..6b979fed51 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -11,12 +11,15 @@ import django.core.exceptions as django_exceptions from django.conf import settings from django.contrib.auth import get_user_model from django.contrib.sites.models import Site +from django.core import mail from django.core.exceptions import ValidationError from django.test import TestCase, override_settings +from django.urls import reverse from djmoney.contrib.exchange.exceptions import MissingRate from djmoney.contrib.exchange.models import Rate, convert_money from djmoney.money import Money +from sesame.utils import get_user import InvenTree.conversion import InvenTree.format @@ -1061,3 +1064,38 @@ class SanitizerTest(TestCase): # Test that invalid string is cleanded self.assertNotEqual(dangerous_string, sanitize_svg(dangerous_string)) + + +class MagicLoginTest(InvenTreeTestCase): + """Test magic login token generation.""" + + def test_generation(self): + """Test that magic login tokens are generated correctly""" + + # User does not exists + resp = self.client.post(reverse('sesame-generate'), {'email': 1}) + self.assertEqual(resp.status_code, 200) + self.assertEqual(resp.data, {'status': 'ok'}) + self.assertEqual(len(mail.outbox), 0) + + # User exists + resp = self.client.post(reverse('sesame-generate'), {'email': self.user.email}) + self.assertEqual(resp.status_code, 200) + self.assertEqual(resp.data, {'status': 'ok'}) + self.assertEqual(len(mail.outbox), 1) + self.assertEqual(mail.outbox[0].subject, '[example.com] Log in to the app') + + # Check that the token is in the email + self.assertTrue('http://testserver/api/email/login/' in mail.outbox[0].body) + token = mail.outbox[0].body.split('/')[-1].split('\n')[0][8:] + self.assertEqual(get_user(token), self.user) + + # Log user off + self.client.logout() + + # Check that the login works + resp = self.client.get(reverse('sesame-login') + '?sesame=' + token) + self.assertEqual(resp.status_code, 302) + self.assertEqual(resp.url, '/platform/logged-in/') + # And we should be logged in again + self.assertEqual(resp.wsgi_request.user, self.user) diff --git a/InvenTree/InvenTree/urls.py b/InvenTree/InvenTree/urls.py index 4098359bc7..7b3c0b25ac 100644 --- a/InvenTree/InvenTree/urls.py +++ b/InvenTree/InvenTree/urls.py @@ -7,11 +7,13 @@ from django.conf import settings from django.conf.urls.static import static from django.contrib import admin from django.urls import include, path, re_path +from django.views.decorators.csrf import csrf_exempt from django.views.generic.base import RedirectView from dj_rest_auth.registration.views import (SocialAccountDisconnectView, SocialAccountListView) from drf_spectacular.views import SpectacularAPIView, SpectacularRedocView +from sesame.views import LoginView from build.api import build_api_urls from build.urls import build_urls @@ -33,6 +35,7 @@ from stock.urls import stock_urls from users.api import user_urls from .api import APISearchView, InfoView, NotFoundView +from .magic_login import GetSimpleLoginView from .social_auth_urls import SocialProvierListView, social_auth_urlpatterns from .views import (AboutView, AppearanceSelectView, CustomConnectionsView, CustomEmailView, CustomLoginView, @@ -82,6 +85,10 @@ apipatterns = [ path('auth/social/', SocialAccountListView.as_view(), name='social_account_list'), path('auth/social//disconnect/', SocialAccountDisconnectView.as_view(), name='social_account_disconnect'), + # Magic login URLs + path("email/generate/", csrf_exempt(GetSimpleLoginView().as_view()), name="sesame-generate",), + path("email/login/", LoginView.as_view(), name="sesame-login"), + # Unknown endpoint re_path(r'^.*$', NotFoundView.as_view(), name='api-404'), ] diff --git a/requirements.in b/requirements.in index 2c906d380c..3f6350b105 100644 --- a/requirements.in +++ b/requirements.in @@ -21,6 +21,7 @@ django-mptt==0.11.0 # Modified Preorder Tree Traversal django-redis>=5.0.0 # Redis integration django-q2 # Background task scheduling django-q-sentry # sentry.io integration for django-q +django-sesame # Magic link authentication django-sql-utils # Advanced query annotation / aggregation django-sslserver # Secure HTTP development server django-stdimage<6.0.0 # Advanced ImageField management # FIXED 2022-06-29 6.0.0 breaks serialization for django-q diff --git a/requirements.txt b/requirements.txt index 1234066fae..2b6d481ba7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -66,6 +66,7 @@ django==3.2.20 # django-q2 # django-recurrence # django-redis + # django-sesame # django-sql-utils # django-sslserver # django-stdimage @@ -124,6 +125,8 @@ django-recurrence==1.11.1 # via django-ical django-redis==5.3.0 # via -r requirements.in +django-sesame==3.1 + # via -r requirements.in django-sql-utils==0.6.1 # via -r requirements.in django-sslserver==0.22 @@ -164,7 +167,7 @@ icalendar==5.0.7 # via django-ical idna==3.4 # via requests -importlib-metadata==6.7.0 +importlib-metadata==6.8.0 # via markdown inflection==0.5.1 # via drf-spectacular @@ -306,7 +309,7 @@ xlrd==2.0.1 # via tablib xlwt==1.3.0 # via tablib -zipp==3.15.0 +zipp==3.16.0 # via importlib-metadata zopfli==0.2.2 # via fonttools From b3dcc28bd9fae475877e1446f19802ed639c1c8c Mon Sep 17 00:00:00 2001 From: Oliver Date: Tue, 11 Jul 2023 10:29:33 +1000 Subject: [PATCH 101/103] Add missing callback for attachment delete button (#5219) --- InvenTree/templates/js/translated/attachment.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/InvenTree/templates/js/translated/attachment.js b/InvenTree/templates/js/translated/attachment.js index 6c925edf1f..4ec0b4b625 100644 --- a/InvenTree/templates/js/translated/attachment.js +++ b/InvenTree/templates/js/translated/attachment.js @@ -281,10 +281,20 @@ function loadAttachmentTable(url, options) { sidePagination: 'server', onPostBody: function() { + // Add callback for 'delete' button + if (permissions.delete) { + $(table).find('.button-attachment-delete').click(function() { + let pk = $(this).attr('pk'); + let attachments = $(table).bootstrapTable('getRowByUniqueId', pk); + + deleteAttachments([attachments], url, options); + }); + } + // Add callback for 'edit' button if (permissions.change) { $(table).find('.button-attachment-edit').click(function() { - var pk = $(this).attr('pk'); + let pk = $(this).attr('pk'); constructForm(`${url}${pk}/`, { fields: { From ee274739a6e40a789fe2788faca5190c10ba318a Mon Sep 17 00:00:00 2001 From: Lukas <76838159+wolflu05@users.noreply.github.com> Date: Wed, 12 Jul 2023 00:19:19 +0200 Subject: [PATCH 102/103] Added required attribute to settings/plugins, refactor: allValues (#5224) * Added required attribute to settings/plugins, refactor: allValues - added 'required' attribute to InvenTreeBaseSetting - added 'check_all_settings' - added 'all_settings' to get a list of all defined settings - refactored 'allValues' to use new 'all_settings' function - added docs for new 'check_setting' function on plugin SettingsMixin * Fix typing to be compatible with python 3.9 * trigger: ci * Fixed **kwargs bug and added tests --- InvenTree/common/models.py | 104 +++++++++++++----- InvenTree/common/tests.py | 35 ++++++ .../plugin/base/integration/SettingsMixin.py | 13 +++ .../plugin/samples/integration/sample.py | 1 + .../plugin/samples/integration/test_sample.py | 11 ++ docs/docs/extend/plugins/settings.md | 4 +- 6 files changed, 142 insertions(+), 26 deletions(-) diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 1b546dd0e2..2524ba7503 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -127,6 +127,7 @@ class SettingsKeyType(TypedDict, total=False): before_save: Function that gets called after save with *args, **kwargs (optional) after_save: Function that gets called after save with *args, **kwargs (optional) protected: Protected values are not returned to the client, instead "***" is returned (optional, default: False) + required: Is this setting required to work, can be used in combination with .check_all_settings(...) (optional, default: False) model: Auto create a dropdown menu to select an associated model instance (e.g. 'company.company', 'auth.user' and 'auth.group' are possible too, optional) """ @@ -140,6 +141,7 @@ class SettingsKeyType(TypedDict, total=False): before_save: Callable[..., None] after_save: Callable[..., None] protected: bool + required: bool model: str @@ -250,13 +252,15 @@ class BaseInvenTreeSetting(models.Model): return {key: getattr(self, key, None) for key in self.extra_unique_fields if hasattr(self, key)} @classmethod - def allValues(cls, exclude_hidden=False, **kwargs): - """Return a dict of "all" defined global settings. + def all_settings(cls, *, exclude_hidden=False, settings_definition: Union[Dict[str, SettingsKeyType], None] = None, **kwargs): + """Return a list of "all" defined settings. This performs a single database lookup, and then any settings which are not *in* the database are assigned their default values """ + filters = cls.get_filters(**kwargs) + results = cls.objects.all() if exclude_hidden: @@ -264,45 +268,83 @@ class BaseInvenTreeSetting(models.Model): results = results.exclude(key__startswith='_') # Optionally filter by other keys - results = results.filter(**cls.get_filters(**kwargs)) + results = results.filter(**filters) + + settings: Dict[str, BaseInvenTreeSetting] = {} # Query the database - settings = {} - for setting in results: if setting.key: - settings[setting.key.upper()] = setting.value + settings[setting.key.upper()] = setting # Specify any "default" values which are not in the database - for key in cls.SETTINGS.keys(): - + settings_definition = settings_definition or cls.SETTINGS + for key, setting in settings_definition.items(): if key.upper() not in settings: - settings[key.upper()] = cls.get_setting_default(key) + settings[key.upper()] = cls( + key=key.upper(), + value=cls.get_setting_default(key, **filters), + **filters + ) - if exclude_hidden: - hidden = cls.SETTINGS[key].get('hidden', False) + # remove any hidden settings + if exclude_hidden and setting.get("hidden", False): + del settings[key.upper()] - if hidden: - # Remove hidden items - del settings[key.upper()] + # format settings values and remove protected + for key, setting in settings.items(): + validator = cls.get_setting_validator(key, **filters) - for key, value in settings.items(): - validator = cls.get_setting_validator(key) - - if cls.is_protected(key): - value = '***' + if cls.is_protected(key, **filters) and setting.value != "": + setting.value = '***' elif cls.validator_is_bool(validator): - value = InvenTree.helpers.str2bool(value) + setting.value = InvenTree.helpers.str2bool(setting.value) elif cls.validator_is_int(validator): try: - value = int(value) + setting.value = int(setting.value) except ValueError: - value = cls.get_setting_default(key) - - settings[key] = value + setting.value = cls.get_setting_default(key, **filters) return settings + @classmethod + def allValues(cls, *, exclude_hidden=False, settings_definition: Union[Dict[str, SettingsKeyType], None] = None, **kwargs): + """Return a dict of "all" defined global settings. + + This performs a single database lookup, + and then any settings which are not *in* the database + are assigned their default values + """ + all_settings = cls.all_settings(exclude_hidden=exclude_hidden, settings_definition=settings_definition, **kwargs) + + settings: Dict[str, Any] = {} + + for key, setting in all_settings.items(): + settings[key] = setting.value + + return settings + + @classmethod + def check_all_settings(cls, *, exclude_hidden=False, settings_definition: Union[Dict[str, SettingsKeyType], None] = None, **kwargs): + """Check if all required settings are set by definition. + + Returns: + is_valid: Are all required settings defined + missing_settings: List of all settings that are missing (empty if is_valid is 'True') + """ + all_settings = cls.all_settings(exclude_hidden=exclude_hidden, settings_definition=settings_definition, **kwargs) + + missing_settings: List[str] = [] + + for setting in all_settings.values(): + if setting.required: + value = setting.value or cls.get_setting_default(setting.key, **kwargs) + + if value == "": + missing_settings.append(setting.key.upper()) + + return len(missing_settings) == 0, missing_settings + @classmethod def get_setting_definition(cls, key, **kwargs): """Return the 'definition' of a particular settings value, as a dict object. @@ -829,7 +871,7 @@ class BaseInvenTreeSetting(models.Model): @classmethod def is_protected(cls, key, **kwargs): """Check if the setting value is protected.""" - setting = cls.get_setting_definition(key, **kwargs) + setting = cls.get_setting_definition(key, **cls.get_filters(**kwargs)) return setting.get('protected', False) @@ -838,6 +880,18 @@ class BaseInvenTreeSetting(models.Model): """Returns if setting is protected from rendering.""" return self.__class__.is_protected(self.key, **self.get_filters_for_instance()) + @classmethod + def is_required(cls, key, **kwargs): + """Check if this setting value is required.""" + setting = cls.get_setting_definition(key, **cls.get_filters(**kwargs)) + + return setting.get("required", False) + + @property + def required(self): + """Returns if setting is required.""" + return self.__class__.is_required(self.key, **self.get_filters_for_instance()) + def settings_group_options(): """Build up group tuple for settings based on your choices.""" diff --git a/InvenTree/common/tests.py b/InvenTree/common/tests.py index 4402a16933..740de2e419 100644 --- a/InvenTree/common/tests.py +++ b/InvenTree/common/tests.py @@ -5,6 +5,7 @@ import json import time from datetime import timedelta from http import HTTPStatus +from unittest import mock from django.contrib.auth import get_user_model from django.core.cache import cache @@ -105,6 +106,40 @@ class SettingsTest(InvenTreeTestCase): self.assertIn('PART_COPY_TESTS', result) self.assertIn('STOCK_OWNERSHIP_CONTROL', result) self.assertIn('SIGNUP_GROUP', result) + self.assertIn('SERVER_RESTART_REQUIRED', result) + + result = InvenTreeSetting.allValues(exclude_hidden=True) + self.assertNotIn('SERVER_RESTART_REQUIRED', result) + + def test_all_settings(self): + """Make sure that the all_settings function returns correctly""" + result = InvenTreeSetting.all_settings() + self.assertIn("INVENTREE_INSTANCE", result) + self.assertIsInstance(result['INVENTREE_INSTANCE'], InvenTreeSetting) + + @mock.patch("common.models.InvenTreeSetting.get_setting_definition") + def test_check_all_settings(self, get_setting_definition): + """Make sure that the check_all_settings function returns correctly""" + # define partial schema + settings_definition = { + "AB": { # key that's has not already been accessed + "required": True, + }, + "CD": { + "required": True, + "protected": True, + }, + "EF": {} + } + + def mocked(key, **kwargs): + return settings_definition.get(key, {}) + get_setting_definition.side_effect = mocked + + self.assertEqual(InvenTreeSetting.check_all_settings(settings_definition=settings_definition), (False, ["AB", "CD"])) + InvenTreeSetting.set_setting('AB', "hello", self.user) + InvenTreeSetting.set_setting('CD', "world", self.user) + self.assertEqual(InvenTreeSetting.check_all_settings(), (True, [])) def run_settings_check(self, key, setting): """Test that all settings are valid. diff --git a/InvenTree/plugin/base/integration/SettingsMixin.py b/InvenTree/plugin/base/integration/SettingsMixin.py index 5f14dc063d..42427e7337 100644 --- a/InvenTree/plugin/base/integration/SettingsMixin.py +++ b/InvenTree/plugin/base/integration/SettingsMixin.py @@ -84,3 +84,16 @@ class SettingsMixin: return PluginSetting.set_setting(key, value, user, plugin=plugin) + + def check_settings(self): + """Check if all required settings for this machine are defined. + + Warning: This method cannot be used in the __init__ function of the plugin + + Returns: + is_valid: Are all required settings defined + missing_settings: List of all settings that are missing (empty if is_valid is 'True') + """ + from plugin.models import PluginSetting + + return PluginSetting.check_all_settings(settings_definition=self.settings, plugin=self.plugin_config()) diff --git a/InvenTree/plugin/samples/integration/sample.py b/InvenTree/plugin/samples/integration/sample.py index 402159455a..010f56f81d 100644 --- a/InvenTree/plugin/samples/integration/sample.py +++ b/InvenTree/plugin/samples/integration/sample.py @@ -44,6 +44,7 @@ class SampleIntegrationPlugin(AppMixin, SettingsMixin, UrlsMixin, NavigationMixi 'API_KEY': { 'name': _('API Key'), 'description': _('Key required for accessing external API'), + 'required': True, }, 'NUMERICAL_SETTING': { 'name': _('Numerical'), diff --git a/InvenTree/plugin/samples/integration/test_sample.py b/InvenTree/plugin/samples/integration/test_sample.py index 1aad91928e..17d5e6446c 100644 --- a/InvenTree/plugin/samples/integration/test_sample.py +++ b/InvenTree/plugin/samples/integration/test_sample.py @@ -1,6 +1,7 @@ """Unit tests for action plugins.""" from InvenTree.unit_test import InvenTreeTestCase +from plugin import registry class SampleIntegrationPluginTests(InvenTreeTestCase): @@ -11,3 +12,13 @@ class SampleIntegrationPluginTests(InvenTreeTestCase): response = self.client.get('/plugin/sample/ho/he/') self.assertEqual(response.status_code, 200) self.assertEqual(response.content, b'Hi there testuser this works') + + def test_settings(self): + """Check the SettingsMixin.check_settings function.""" + plugin = registry.get_plugin('sample') + self.assertIsNotNone(plugin) + + # check settings + self.assertEqual(plugin.check_settings(), (False, ['API_KEY'])) + plugin.set_setting('API_KEY', "dsfiodsfjsfdjsf") + self.assertEqual(plugin.check_settings(), (True, [])) diff --git a/docs/docs/extend/plugins/settings.md b/docs/docs/extend/plugins/settings.md index 0dc43af878..178d5b1f92 100644 --- a/docs/docs/extend/plugins/settings.md +++ b/docs/docs/extend/plugins/settings.md @@ -35,6 +35,7 @@ class PluginWithSettings(SettingsMixin, InvenTreePlugin): 'name': 'API Key', 'description': 'Security key for accessing remote API', 'default': '', + 'required': True, }, 'API_URL': { 'name': _('API URL'), @@ -71,10 +72,11 @@ class PluginWithSettings(SettingsMixin, InvenTreePlugin): !!! tip "Hidden Settings" Plugin settings can be hidden from the settings page by marking them as 'hidden' -This mixin defines the helper functions `plugin.get_setting` and `plugin.set_setting` to access all plugin specific settings: +This mixin defines the helper functions `plugin.get_setting`, `plugin.set_setting` and `plugin.check_settings` to access all plugin specific settings. The `plugin.check_settings` function can be used to check if all settings marked with `'required': True` are defined and not equal to `''`. Note that these methods cannot be used in the `__init__` function of your plugin. ```python api_url = self.get_setting('API_URL', cache = False) self.set_setting('API_URL', 'some value') +is_valid, missing_settings = self.check_settings() ``` `get_setting` has an additional parameter which lets control if the value is taken directly from the database or from the cache. If it is left away `False` is the default that means the value is taken directly from the database. From 01f2aa5f746a36706e9a5e588c4242b7bf1996d5 Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 12 Jul 2023 16:29:08 +1000 Subject: [PATCH 103/103] Protected settings fix (#5229) * Hide protected setting in settings view * Implement custom serializer for setting value - Return '***' if the setting is protected * Implement to_internal_value * Stringify * Add protected setting to sample plugin * Unit tests for plugin settings API * Update unit test --- InvenTree/common/serializers.py | 31 +++++--- .../plugin/samples/integration/sample.py | 6 ++ InvenTree/plugin/test_api.py | 73 +++++++++++++++++++ .../templates/InvenTree/settings/setting.html | 4 +- 4 files changed, 103 insertions(+), 11 deletions(-) diff --git a/InvenTree/common/serializers.py b/InvenTree/common/serializers.py index 10616c251a..4cb6a5dd45 100644 --- a/InvenTree/common/serializers.py +++ b/InvenTree/common/serializers.py @@ -13,6 +13,25 @@ from InvenTree.serializers import (InvenTreeImageSerializerField, InvenTreeModelSerializer) +class SettingsValueField(serializers.Field): + """Custom serializer field for a settings value.""" + + def get_attribute(self, instance): + """Return the object instance, not the attribute value.""" + return instance + + def to_representation(self, instance): + """Return the value of the setting: + + - Protected settings are returned as '***' + """ + return '***' if instance.protected else str(instance.value) + + def to_internal_value(self, data): + """Return the internal value of the setting""" + return str(data) + + class SettingsSerializer(InvenTreeModelSerializer): """Base serializer for a settings object.""" @@ -30,6 +49,8 @@ class SettingsSerializer(InvenTreeModelSerializer): api_url = serializers.CharField(read_only=True) + value = SettingsValueField() + def get_choices(self, obj): """Returns the choices available for a given item.""" results = [] @@ -45,16 +66,6 @@ class SettingsSerializer(InvenTreeModelSerializer): return results - def get_value(self, obj): - """Make sure protected values are not returned.""" - # never return protected values - if obj.protected: - result = '***' - else: - result = obj.value - - return result - class GlobalSettingsSerializer(SettingsSerializer): """Serializer for the InvenTreeSetting model.""" diff --git a/InvenTree/plugin/samples/integration/sample.py b/InvenTree/plugin/samples/integration/sample.py index 010f56f81d..3b762b57d3 100644 --- a/InvenTree/plugin/samples/integration/sample.py +++ b/InvenTree/plugin/samples/integration/sample.py @@ -73,6 +73,12 @@ class SampleIntegrationPlugin(AppMixin, SettingsMixin, UrlsMixin, NavigationMixi 'description': 'Select a part object from the database', 'model': 'part.part', }, + 'PROTECTED_SETTING': { + 'name': 'Protected Setting', + 'description': 'A protected setting, hidden from the UI', + 'default': 'ABC-123', + 'protected': True, + } } NAVIGATION = [ diff --git a/InvenTree/plugin/test_api.py b/InvenTree/plugin/test_api.py index d181cb487d..c0f88d4658 100644 --- a/InvenTree/plugin/test_api.py +++ b/InvenTree/plugin/test_api.py @@ -193,3 +193,76 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): with self.assertRaises(NotFound) as exc: check_plugin(plugin_slug=None, plugin_pk='123') self.assertEqual(str(exc.exception.detail), "Plugin '123' not installed") + + def test_plugin_settings(self): + """Test plugin settings access via the API""" + + # Ensure we have superuser permissions + self.user.is_superuser = True + self.user.save() + + # Activate the 'sample' plugin via the API + cfg = PluginConfig.objects.filter(key='sample').first() + url = reverse('api-plugin-detail-activate', kwargs={'pk': cfg.pk}) + self.client.patch(url, {}, expected_code=200) + + # Valid plugin settings endpoints + valid_settings = [ + 'SELECT_PART', + 'API_KEY', + 'NUMERICAL_SETTING', + ] + + for key in valid_settings: + response = self.get( + reverse('api-plugin-setting-detail', kwargs={ + 'plugin': 'sample', + 'key': key + })) + + self.assertEqual(response.data['key'], key) + + # Test that an invalid setting key raises a 404 error + response = self.get( + reverse('api-plugin-setting-detail', kwargs={ + 'plugin': 'sample', + 'key': 'INVALID_SETTING' + }), + expected_code=404 + ) + + # Test that a protected setting returns hidden value + response = self.get( + reverse('api-plugin-setting-detail', kwargs={ + 'plugin': 'sample', + 'key': 'PROTECTED_SETTING' + }), + expected_code=200 + ) + + self.assertEqual(response.data['value'], '***') + + # Test that we can update a setting value + response = self.patch( + reverse('api-plugin-setting-detail', kwargs={ + 'plugin': 'sample', + 'key': 'NUMERICAL_SETTING' + }), + { + 'value': 456 + }, + expected_code=200 + ) + + self.assertEqual(response.data['value'], '456') + + # Retrieve the value again + response = self.get( + reverse('api-plugin-setting-detail', kwargs={ + 'plugin': 'sample', + 'key': 'NUMERICAL_SETTING' + }), + expected_code=200 + ) + + self.assertEqual(response.data['value'], '456') diff --git a/InvenTree/templates/InvenTree/settings/setting.html b/InvenTree/templates/InvenTree/settings/setting.html index 13b0ea9c5e..1c3629d2ff 100644 --- a/InvenTree/templates/InvenTree/settings/setting.html +++ b/InvenTree/templates/InvenTree/settings/setting.html @@ -22,7 +22,9 @@ {{ setting.description }}
    - {% if setting.is_bool %} + {% if setting.protected %} + *** + {% elif setting.is_bool %} {% include "InvenTree/settings/setting_boolean.html" %} {% else %}